Version 2.18.0-152.0.dev

Merge commit '31f7a48baf95fe90dd74cdba041fd1697a3d5fe3' into 'dev'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 46f2467..6195c9e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -93,6 +93,16 @@
   It can still be created with the `--legacy-packages-file` flag.
 * `dart pub outdated` now shows which of your dependencies are discontinued.
 
+## 2.17.2 - 2022-06-01
+
+This is a patch release that fixes:
+
+- a Dart VM compiler crash (issue [#100375][]).
+- code completion when writing method overrides (issue [#49086][]).
+
+[#100375]: https://github.com/flutter/flutter/issues/100375
+[#49086]: https://github.com/dart-lang/sdk/issues/49086
+
 ## 2.17.1 - 2022-05-18
 
 This is a patch release that fixes:
diff --git a/benchmarks/IsolateBaseOverhead/dart/IsolateBaseOverhead.dart b/benchmarks/IsolateBaseOverhead/dart/IsolateBaseOverhead.dart
new file mode 100644
index 0000000..c9b8d24
--- /dev/null
+++ b/benchmarks/IsolateBaseOverhead/dart/IsolateBaseOverhead.dart
@@ -0,0 +1,56 @@
+// Copyright (c) 2022, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'dart:async';
+import 'dart:io';
+import 'dart:isolate';
+
+const int count = 10000;
+
+// The benchmark will spawn a long chain of isolates, keeping all of them
+// alive until the last one which measures Rss at that point (i.e. when all
+// isolates are alive), thereby getting a good estimate of memory-overhead per
+// isolate.
+void main() async {
+  final onDone = ReceivePort();
+  final lastIsolatePort = ReceivePort();
+  final startRss = ProcessInfo.currentRss;
+  final startUs = DateTime.now().microsecondsSinceEpoch;
+  await Isolate.spawn(worker, WorkerInfo(count, lastIsolatePort.sendPort),
+      onExit: onDone.sendPort);
+  final result = await lastIsolatePort.first as List;
+  final lastIsolateRss = result[0] as int;
+  final lastIsolateUs = result[1] as int;
+  await onDone.first;
+  final doneUs = DateTime.now().microsecondsSinceEpoch;
+
+  final averageMemoryUsageInKB = (lastIsolateRss - startRss) / count / 1024;
+  final averageStartLatencyInUs = (lastIsolateUs - startUs) / count;
+  final averageFinishLatencyInUs = (doneUs - startUs) / count;
+
+  print('IsolateBaseOverhead.Rss(MemoryUse): $averageMemoryUsageInKB');
+  print(
+      'IsolateBaseOverhead.StartLatency(Latency): $averageStartLatencyInUs us.');
+  print(
+      'IsolateBaseOverhead.FinishLatency(Latency): $averageFinishLatencyInUs us.');
+}
+
+class WorkerInfo {
+  final int id;
+  final SendPort result;
+
+  WorkerInfo(this.id, this.result);
+}
+
+Future worker(WorkerInfo workerInfo) async {
+  if (workerInfo.id == 1) {
+    workerInfo.result
+        .send([ProcessInfo.currentRss, DateTime.now().microsecondsSinceEpoch]);
+    return;
+  }
+  final onExit = ReceivePort();
+  await Isolate.spawn(worker, WorkerInfo(workerInfo.id - 1, workerInfo.result),
+      onExit: onExit.sendPort);
+  await onExit.first;
+}
diff --git a/benchmarks/IsolateBaseOverhead/dart2/IsolateBaseOverhead.dart b/benchmarks/IsolateBaseOverhead/dart2/IsolateBaseOverhead.dart
new file mode 100644
index 0000000..c9b8d24
--- /dev/null
+++ b/benchmarks/IsolateBaseOverhead/dart2/IsolateBaseOverhead.dart
@@ -0,0 +1,56 @@
+// Copyright (c) 2022, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'dart:async';
+import 'dart:io';
+import 'dart:isolate';
+
+const int count = 10000;
+
+// The benchmark will spawn a long chain of isolates, keeping all of them
+// alive until the last one which measures Rss at that point (i.e. when all
+// isolates are alive), thereby getting a good estimate of memory-overhead per
+// isolate.
+void main() async {
+  final onDone = ReceivePort();
+  final lastIsolatePort = ReceivePort();
+  final startRss = ProcessInfo.currentRss;
+  final startUs = DateTime.now().microsecondsSinceEpoch;
+  await Isolate.spawn(worker, WorkerInfo(count, lastIsolatePort.sendPort),
+      onExit: onDone.sendPort);
+  final result = await lastIsolatePort.first as List;
+  final lastIsolateRss = result[0] as int;
+  final lastIsolateUs = result[1] as int;
+  await onDone.first;
+  final doneUs = DateTime.now().microsecondsSinceEpoch;
+
+  final averageMemoryUsageInKB = (lastIsolateRss - startRss) / count / 1024;
+  final averageStartLatencyInUs = (lastIsolateUs - startUs) / count;
+  final averageFinishLatencyInUs = (doneUs - startUs) / count;
+
+  print('IsolateBaseOverhead.Rss(MemoryUse): $averageMemoryUsageInKB');
+  print(
+      'IsolateBaseOverhead.StartLatency(Latency): $averageStartLatencyInUs us.');
+  print(
+      'IsolateBaseOverhead.FinishLatency(Latency): $averageFinishLatencyInUs us.');
+}
+
+class WorkerInfo {
+  final int id;
+  final SendPort result;
+
+  WorkerInfo(this.id, this.result);
+}
+
+Future worker(WorkerInfo workerInfo) async {
+  if (workerInfo.id == 1) {
+    workerInfo.result
+        .send([ProcessInfo.currentRss, DateTime.now().microsecondsSinceEpoch]);
+    return;
+  }
+  final onExit = ReceivePort();
+  await Isolate.spawn(worker, WorkerInfo(workerInfo.id - 1, workerInfo.result),
+      onExit: onExit.sendPort);
+  await onExit.first;
+}
diff --git a/pkg/.gitignore b/pkg/.gitignore
index b95fe80..46ccecf 100644
--- a/pkg/.gitignore
+++ b/pkg/.gitignore
@@ -10,4 +10,3 @@
 .dart_tool
 .idea/
 .packages
-analysis_server/language_model/
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index c2fa2c8..082f048 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -12,6 +12,7 @@
 import 'package:analysis_server/protocol/protocol_generated.dart'
     hide AnalysisOptions;
 import 'package:analysis_server/src/analysis_server_abstract.dart';
+import 'package:analysis_server/src/analytics/analytics_manager.dart';
 import 'package:analysis_server/src/channel/channel.dart';
 import 'package:analysis_server/src/computer/computer_highlights.dart';
 import 'package:analysis_server/src/context_manager.dart';
@@ -326,6 +327,7 @@
     ResourceProvider baseResourceProvider,
     AnalysisServerOptions options,
     DartSdkManager sdkManager,
+    AnalyticsManager analyticsManager,
     CrashReportingAttachmentsBuilder crashReportingAttachmentsBuilder,
     InstrumentationService instrumentationService, {
     http.Client? httpClient,
@@ -339,6 +341,7 @@
           options,
           sdkManager,
           diagnosticServer,
+          analyticsManager,
           crashReportingAttachmentsBuilder,
           baseResourceProvider,
           instrumentationService,
diff --git a/pkg/analysis_server/lib/src/analysis_server_abstract.dart b/pkg/analysis_server/lib/src/analysis_server_abstract.dart
index 45f1ca8..05bdf23 100644
--- a/pkg/analysis_server/lib/src/analysis_server_abstract.dart
+++ b/pkg/analysis_server/lib/src/analysis_server_abstract.dart
@@ -7,7 +7,6 @@
 
 import 'package:analysis_server/src/analysis_server.dart';
 import 'package:analysis_server/src/analytics/analytics_manager.dart';
-import 'package:analysis_server/src/analytics/noop_analytics_manager.dart';
 import 'package:analysis_server/src/collections.dart';
 import 'package:analysis_server/src/context_manager.dart';
 import 'package:analysis_server/src/domains/completion/available_suggestions.dart';
@@ -156,6 +155,7 @@
     this.options,
     this.sdkManager,
     this.diagnosticServer,
+    this.analyticsManager,
     this.crashReportingAttachmentsBuilder,
     ResourceProvider baseResourceProvider,
     this.instrumentationService,
@@ -164,8 +164,7 @@
     this.notificationManager, {
     this.requestStatistics,
     bool enableBazelWatcher = false,
-  })  : analyticsManager = NoopAnalyticsManager(),
-        resourceProvider = OverlayResourceProvider(baseResourceProvider),
+  })  : resourceProvider = OverlayResourceProvider(baseResourceProvider),
         pubApi = PubApi(instrumentationService, httpClient,
             Platform.environment['PUB_HOSTED_URL']) {
     // We can only spawn processes (eg. to run pub commands) when backed by
diff --git a/pkg/analysis_server/lib/src/lsp/lsp_analysis_server.dart b/pkg/analysis_server/lib/src/lsp/lsp_analysis_server.dart
index 7164122..28a2360 100644
--- a/pkg/analysis_server/lib/src/lsp/lsp_analysis_server.dart
+++ b/pkg/analysis_server/lib/src/lsp/lsp_analysis_server.dart
@@ -7,6 +7,7 @@
 import 'package:analysis_server/lsp_protocol/protocol.dart';
 import 'package:analysis_server/src/analysis_server.dart';
 import 'package:analysis_server/src/analysis_server_abstract.dart';
+import 'package:analysis_server/src/analytics/analytics_manager.dart';
 import 'package:analysis_server/src/computer/computer_closingLabels.dart';
 import 'package:analysis_server/src/computer/computer_outline.dart';
 import 'package:analysis_server/src/context_manager.dart';
@@ -126,6 +127,7 @@
     ResourceProvider baseResourceProvider,
     AnalysisServerOptions options,
     DartSdkManager sdkManager,
+    AnalyticsManager analyticsManager,
     CrashReportingAttachmentsBuilder crashReportingAttachmentsBuilder,
     InstrumentationService instrumentationService, {
     http.Client? httpClient,
@@ -137,6 +139,7 @@
           options,
           sdkManager,
           diagnosticServer,
+          analyticsManager,
           crashReportingAttachmentsBuilder,
           baseResourceProvider,
           instrumentationService,
diff --git a/pkg/analysis_server/lib/src/lsp/lsp_socket_server.dart b/pkg/analysis_server/lib/src/lsp/lsp_socket_server.dart
index 34ca0ab..45e8ba7 100644
--- a/pkg/analysis_server/lib/src/lsp/lsp_socket_server.dart
+++ b/pkg/analysis_server/lib/src/lsp/lsp_socket_server.dart
@@ -4,6 +4,7 @@
 
 import 'package:analysis_server/lsp_protocol/protocol.dart';
 import 'package:analysis_server/src/analysis_server.dart';
+import 'package:analysis_server/src/analytics/analytics_manager.dart';
 import 'package:analysis_server/src/lsp/channel/lsp_channel.dart';
 import 'package:analysis_server/src/lsp/constants.dart';
 import 'package:analysis_server/src/lsp/lsp_analysis_server.dart';
@@ -29,13 +30,19 @@
 
   /// The function used to create a new SDK using the default SDK.
   final DartSdkManager sdkManager;
+
   @override
   final DiagnosticServer diagnosticServer;
+
+  /// The object through which analytics are to be sent.
+  final AnalyticsManager analyticsManager;
+
   final InstrumentationService instrumentationService;
 
   LspSocketServer(
     this.analysisServerOptions,
     this.diagnosticServer,
+    this.analyticsManager,
     this.sdkManager,
     this.instrumentationService,
   );
@@ -71,6 +78,7 @@
       resourceProvider,
       analysisServerOptions,
       sdkManager,
+      analyticsManager,
       CrashReportingAttachmentsBuilder.empty,
       instrumentationService,
       diagnosticServer: diagnosticServer,
diff --git a/pkg/analysis_server/lib/src/server/driver.dart b/pkg/analysis_server/lib/src/server/driver.dart
index 5f05388..7eca97f 100644
--- a/pkg/analysis_server/lib/src/server/driver.dart
+++ b/pkg/analysis_server/lib/src/server/driver.dart
@@ -10,6 +10,8 @@
 import 'package:analysis_server/protocol/protocol_constants.dart'
     show PROTOCOL_VERSION;
 import 'package:analysis_server/src/analysis_server.dart';
+import 'package:analysis_server/src/analytics/analytics_manager.dart';
+import 'package:analysis_server/src/analytics/noop_analytics_manager.dart';
 import 'package:analysis_server/src/lsp/lsp_socket_server.dart';
 import 'package:analysis_server/src/server/crash_reporting.dart';
 import 'package:analysis_server/src/server/crash_reporting_attachments.dart';
@@ -140,6 +142,7 @@
     SendPort? sendPort,
     bool defaultToLsp = false,
   }) {
+    var sessionStartTime = DateTime.now();
     var parser = createArgParser(defaultToLsp: defaultToLsp);
     var results = parser.parse(arguments);
 
@@ -147,7 +150,6 @@
     analysisServerOptions.newAnalysisDriverLog =
         (results[ANALYSIS_DRIVER_LOG] ?? results[ANALYSIS_DRIVER_LOG_ALIAS])
             as String?;
-    analysisServerOptions.clientId = results[CLIENT_ID] as String?;
     if (results.wasParsed(USE_LSP)) {
       analysisServerOptions.useLanguageServerProtocol =
           results[USE_LSP] as bool;
@@ -157,11 +159,11 @@
     }
     // For clients that don't supply their own identifier, use a default based
     // on whether the server will run in LSP mode or not.
-    analysisServerOptions.clientId ??=
-        analysisServerOptions.useLanguageServerProtocol
+    var clientId = (results[CLIENT_ID] as String?) ??
+        (analysisServerOptions.useLanguageServerProtocol
             ? 'unknown.client.lsp'
-            : 'unknown.client.classic';
-
+            : 'unknown.client.classic');
+    analysisServerOptions.clientId = clientId;
     analysisServerOptions.clientVersion = results[CLIENT_VERSION] as String?;
     analysisServerOptions.cacheFolder = results[CACHE_FOLDER] as String?;
     analysisServerOptions.packagesFile = results[PACKAGES_FILE] as String?;
@@ -194,6 +196,7 @@
     if (analysisServerOptions.clientVersion != null) {
       analytics.setSessionValue('cd1', analysisServerOptions.clientVersion);
     }
+    var analyticsManager = NoopAnalyticsManager();
 
     bool shouldSendCallback() {
       // Check sdkConfig to optionally force reporting on.
@@ -241,10 +244,19 @@
     final dartSdkManager = DartSdkManager(defaultSdkPath);
 
     // TODO(brianwilkerson) It would be nice to avoid creating an SDK that
-    // cannot be re-used, but the SDK is needed to create a package map provider
+    // can't be re-used, but the SDK is needed to create a package map provider
     // in the case where we need to run `pub` in order to get the package map.
     var defaultSdk = _createDefaultSdk(defaultSdkPath);
     //
+    // Record the start of the session.
+    //
+    analyticsManager.startUp(
+        time: sessionStartTime,
+        arguments: _getArgumentsForAnalytics(results),
+        clientId: clientId,
+        clientVersion: analysisServerOptions.clientVersion,
+        sdkVersion: defaultSdk.sdkVersion);
+    //
     // Initialize the instrumentation service.
     //
     var logFilePath = (results[PROTOCOL_TRAFFIC_LOG] ??
@@ -296,14 +308,21 @@
         throw UnimplementedError(
             'Isolate usage not implemented for LspAnalysisServer');
       }
-      startLspServer(results, analysisServerOptions, dartSdkManager,
-          instrumentationService, diagnosticServerPort, errorNotifier);
+      startLspServer(
+          results,
+          analysisServerOptions,
+          dartSdkManager,
+          analyticsManager,
+          instrumentationService,
+          diagnosticServerPort,
+          errorNotifier);
     } else {
       startAnalysisServer(
           results,
           analysisServerOptions,
           parser,
           dartSdkManager,
+          analyticsManager,
           crashReportingAttachmentsBuilder,
           instrumentationService,
           RequestStatisticsHelper(),
@@ -319,6 +338,7 @@
     AnalysisServerOptions analysisServerOptions,
     ArgParser parser,
     DartSdkManager dartSdkManager,
+    AnalyticsManager analyticsManager,
     CrashReportingAttachmentsBuilder crashReportingAttachmentsBuilder,
     InstrumentationService instrumentationService,
     RequestStatisticsHelper requestStatistics,
@@ -358,6 +378,7 @@
         instrumentationService,
         requestStatistics,
         diagnosticServer,
+        analyticsManager,
         detachableFileSystemManager);
     httpServer = HttpAnalysisServer(socketServer);
 
@@ -439,6 +460,7 @@
     ArgResults args,
     AnalysisServerOptions analysisServerOptions,
     DartSdkManager dartSdkManager,
+    AnalyticsManager analyticsManager,
     InstrumentationService instrumentationService,
     int? diagnosticServerPort,
     ErrorNotifier errorNotifier,
@@ -454,6 +476,7 @@
     final socketServer = LspSocketServer(
       analysisServerOptions,
       diagnosticServer,
+      analyticsManager,
       dartSdkManager,
       instrumentationService,
     );
@@ -518,6 +541,52 @@
     return '$millisecondsSinceEpoch$random';
   }
 
+  /// Return a list of the known command-line arguments that were parsed when
+  /// creating the given [results]. We return only the names of the arguments,
+  /// not the values of the arguments, in order to prevent the collection of any
+  /// PII.
+  List<String> _getArgumentsForAnalytics(ArgResults results) {
+    // The arguments that are literal strings are deprecated and no longer read
+    // from, but we still want to know if clients are using them.
+    var knownArguments = [
+      ANALYTICS_FLAG,
+      CACHE_FOLDER,
+      CLIENT_ID,
+      CLIENT_VERSION,
+      'completion-model',
+      'dartpad',
+      DART_SDK,
+      DART_SDK_ALIAS,
+      DIAGNOSTIC_PORT,
+      DIAGNOSTIC_PORT_ALIAS,
+      DISABLE_SERVER_EXCEPTION_HANDLING,
+      DISABLE_SERVER_FEATURE_COMPLETION,
+      DISABLE_SERVER_FEATURE_SEARCH,
+      'enable-completion-model',
+      'enable-experiment',
+      'enable-instrumentation',
+      'file-read-mode',
+      HELP_OPTION,
+      'ignore-unrecognized-flags',
+      INTERNAL_PRINT_TO_CONSOLE,
+      PACKAGES_FILE,
+      'preview-dart-2',
+      PROTOCOL_TRAFFIC_LOG,
+      PROTOCOL_TRAFFIC_LOG_ALIAS,
+      REPORT_PROTOCOL_VERSION,
+      SERVER_PROTOCOL,
+      SUPPRESS_ANALYTICS_FLAG,
+      TRAIN_USING,
+      'useAnalysisHighlight2',
+      USE_LSP,
+      'use-new-relevance',
+      'use-fasta-parser',
+    ];
+    return knownArguments
+        .where((argument) => results.wasParsed(argument))
+        .toList();
+  }
+
   String _getSdkPath(ArgResults args) {
     String? sdkPath;
 
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/use_curly_braces.dart b/pkg/analysis_server/lib/src/services/correction/dart/use_curly_braces.dart
index ac592ae..41a495d 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/use_curly_braces.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/use_curly_braces.dart
@@ -13,10 +13,20 @@
 
 class UseCurlyBraces extends CorrectionProducer {
   @override
-  AssistKind get assistKind => DartAssistKind.USE_CURLY_BRACES;
+  bool canBeAppliedInBulk;
+
+  UseCurlyBraces() : canBeAppliedInBulk = true;
+
+  /// Create an instance that is prevented from being applied automatically in
+  /// bulk.
+  ///
+  /// This is used in places where "Use Curly Braces" is a valid manual fix, but
+  /// not clearly the only/correct fix to apply automatically, such as the
+  /// `always_put_control_body_on_new_line` lint.
+  UseCurlyBraces.nonBulk() : canBeAppliedInBulk = false;
 
   @override
-  bool get canBeAppliedInBulk => true;
+  AssistKind get assistKind => DartAssistKind.USE_CURLY_BRACES;
 
   @override
   bool get canBeAppliedToFile => true;
diff --git a/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml b/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
index 5ceef0d..18b6ea6 100644
--- a/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
+++ b/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
@@ -8,25 +8,25 @@
 #   fixes.
 # - 'hasFix', if the diagnostic has one or more fixes.
 # - 'noFix', if no fix seems appropriate for the diagnostic. There should be a
-#   second key named `reason` whose value is text explaining why there is no
+#   second key named `notes` whose value is text explaining why there is no
 #   appropriate fix.
-# - 'needsFix', if the diagnostic needs a fix, with a possible issue link. If an
-#   issue has been opened, there should be a second key named `issue` whose
-#   value is the URL of the issue.
+# - 'needsFix', if the diagnostic needs a fix. If an issue has been opened,
+#   there should be a second key named `issue` whose value is the URL of the
+#   issue.
 #
 # The other keys in the second-level map are all optional, and include
 # - 'since', whose value is the version number of the SDK in which the
 #   diagnostic was added.
-# - 'notes', whose value is text, typically describing why we think a fix for
-#   the diagnostic is not appropriate.
+# - 'notes', whose value is text, typically describing what fix should be
+#   created or why we think a fix for the diagnostic is not appropriate.
 # - 'issue', whose value is a list of the URLs of GitHub issues for the fixes
 #   that should be added. Ideally every issue marked as 'needFix' would have an
 #   issue created for it.
 #
 # Stats:
-# - 759 "needsEvaluation"
-# -  32 "needsFix"
-# - 265 "hasFix"
+# - 760 "needsEvaluation"
+# -  28 "needsFix"
+# - 273 "hasFix"
 # -  41 "noFix"
 
 AnalysisOptionsErrorCode.INCLUDED_FILE_PARSE_ERROR:
@@ -36,15 +36,24 @@
 AnalysisOptionsErrorCode.PARSE_ERROR:
   status: noFix
   notes: |-
-    There isn't enough information to be able to provide a fix.
+    Because of the way the YAML parser works, there isn't enough information to
+    be able to provide a fix.
 AnalysisOptionsHintCode.PREVIEW_DART_2_SETTING_DEPRECATED:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    Provide a fix to remove the deprecated setting.
 AnalysisOptionsHintCode.STRONG_MODE_SETTING_DEPRECATED:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    Provide a fix to remove the deprecated setting.
 AnalysisOptionsHintCode.SUPER_MIXINS_SETTING_DEPRECATED:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    Provide a fix to remove the deprecated setting.
 AnalysisOptionsWarningCode.ANALYSIS_OPTION_DEPRECATED:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    Provide a fix to remove the deprecated setting.
 AnalysisOptionsWarningCode.INCLUDE_FILE_NOT_FOUND:
   status: noFix
   notes: |-
@@ -52,7 +61,8 @@
     that could be included.
     
     We could potentially have a fix to create the referenced file that currently
-    doesn't exist.
+    doesn't exist, but that would only be useful if the missing file is in the
+    same repository as the including file.
 AnalysisOptionsWarningCode.INCLUDED_FILE_WARNING:
   status: noFix
   notes: |-
@@ -65,7 +75,9 @@
 AnalysisOptionsWarningCode.INVALID_SECTION_FORMAT:
   status: needsEvaluation
 AnalysisOptionsWarningCode.SPEC_MODE_REMOVED:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    Provide a fix to remove the deprecated setting.
 AnalysisOptionsWarningCode.UNRECOGNIZED_ERROR_CODE:
   status: needsEvaluation
 AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUE:
@@ -77,27 +89,56 @@
 AnalysisOptionsWarningCode.UNSUPPORTED_VALUE:
   status: needsEvaluation
 CompileTimeErrorCode.ABSTRACT_FIELD_CONSTRUCTOR_INITIALIZER:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    1. Remove the initializer.
+    2. Remove the `abstract` keyword.
 CompileTimeErrorCode.ABSTRACT_FIELD_INITIALIZER:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    1. Remove the initializer.
+    2. Remove the `abstract` keyword.
 CompileTimeErrorCode.ABSTRACT_SUPER_MEMBER_REFERENCE:
-  status: needsEvaluation
+  status: noFix
+  notes: |-
+    The only fix we could automate is to remove the call to super, which is
+    unlikely to be the right solution.
 CompileTimeErrorCode.AMBIGUOUS_EXPORT:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    For each exported name, add a fix to hide the name.
 CompileTimeErrorCode.AMBIGUOUS_EXTENSION_MEMBER_ACCESS:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    For each extension, add a fix to add an extension override.
 CompileTimeErrorCode.AMBIGUOUS_IMPORT:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    1. For each imported name, add a fix to hide the name.
+    2. For each imported name, add a fix to add a prefix. We wouldn't be able to
+       add the prefix everywhere, but could add it wherever the name was already
+       unambiguous.
 CompileTimeErrorCode.AMBIGUOUS_SET_OR_MAP_LITERAL_BOTH:
-  status: needsEvaluation
+  status: noFix
+  notes: |-
+    We could potentially have a pair of fixes: one to remove the elements that
+    force it to be a set and one to remove the map related elements. I doubt
+    that either is the right solution.
 CompileTimeErrorCode.AMBIGUOUS_SET_OR_MAP_LITERAL_EITHER:
-  status: needsEvaluation
+  status: noFix
+  notes: |-
+    We don't have enough information to add type arguments for the user.
 CompileTimeErrorCode.ARGUMENT_TYPE_NOT_ASSIGNABLE:
   status: hasFix
 CompileTimeErrorCode.ASSERT_IN_REDIRECTING_CONSTRUCTOR:
-  status: needsEvaluation
+  status: needsFix
+  notes: |-
+    Remove the assert.
 CompileTimeErrorCode.ASSIGNMENT_TO_CONST:
-  status: needsEvaluation
+  status: noFix
+  notes: |-
+    Making the field non-const doesn't seem to be a good choice, but it is a
+    possibility.
 CompileTimeErrorCode.ASSIGNMENT_TO_FINAL:
   status: hasFix
 CompileTimeErrorCode.ASSIGNMENT_TO_FINAL_LOCAL:
@@ -1487,7 +1528,7 @@
 LintCode.always_declare_return_types:
   status: hasFix
 LintCode.always_put_control_body_on_new_line:
-  status: needsEvaluation
+  status: hasFix
 LintCode.always_put_required_named_parameters_first:
   status: needsEvaluation
 LintCode.always_require_non_null_named_parameters:
diff --git a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
index 69727ef..cc2890e 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -353,6 +353,9 @@
     LintNames.always_declare_return_types: [
       AddReturnType.new,
     ],
+    LintNames.always_put_control_body_on_new_line: [
+      UseCurlyBraces.nonBulk,
+    ],
     LintNames.always_require_non_null_named_parameters: [
       AddRequired.new,
     ],
diff --git a/pkg/analysis_server/lib/src/services/linter/lint_names.dart b/pkg/analysis_server/lib/src/services/linter/lint_names.dart
index 996a7c2..2ca0e71 100644
--- a/pkg/analysis_server/lib/src/services/linter/lint_names.dart
+++ b/pkg/analysis_server/lib/src/services/linter/lint_names.dart
@@ -6,6 +6,8 @@
 class LintNames {
   static const String always_declare_return_types =
       'always_declare_return_types';
+  static const String always_put_control_body_on_new_line =
+      'always_put_control_body_on_new_line';
   static const String always_require_non_null_named_parameters =
       'always_require_non_null_named_parameters';
   static const String always_specify_types = 'always_specify_types';
diff --git a/pkg/analysis_server/lib/src/socket_server.dart b/pkg/analysis_server/lib/src/socket_server.dart
index 8e938ef..e30600c 100644
--- a/pkg/analysis_server/lib/src/socket_server.dart
+++ b/pkg/analysis_server/lib/src/socket_server.dart
@@ -6,6 +6,7 @@
 import 'package:analysis_server/protocol/protocol_generated.dart';
 import 'package:analysis_server/src/analysis_server.dart';
 import 'package:analysis_server/src/analysis_server_abstract.dart';
+import 'package:analysis_server/src/analytics/analytics_manager.dart';
 import 'package:analysis_server/src/channel/channel.dart';
 import 'package:analysis_server/src/server/crash_reporting_attachments.dart';
 import 'package:analysis_server/src/server/detachable_filesystem_manager.dart';
@@ -35,10 +36,17 @@
   final DartSdkManager sdkManager;
 
   final CrashReportingAttachmentsBuilder crashReportingAttachmentsBuilder;
+
   final InstrumentationService instrumentationService;
+
   final RequestStatisticsHelper? requestStatistics;
+
   @override
   final DiagnosticServer? diagnosticServer;
+
+  /// The object through which analytics are to be sent.
+  final AnalyticsManager analyticsManager;
+
   final DetachableFileSystemManager? detachableFileSystemManager;
 
   /// The analysis server that was created when a client established a
@@ -53,6 +61,7 @@
       this.instrumentationService,
       this.requestStatistics,
       this.diagnosticServer,
+      this.analyticsManager,
       this.detachableFileSystemManager);
 
   /// Create an analysis server which will communicate with the client using the
@@ -76,6 +85,7 @@
       resourceProvider,
       analysisServerOptions,
       sdkManager,
+      analyticsManager,
       crashReportingAttachmentsBuilder,
       instrumentationService,
       requestStatistics: requestStatistics,
diff --git a/pkg/analysis_server/native/cJSON b/pkg/analysis_server/native/cJSON
deleted file mode 160000
index b45f48e..0000000
--- a/pkg/analysis_server/native/cJSON
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b45f48e600671feade0b6bd65d1c69de7899f2be
diff --git a/pkg/analysis_server/test/analysis_server_base.dart b/pkg/analysis_server/test/analysis_server_base.dart
index 9406033f..411aa3f 100644
--- a/pkg/analysis_server/test/analysis_server_base.dart
+++ b/pkg/analysis_server/test/analysis_server_base.dart
@@ -5,6 +5,7 @@
 import 'dart:async';
 
 import 'package:analysis_server/src/analysis_server.dart';
+import 'package:analysis_server/src/analytics/noop_analytics_manager.dart';
 import 'package:analysis_server/src/protocol_server.dart';
 import 'package:analysis_server/src/server/crash_reporting_attachments.dart';
 import 'package:analysis_server/src/utilities/mocks.dart';
@@ -173,6 +174,7 @@
       resourceProvider,
       AnalysisServerOptions(),
       DartSdkManager(sdkRoot.path),
+      NoopAnalyticsManager(),
       CrashReportingAttachmentsBuilder.empty,
       InstrumentationService.NULL_SERVICE,
     );
diff --git a/pkg/analysis_server/test/analysis_server_test.dart b/pkg/analysis_server/test/analysis_server_test.dart
index 9a57c30..d3abf86 100644
--- a/pkg/analysis_server/test/analysis_server_test.dart
+++ b/pkg/analysis_server/test/analysis_server_test.dart
@@ -6,6 +6,7 @@
 import 'package:analysis_server/protocol/protocol_constants.dart';
 import 'package:analysis_server/protocol/protocol_generated.dart';
 import 'package:analysis_server/src/analysis_server.dart';
+import 'package:analysis_server/src/analytics/noop_analytics_manager.dart';
 import 'package:analysis_server/src/server/crash_reporting_attachments.dart';
 import 'package:analysis_server/src/utilities/mocks.dart';
 import 'package:analyzer/file_system/file_system.dart';
@@ -98,6 +99,7 @@
         resourceProvider,
         AnalysisServerOptions(),
         DartSdkManager(sdkRoot.path),
+        NoopAnalyticsManager(),
         CrashReportingAttachmentsBuilder.empty,
         InstrumentationService.NULL_SERVICE);
   }
diff --git a/pkg/analysis_server/test/lsp/server_abstract.dart b/pkg/analysis_server/test/lsp/server_abstract.dart
index ee7a836..3bcfbc1 100644
--- a/pkg/analysis_server/test/lsp/server_abstract.dart
+++ b/pkg/analysis_server/test/lsp/server_abstract.dart
@@ -6,6 +6,7 @@
 
 import 'package:analysis_server/lsp_protocol/protocol.dart';
 import 'package:analysis_server/src/analysis_server.dart';
+import 'package:analysis_server/src/analytics/noop_analytics_manager.dart';
 import 'package:analysis_server/src/lsp/constants.dart';
 import 'package:analysis_server/src/lsp/json_parsing.dart';
 import 'package:analysis_server/src/lsp/lsp_analysis_server.dart';
@@ -196,6 +197,7 @@
         resourceProvider,
         serverOptions,
         DartSdkManager(sdkRoot.path),
+        NoopAnalyticsManager(),
         CrashReportingAttachmentsBuilder.empty,
         InstrumentationService.NULL_SERVICE,
         httpClient: httpClient,
diff --git a/pkg/analysis_server/test/socket_server_test.dart b/pkg/analysis_server/test/socket_server_test.dart
index 2e3ae08..cc4f39a 100644
--- a/pkg/analysis_server/test/socket_server_test.dart
+++ b/pkg/analysis_server/test/socket_server_test.dart
@@ -6,6 +6,7 @@
 import 'package:analysis_server/protocol/protocol_constants.dart';
 import 'package:analysis_server/protocol/protocol_generated.dart';
 import 'package:analysis_server/src/analysis_server.dart';
+import 'package:analysis_server/src/analytics/noop_analytics_manager.dart';
 import 'package:analysis_server/src/server/crash_reporting_attachments.dart';
 import 'package:analysis_server/src/server/error_notifier.dart';
 import 'package:analysis_server/src/socket_server.dart';
@@ -71,6 +72,7 @@
         errorNotifier,
         null,
         null,
+        NoopAnalyticsManager(),
         null);
 
     server.createAnalysisServer(channel);
diff --git a/pkg/analysis_server/test/src/services/correction/fix/fix_in_file_test.dart b/pkg/analysis_server/test/src/services/correction/fix/fix_in_file_test.dart
index 7a9aca3..da800f0 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/fix_in_file_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/fix_in_file_test.dart
@@ -118,27 +118,10 @@
 
 class VerificationTests {
   static void defineTests() {
-    verify_fixInFileFixesHaveBulkFixTests();
     verify_fixInFileFixKindsHaveMultiFixes();
     verify_fixInFileFixesHaveUniqueBulkFixes();
   }
 
-  static void verify_fixInFileFixesHaveBulkFixTests() {
-    group('VerificationTests | fixInFileFixesHaveBulkFixTests |', () {
-      for (var fixEntry in FixProcessor.lintProducerMap.entries) {
-        var errorCode = fixEntry.key;
-        for (var generator in fixEntry.value) {
-          var producer = generator();
-          if (producer.canBeAppliedToFile) {
-            test('$errorCode |', () {
-              expect(producer.canBeAppliedInBulk, isTrue);
-            });
-          }
-        }
-      }
-    });
-  }
-
   static void verify_fixInFileFixesHaveUniqueBulkFixes() {
     group('VerificationTests | fixInFileFixesHaveUniqueBulkFixes | lint |', () {
       for (var fixEntry in FixProcessor.lintProducerMap.entries) {
@@ -152,7 +135,6 @@
               if (multiFixKind != null) {
                 expect(multiFixKind, isNot(equals(fixKind)));
               }
-              expect(producer.canBeAppliedInBulk, isTrue);
             });
           }
         }
diff --git a/pkg/analysis_server/test/src/services/correction/fix/use_curly_braces_test.dart b/pkg/analysis_server/test/src/services/correction/fix/use_curly_braces_test.dart
index 96931b9..f1e7891 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/use_curly_braces_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/use_curly_braces_test.dart
@@ -2,7 +2,10 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+import 'package:analysis_server/src/services/correction/fix.dart';
 import 'package:analysis_server/src/services/linter/lint_names.dart';
+import 'package:analyzer_plugin/utilities/fixes/fixes.dart';
+import 'package:test/test.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
 import 'fix_processor.dart';
@@ -10,10 +13,87 @@
 void main() {
   defineReflectiveSuite(() {
     defineReflectiveTests(UseCurlyBracesTest);
+    defineReflectiveTests(ControlBodyOnNewLineBulkTest);
+    defineReflectiveTests(ControlBodyOnNewLineInFileTest);
+    defineReflectiveTests(ControlBodyOnNewLineLintTest);
   });
 }
 
 @reflectiveTest
+class ControlBodyOnNewLineBulkTest extends BulkFixProcessorTest {
+  @override
+  String get lintCode => LintNames.always_put_control_body_on_new_line;
+
+  Future<void> test_bulk() async {
+    await resolveTestCode('''
+f() {
+  while (true) print('');
+}
+f2() {
+  while (true) print(2);
+}
+''');
+    // This fix is only provided for explicit manual invocation for this lint,
+    // not for bulk fixing.
+    await assertNoFix();
+  }
+}
+
+@reflectiveTest
+class ControlBodyOnNewLineInFileTest extends FixInFileProcessorTest {
+  Future<void> test_File() async {
+    createAnalysisOptionsFile(
+        lints: [LintNames.always_put_control_body_on_new_line]);
+    await resolveTestCode(r'''
+f() {
+  while (true) print('');
+}
+f2() {
+  while (true) print(2);
+}
+''');
+    var fixes = await getFixesForFirstError();
+    expect(fixes, hasLength(1));
+    assertProduces(fixes.first, r'''
+f() {
+  while (true) {
+    print('');
+  }
+}
+f2() {
+  while (true) {
+    print(2);
+  }
+}
+''');
+  }
+}
+
+@reflectiveTest
+class ControlBodyOnNewLineLintTest extends FixProcessorLintTest {
+  @override
+  FixKind get kind => DartFixKind.ADD_CURLY_BRACES;
+
+  @override
+  String get lintCode => LintNames.always_put_control_body_on_new_line;
+
+  Future<void> test_field() async {
+    await resolveTestCode('''
+f() {
+  while (true) print('');
+}
+''');
+    await assertHasFix('''
+f() {
+  while (true) {
+    print('');
+  }
+}
+''');
+  }
+}
+
+@reflectiveTest
 class UseCurlyBracesTest extends BulkFixProcessorTest {
   @override
   String get lintCode => LintNames.curly_braces_in_flow_control_structures;
diff --git a/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart b/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart
index d3f0b35..b43d932 100644
--- a/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart
+++ b/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart
@@ -4,17 +4,14 @@
 
 import 'dart:typed_data';
 
-import 'package:analyzer/dart/analysis/results.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/src/context/packages.dart';
 import 'package:analyzer/src/dart/analysis/byte_store.dart';
 import 'package:analyzer/src/dart/analysis/driver.dart';
 import 'package:analyzer/src/dart/analysis/performance_logger.dart';
-import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/dart/sdk/sdk.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/source.dart';
-import 'package:analyzer/src/summary2/bundle_writer.dart';
 import 'package:analyzer/src/summary2/package_bundle_format.dart';
 import 'package:yaml/yaml.dart';
 
@@ -65,33 +62,10 @@
   );
   scheduler.start();
 
-  final analysisSession = analysisDriver.currentSession;
-  final elementFactory = analysisDriver.libraryContext.elementFactory;
-
-  final bundleWriter = BundleWriter(
-    elementFactory.dynamicRef,
-  );
-  final packageBuilder = PackageBundleBuilder();
-
-  for (final uriStr in sdk.uris) {
-    final libraryResult = await analysisSession.getLibraryByUri(uriStr);
-    libraryResult as LibraryElementResult;
-    final libraryElement = libraryResult.element as LibraryElementImpl;
-    bundleWriter.writeLibraryElement(libraryElement);
-
-    packageBuilder.addLibrary(
-      uriStr,
-      libraryElement.units.map((e) {
-        return e.source.uri.toString();
-      }).toList(),
-    );
-  }
-
-  final writeWriterResult = bundleWriter.finish();
-
-  return packageBuilder.finish(
-    resolutionBytes: writeWriterResult.resolutionBytes,
-    sdk: PackageBundleSdk(
+  final libraryUriList = sdk.uris.map(Uri.parse).toList();
+  return await analysisDriver.buildPackageBundle(
+    uriList: libraryUriList,
+    packageBundleSdk: PackageBundleSdk(
       languageVersionMajor: sdk.languageVersion.major,
       languageVersionMinor: sdk.languageVersion.minor,
       allowedExperimentsJson: sdk.allowedExperimentsJson,
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index a376df8..2cf4ffd 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -43,7 +43,9 @@
 import 'package:analyzer/src/summary/idl.dart';
 import 'package:analyzer/src/summary/package_bundle_reader.dart';
 import 'package:analyzer/src/summary2/ast_binary_flags.dart';
+import 'package:analyzer/src/summary2/bundle_writer.dart';
 import 'package:analyzer/src/summary2/macro.dart';
+import 'package:analyzer/src/summary2/package_bundle_format.dart';
 import 'package:analyzer/src/util/file_paths.dart' as file_paths;
 import 'package:analyzer/src/util/performance/operation_performance.dart';
 import 'package:meta/meta.dart';
@@ -482,6 +484,45 @@
     }
   }
 
+  /// Builds elements for library files from [uriList], and packs them into
+  /// a bundle suitable for [PackageBundleReader].
+  ///
+  /// Disconnected non-library files are ignored.
+  Future<Uint8List> buildPackageBundle({
+    required List<Uri> uriList,
+    PackageBundleSdk? packageBundleSdk,
+  }) async {
+    final elementFactory = libraryContext.elementFactory;
+
+    final bundleWriter = BundleWriter(
+      elementFactory.dynamicRef,
+    );
+    final packageBundleBuilder = PackageBundleBuilder();
+
+    for (final uri in uriList) {
+      final uriStr = uri.toString();
+      final libraryResult = await getLibraryByUri(uriStr);
+      if (libraryResult is LibraryElementResult) {
+        final libraryElement = libraryResult.element as LibraryElementImpl;
+        bundleWriter.writeLibraryElement(libraryElement);
+
+        packageBundleBuilder.addLibrary(
+          uriStr,
+          libraryElement.units.map((e) {
+            return e.source.uri.toString();
+          }).toList(),
+        );
+      }
+    }
+
+    final writeWriterResult = bundleWriter.finish();
+
+    return packageBundleBuilder.finish(
+      resolutionBytes: writeWriterResult.resolutionBytes,
+      sdk: packageBundleSdk,
+    );
+  }
+
   /// The file with the given [path] might have changed - updated, added or
   /// removed. Or not, we don't know. Or it might have, but then changed back.
   ///
diff --git a/pkg/analyzer/lib/src/dart/error/ffi_code.g.dart b/pkg/analyzer/lib/src/dart/error/ffi_code.g.dart
index db31ce6..98d9538 100644
--- a/pkg/analyzer/lib/src/dart/error/ffi_code.g.dart
+++ b/pkg/analyzer/lib/src/dart/error/ffi_code.g.dart
@@ -15,10 +15,10 @@
   static const FfiCode ABI_SPECIFIC_INTEGER_INVALID = FfiCode(
     'ABI_SPECIFIC_INTEGER_INVALID',
     "Classes extending 'AbiSpecificInteger' must have exactly one const "
-        "constructor, no other members, and no type arguments.",
+        "constructor, no other members, and no type parameters.",
     correctionMessage:
-        "Try removing all type arguments, removing all members, and adding one "
-        "const constructor.",
+        "Try removing all type parameters, removing all members, and adding "
+        "one const constructor.",
   );
 
   ///  No parameters.
diff --git a/pkg/analyzer/lib/src/dart/error/hint_codes.g.dart b/pkg/analyzer/lib/src/dart/error/hint_codes.g.dart
index 81120a1..cfccb2c 100644
--- a/pkg/analyzer/lib/src/dart/error/hint_codes.g.dart
+++ b/pkg/analyzer/lib/src/dart/error/hint_codes.g.dart
@@ -181,7 +181,7 @@
     hasPublishedDocs: true,
   );
 
-  ///  Hint to use the ~/ operator.
+  ///  No parameters.
   static const HintCode DIVISION_OPTIMIZATION = HintCode(
     'DIVISION_OPTIMIZATION',
     "The operator x ~/ y is more efficient than (x / y).toInt().",
@@ -270,7 +270,7 @@
     'FILE_IMPORT_OUTSIDE_LIB_REFERENCES_FILE_INSIDE',
     "A file outside the 'lib' directory shouldn't reference a file inside the "
         "'lib' directory using a relative path.",
-    correctionMessage: "Try using a package: URI instead.",
+    correctionMessage: "Try using a 'package:' URI instead.",
   );
 
   ///  No parameters.
@@ -542,7 +542,7 @@
     'INVALID_NON_VIRTUAL_ANNOTATION',
     "The annotation '@nonVirtual' can only be applied to a concrete instance "
         "member.",
-    correctionMessage: "Try removing @nonVirtual.",
+    correctionMessage: "Try removing '@nonVirtual'.",
   );
 
   ///  This hint is generated anywhere where an instance member annotated with
@@ -600,7 +600,7 @@
   static const HintCode INVALID_SEALED_ANNOTATION = HintCode(
     'INVALID_SEALED_ANNOTATION',
     "The annotation '@sealed' can only be applied to classes.",
-    correctionMessage: "Remove @sealed.",
+    correctionMessage: "Try removing the '@sealed' annotation.",
   );
 
   ///  Parameters:
diff --git a/pkg/analyzer/lib/src/error/codes.g.dart b/pkg/analyzer/lib/src/error/codes.g.dart
index 0dc4de5..7410c77 100644
--- a/pkg/analyzer/lib/src/error/codes.g.dart
+++ b/pkg/analyzer/lib/src/error/codes.g.dart
@@ -2640,7 +2640,7 @@
   ///  0: the name of the class that appears in both "extends" and "with" clauses
   static const CompileTimeErrorCode MIXINS_SUPER_CLASS = CompileTimeErrorCode(
     'IMPLEMENTS_SUPER_CLASS',
-    "'{0}' can't be used in both 'extends' and 'with' clauses.",
+    "'{0}' can't be used in both the 'extends' and 'with' clauses.",
     correctionMessage: "Try removing one of the occurrences.",
     hasPublishedDocs: true,
     uniqueName: 'MIXINS_SUPER_CLASS',
@@ -2760,7 +2760,7 @@
   static const CompileTimeErrorCode
       MIXIN_SUPER_CLASS_CONSTRAINT_DEFERRED_CLASS = CompileTimeErrorCode(
     'MIXIN_SUPER_CLASS_CONSTRAINT_DEFERRED_CLASS',
-    "Deferred classes can't be used as super-class constraints.",
+    "Deferred classes can't be used as superclass constraints.",
     correctionMessage: "Try changing the import to not be deferred.",
   );
 
diff --git a/pkg/analyzer/lib/src/generated/error_detection_helpers.dart b/pkg/analyzer/lib/src/generated/error_detection_helpers.dart
index 41ecb65..3cc1495 100644
--- a/pkg/analyzer/lib/src/generated/error_detection_helpers.dart
+++ b/pkg/analyzer/lib/src/generated/error_detection_helpers.dart
@@ -210,6 +210,7 @@
           argument: index,
           parameter: parameters[0],
           promoteParameterToNullable: false,
+          whyNotPromoted: whyNotPromoted,
         );
       }
     }
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
index a860d87..ba4d938 100644
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
@@ -4518,6 +4518,19 @@
         return;
       }
     } else if (targetType == null) {
+      if (target is Identifier) {
+        final targetElement = target.staticElement;
+        if (targetElement is ClassElement ||
+            targetElement is ExtensionElement ||
+            targetElement is TypeAliasElement) {
+          errorReporter.reportErrorForOffset(
+            errorCode,
+            operator.offset,
+            endToken.end - operator.offset,
+            arguments,
+          );
+        }
+      }
       return;
     }
 
diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
index fcbf6a9..34f8996 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -3689,88 +3689,3 @@
   @override
   String toString() => convert.json.encode(toJson());
 }
-
-class PackageBundleBuilder extends Object
-    with _PackageBundleMixin
-    implements idl.PackageBundle {
-  int? _fake;
-
-  @override
-  int get fake => _fake ??= 0;
-
-  /// The version 2 of the summary.
-  set fake(int value) {
-    assert(value >= 0);
-    this._fake = value;
-  }
-
-  PackageBundleBuilder({int? fake}) : _fake = fake;
-
-  /// Flush [informative] data recursively.
-  void flushInformative() {}
-
-  /// Accumulate non-[informative] data into [signature].
-  void collectApiSignature(api_sig.ApiSignature signatureSink) {
-    signatureSink.addInt(this._fake ?? 0);
-  }
-
-  typed_data.Uint8List toBuffer() {
-    fb.Builder fbBuilder = fb.Builder();
-    return fbBuilder.finish(finish(fbBuilder), "PBdl");
-  }
-
-  fb.Offset finish(fb.Builder fbBuilder) {
-    fbBuilder.startTable();
-    fbBuilder.addUint32(0, _fake, 0);
-    return fbBuilder.endTable();
-  }
-}
-
-idl.PackageBundle readPackageBundle(List<int> buffer) {
-  fb.BufferContext rootRef = fb.BufferContext.fromBytes(buffer);
-  return const _PackageBundleReader().read(rootRef, 0);
-}
-
-class _PackageBundleReader extends fb.TableReader<_PackageBundleImpl> {
-  const _PackageBundleReader();
-
-  @override
-  _PackageBundleImpl createObject(fb.BufferContext bc, int offset) =>
-      _PackageBundleImpl(bc, offset);
-}
-
-class _PackageBundleImpl extends Object
-    with _PackageBundleMixin
-    implements idl.PackageBundle {
-  final fb.BufferContext _bc;
-  final int _bcOffset;
-
-  _PackageBundleImpl(this._bc, this._bcOffset);
-
-  int? _fake;
-
-  @override
-  int get fake {
-    return _fake ??= const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 0, 0);
-  }
-}
-
-abstract class _PackageBundleMixin implements idl.PackageBundle {
-  @override
-  Map<String, Object> toJson() {
-    Map<String, Object> result = <String, Object>{};
-    var local_fake = fake;
-    if (local_fake != 0) {
-      result["fake"] = local_fake;
-    }
-    return result;
-  }
-
-  @override
-  Map<String, Object?> toMap() => {
-        "fake": fake,
-      };
-
-  @override
-  String toString() => convert.json.encode(toJson());
-}
diff --git a/pkg/analyzer/lib/src/summary/format.fbs b/pkg/analyzer/lib/src/summary/format.fbs
index 67e3358..5d58b75 100644
--- a/pkg/analyzer/lib/src/summary/format.fbs
+++ b/pkg/analyzer/lib/src/summary/format.fbs
@@ -436,12 +436,6 @@
   templateValues:[string] (id: 1);
 }
 
-/// Summary information about a package.
-table PackageBundle {
-  /// The version 2 of the summary.
-  fake:uint (id: 0);
-}
+root_type AnalysisDriverResolvedUnit;
 
-root_type PackageBundle;
-
-file_identifier "PBdl";
+file_identifier "ADRU";
diff --git a/pkg/analyzer/lib/src/summary/idl.dart b/pkg/analyzer/lib/src/summary/idl.dart
index adb8e7d..b5f6b8f 100644
--- a/pkg/analyzer/lib/src/summary/idl.dart
+++ b/pkg/analyzer/lib/src/summary/idl.dart
@@ -566,14 +566,3 @@
   /// The containing unit itself.
   unit
 }
-
-/// Summary information about a package.
-@TopLevel('PBdl')
-abstract class PackageBundle extends base.SummaryClass {
-  factory PackageBundle.fromBuffer(List<int> buffer) =>
-      generated.readPackageBundle(buffer);
-
-  /// The version 2 of the summary.
-  @Id(0)
-  int get fake;
-}
diff --git a/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart b/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
index 29af7d3..da702a3 100644
--- a/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
+++ b/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
@@ -814,10 +814,14 @@
   static const androidArm = _androidArm;
   static const androidArm64 = _androidArm64;
   static const androidIA32 = _androidIA32;
+  static const linuxX64 = _linuxX64;
+  static const macosX64 = _macosX64;
 
   static const _androidArm = Abi._(_Architecture.arm, _OS.android);
   static const _androidArm64 = Abi._(_Architecture.arm64, _OS.android);
   static const _androidIA32 = Abi._(_Architecture.ia32, _OS.android);
+  static const _linuxX64 = Abi._(_Architecture.x64, _OS.linux);
+  static const _macosX64 = Abi._(_Architecture.x64, _OS.macos);
 
   final _OS _os;
 
diff --git a/pkg/analyzer/messages.yaml b/pkg/analyzer/messages.yaml
index 5f260ff..16b3fff 100644
--- a/pkg/analyzer/messages.yaml
+++ b/pkg/analyzer/messages.yaml
@@ -5668,8 +5668,9 @@
     documentation: |-
       #### Description
 
-      The analyzer produces this diagnostic when one class is listed in both the
-      `extends` and `implements` clauses of another class.
+      The analyzer produces this diagnostic when a class is listed in the
+      `extends` clause of a class declaration and also in either the
+      `implements` or `with` clause of the same declaration.
 
       #### Example
 
@@ -5682,6 +5683,15 @@
       class B extends A implements [!A!] {}
       ```
 
+      The following code produces this diagnostic because the class `A` is used
+      in both the `extends` and `with` clauses for the class `B`:
+  
+      ```dart
+      class A {}
+  
+      class B extends A with [!A!] {}
+      ```
+
       #### Common fixes
 
       If you want to inherit the implementation from the class, then remove the
@@ -8306,7 +8316,7 @@
       ```
   MIXINS_SUPER_CLASS:
     sharedName: IMPLEMENTS_SUPER_CLASS
-    problemMessage: "'{0}' can't be used in both 'extends' and 'with' clauses."
+    problemMessage: "'{0}' can't be used in both the 'extends' and 'with' clauses."
     correctionMessage: Try removing one of the occurrences.
     hasPublishedDocs: true
     comment: |-
@@ -8705,9 +8715,43 @@
       class C {}
       ```
   MIXIN_SUPER_CLASS_CONSTRAINT_DEFERRED_CLASS:
-    problemMessage: "Deferred classes can't be used as super-class constraints."
+    problemMessage: "Deferred classes can't be used as superclass constraints."
     correctionMessage: Try changing the import to not be deferred.
     comment: No parameters.
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when a superclass constraint of a
+      mixin is imported from a deferred library.
+
+      #### Example
+
+      The following code produces this diagnostic because the superclass
+      constraint of `math.Random` is imported from a deferred library:
+
+      ```dart
+      import 'dart:async' deferred as async;
+
+      mixin M<T> on [!async.Stream<T>!] {}
+      ```
+
+      #### Common fixes
+
+      If the import doesn't need to be deferred, then remove the `deferred`
+      keyword:
+
+      ```dart
+      import 'dart:async' as async;
+
+      mixin M<T> on async.Stream<T> {}
+      ```
+
+      If the import does need to be deferred, then remove the superclass
+      constraint:
+
+      ```dart
+      mixin M<T> {}
+      ```
   MIXIN_SUPER_CLASS_CONSTRAINT_NON_INTERFACE:
     problemMessage: Only classes and mixins can be used as superclass constraints.
     hasPublishedDocs: true
@@ -15595,21 +15639,216 @@
       ```
 FfiCode:
   ABI_SPECIFIC_INTEGER_INVALID:
-    problemMessage: "Classes extending 'AbiSpecificInteger' must have exactly one const constructor, no other members, and no type arguments."
-    correctionMessage: Try removing all type arguments, removing all members, and adding one const constructor.
+    problemMessage: "Classes extending 'AbiSpecificInteger' must have exactly one const constructor, no other members, and no type parameters."
+    correctionMessage: Try removing all type parameters, removing all members, and adding one const constructor.
     comment: No parameters.
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when a class that extends
+      `AbiSpecificInteger` doesn't meet all of the following requirements:
+      - there must be exactly one constructor
+      - the constructor must be marked `const`
+      - there must not be any members of other than the one constructor
+      - there must not be any type parameters
+
+      #### Examples
+
+      The following code produces this diagnostic because the class `C` doesn't
+      define a const constructor:
+
+      ```dart
+      import 'dart:ffi';
+
+      @AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+      class [!C!] extends AbiSpecificInteger {
+      }
+      ```
+
+      The following code produces this diagnostic because the constructor isn't
+      a `const` constructor:
+
+      ```dart
+      import 'dart:ffi';
+
+      @AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+      class [!C!] extends AbiSpecificInteger {
+        C();
+      }
+      ```
+
+      The following code produces this diagnostic because the class `C` defines
+      multiple constructors:
+
+      ```dart
+      import 'dart:ffi';
+
+      @AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+      class [!C!] extends AbiSpecificInteger {
+        const C.zero();
+        const C.one();
+      }
+      ```
+
+      The following code produces this diagnostic because the class `C` defineS
+      a field:
+
+      ```dart
+      import 'dart:ffi';
+
+      @AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+      class [!C!] extends AbiSpecificInteger {
+        final int i;
+
+        const C(this.i);
+      }
+      ```
+
+      The following code produces this diagnostic because the class `C` has a
+      type parameter:
+
+      ```dart
+      import 'dart:ffi';
+
+      @AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+      class [!C!]<T> extends AbiSpecificInteger { // type parameters
+        const C();
+      }
+      ```
+
+      #### Common fixes
+
+      Change the class so that it meets the requirements of having no type
+      parameters and a single member that is a `const` constructor:
+
+      ```dart
+      import 'dart:ffi';
+
+      @AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+      class C extends AbiSpecificInteger {
+        const C();
+      }
+      ```
   ABI_SPECIFIC_INTEGER_MAPPING_EXTRA:
     problemMessage: "Classes extending 'AbiSpecificInteger' must have exactly one 'AbiSpecificIntegerMapping' annotation specifying the mapping from ABI to a 'NativeType' integer with a fixed size."
     correctionMessage: Try removing the extra annotation.
     comment: No parameters.
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when a class that extends
+      `AbiSpecificInteger` has more than one `AbiSpecificIntegerMapping`
+      annotation.
+
+      #### Example
+
+      The following code produces this diagnostic because there are two
+      `AbiSpecificIntegerMapping` annotations on the class `C`:
+
+      ```dart
+      import 'dart:ffi';
+
+      @AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+      @[!AbiSpecificIntegerMapping!]({Abi.linuxX64 : Uint16()})
+      class C extends AbiSpecificInteger {
+        const C();
+      }
+      ```
+
+      #### Common fixes
+
+      Remove all but one of the annotations, merging the arguments as
+      appropriate:
+
+      ```dart
+      import 'dart:ffi';
+
+      @AbiSpecificIntegerMapping({Abi.macosX64 : Int8(), Abi.linuxX64 : Uint16()})
+      class C extends AbiSpecificInteger {
+        const C();
+      }
+      ```
   ABI_SPECIFIC_INTEGER_MAPPING_MISSING:
     problemMessage: "Classes extending 'AbiSpecificInteger' must have exactly one 'AbiSpecificIntegerMapping' annotation specifying the mapping from ABI to a 'NativeType' integer with a fixed size."
     correctionMessage: Try adding an annotation.
     comment: No parameters.
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when a class that extends
+      `AbiSpecificInteger` doesn't have an `AbiSpecificIntegerMapping`
+      annotation.
+
+      #### Example
+
+      The following code produces this diagnostic because there's no
+      `AbiSpecificIntegerMapping` annotation on the class `C`:
+
+      ```dart
+      import 'dart:ffi';
+
+      class [!C!] extends AbiSpecificInteger {
+        const C();
+      }
+      ```
+
+      #### Common fixes
+
+      Add an `AbiSpecificIntegerMapping` annotation to the class:
+
+      ```dart
+      import 'dart:ffi';
+
+      @AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+      class C extends AbiSpecificInteger {
+        const C();
+      }
+      ```
   ABI_SPECIFIC_INTEGER_MAPPING_UNSUPPORTED:
     problemMessage: "Only mappings to 'Int8', 'Int16', 'Int32', 'Int64', 'Uint8', 'Uint16', 'UInt32', and 'Uint64' are supported."
     correctionMessage: Try changing the value to 'Int8', 'Int16', 'Int32', 'Int64', 'Uint8', 'Uint16', 'UInt32', or 'Uint64'.
     comment: No parameters.
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when a value in the map argument of
+      an `AbiSpecificIntegerMapping` annotation is anything other than one of
+      the following integer types:
+      - `Int8`
+      - `Int16`
+      - `Int32`
+      - `Int64`
+      - `Uint8`
+      - `Uint16`
+      - `UInt32`
+      - `Uint64`
+
+      #### Example
+
+      The following code produces this diagnostic because the value of the map
+      entry is `Array<Uint8>`, which isn't a valid integer type:
+
+      ```dart
+      import 'dart:ffi';
+
+      @[!AbiSpecificIntegerMapping!]({Abi.macosX64 : Array<Uint8>(4)})
+      class C extends AbiSpecificInteger {
+        const C();
+      }
+      ```
+
+      #### Common fixes
+
+      Use one of the valid types as a value in the map:
+
+      ```dart
+      import 'dart:ffi';
+
+      @AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+      class C extends AbiSpecificInteger {
+        const C();
+      }
+      ```
   ANNOTATION_ON_POINTER_FIELD:
     problemMessage: "Fields in a struct class whose type is 'Pointer' shouldn't have any annotations."
     correctionMessage: Try removing the annotation.
@@ -17690,7 +17929,30 @@
   DIVISION_OPTIMIZATION:
     problemMessage: The operator x ~/ y is more efficient than (x / y).toInt().
     correctionMessage: "Try re-writing the expression to use the '~/' operator."
-    comment: Hint to use the ~/ operator.
+    comment: No parameters.
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when the result of dividing two
+      numbers is converted to an integer using `toInt`. Dart has a built-in
+      integer division operator that is both more efficient and more concise.
+
+      #### Example
+
+      The following code produces this diagnostic because the result of dividing
+      `x` and `y` is converted to an integer using `toInt`:
+
+      ```dart
+      int divide(num x, num y) => [!(x / y).toInt()!];
+      ```
+
+      #### Common fixes
+
+      Use the integer division operator (`~/`):
+
+      ```dart
+      int divide(num x, num y) => x ~/ y;
+      ```
   DUPLICATE_HIDDEN_NAME:
     problemMessage: Duplicate hidden name.
     correctionMessage: Try removing the repeated name from the list of hidden members.
@@ -17960,7 +18222,7 @@
       directory.
   FILE_IMPORT_OUTSIDE_LIB_REFERENCES_FILE_INSIDE:
     problemMessage: "A file outside the 'lib' directory shouldn't reference a file inside the 'lib' directory using a relative path."
-    correctionMessage: "Try using a package: URI instead."
+    correctionMessage: "Try using a 'package:' URI instead."
     comment: |-
       It is a bad practice for a source file ouside a package "lib" directory
       hierarchy to traverse into that directory hierarchy. For example, a source
@@ -18547,12 +18809,84 @@
       ```
   INVALID_NON_VIRTUAL_ANNOTATION:
     problemMessage: "The annotation '@nonVirtual' can only be applied to a concrete instance member."
-    correctionMessage: Try removing @nonVirtual.
+    correctionMessage: Try removing '@nonVirtual'.
     comment: |-
       This hint is generated anywhere where `@nonVirtual` annotates something
       other than a non-abstract instance member in a class or mixin.
 
       No Parameters.
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when the `nonVirtual` annotation is
+      found on a declaration other than a member of a class, mixin, or enum, or
+      if the member isn't a concrete instance member.
+
+      #### Examples
+
+      The following code produces this diagnostic because the annotation is on a
+      class declaration rather than a member inside the class:
+
+      ```dart
+      import 'package:meta/meta.dart';
+
+      [!@nonVirtual!]
+      class C {}
+      ```
+
+      The following code produces this diagnostic because the method `m` is an
+      abstract method:
+
+      ```dart
+      import 'package:meta/meta.dart';
+
+      abstract class C {
+        [!@nonVirtual!]
+        void m();
+      }
+      ```
+
+      The following code produces this diagnostic because the method `m` is a
+      static method:
+
+      ```dart
+      import 'package:meta/meta.dart';
+
+      abstract class C {
+        [!@nonVirtual!]
+        static void m() {}
+      }
+      ```
+
+      #### Common fixes
+
+      If the declaration isn't a member of a class, mixin, or enum, then remove
+      the annotation:
+
+      ```dart
+      class C {}
+      ```
+
+      If the member is intended to be a concrete instance member, then make it
+      so:
+
+      ```dart
+      import 'package:meta/meta.dart';
+
+      abstract class C {
+        @nonVirtual
+        void m() {}
+      }
+      ```
+
+      If the member is not intended to be a concrete instance member, then
+      remove the annotation:
+
+      ```dart
+      abstract class C {
+        static void m() {}
+      }
+      ```
   INVALID_OVERRIDE_OF_NON_VIRTUAL_MEMBER:
     problemMessage: "The member '{0}' is declared non-virtual in '{1}' and can't be overridden in subclasses."
     comment: |-
@@ -18562,6 +18896,62 @@
       Parameters:
       0: the name of the member
       1: the name of the defining class
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when a member of a class, mixin, or
+      enum overrides a member that has the `@nonVirtual` annotation on it.
+
+      #### Example
+
+      The following code produces this diagnostic because the method `m` in `B`
+      overrides the method `m` in `A`, and the method `m` in `A` is annotated
+      with the `@nonVirtual` annotation:
+
+      ```dart
+      import 'package:meta/meta.dart';
+
+      class A {
+        @nonVirtual
+        void m() {}
+      }
+
+      class B extends A {
+        @override
+        void [!m!]() {}
+      }
+      ```
+
+      #### Common fixes
+
+      If the annotation on the method in the superclass is correct (the method
+      in the superclass is not intended to be overridden), then remove or rename
+      the overriding method:
+
+      ```dart
+      import 'package:meta/meta.dart';
+
+      class A {
+        @nonVirtual
+        void m() {}
+      }
+
+      class B extends A {}
+      ```
+
+      If the method in the superclass is intended to be overridden, then remove
+      the `@nonVirtual` annotation:
+
+      ```dart
+      class A {
+        void m() {}
+      }
+
+      class B extends A {
+        @override
+        void m() {}
+      }
+      ```
   INVALID_REQUIRED_NAMED_PARAM:
     problemMessage: "The type parameter '{0}' is annotated with @required but only named parameters without a default value can be annotated with it."
     correctionMessage: Remove @required.
@@ -18657,12 +19047,41 @@
       ```
   INVALID_SEALED_ANNOTATION:
     problemMessage: "The annotation '@sealed' can only be applied to classes."
-    correctionMessage: Remove @sealed.
+    correctionMessage: Try removing the '@sealed' annotation.
     comment: |-
       This hint is generated anywhere where `@sealed` annotates something other
       than a class.
 
       No parameters.
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when a declaration other than a
+      class declaration has the `@sealed` annotation on it.
+
+      #### Example
+
+      The following code produces this diagnostic because the `@sealed`
+      annotation is on a method declaration:
+
+      ```dart
+      import 'package:meta/meta.dart';
+
+      class A {
+        [!@sealed!]
+        void m() {}
+      }
+      ```
+
+      #### Common fixes
+
+      Remove the annotation:
+
+      ```dart
+      class A {
+        void m() {}
+      }
+      ```
   INVALID_USE_OF_INTERNAL_MEMBER:
     problemMessage: "The member '{0}' can only be used within its package."
     comment: |-
@@ -18773,6 +19192,58 @@
       Parameters:
       0: the name of the member
       1: the name of the defining class
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when a member annotated with
+      `@visibleForTesting` is referenced anywhere other than the library in
+      which it is declared or in a library in the `test` directory.
+
+      #### Example
+
+      Given a file named `c.dart` that contains the following:
+
+      ```dart
+      %uri="lib/c.dart"
+      import 'package:meta/meta.dart';
+
+      class C {
+        @visibleForTesting
+        void m() {}
+      }
+      ```
+
+      The following code, when not inside the `test` directory, produces this
+      diagnostic because the method `m` is marked as being visible only for
+      tests:
+
+      ```dart
+      import 'c.dart';
+
+      void f(C c) {
+        c.[!m!]();
+      }
+      ```
+
+      #### Common fixes
+
+      If the annotated member should not be referenced outside of tests, then
+      remove the reference:
+
+      ```dart
+      import 'c.dart';
+
+      void f(C c) {}
+      ```
+
+      If it's OK to reference the annotated member outside of tests, then remove
+      the annotation:
+
+      ```dart
+      class C {
+        void m() {}
+      }
+      ```
   INVALID_VISIBILITY_ANNOTATION:
     problemMessage: "The member '{0}' is annotated with '{1}', but this annotation is only meaningful on declarations of public members."
     hasPublishedDocs: true
@@ -20430,6 +20901,53 @@
     correctionMessage: Try removing the 'final'.
     hasPublishedDocs: false
     comment: No parameters.
+    documentation: |-
+      #### Description
+
+      The analyzer produces this diagnostic when either a field initializing
+      parameter or a super parameter in a constructor has the keyword `final`.
+      In both cases the keyword is unnecessary because the parameter is
+      implicitly `final`.
+
+      #### Examples
+
+      The following code produces this diagnostic because the field initializing
+      parameter has the keyword `final`:
+
+      ```dart
+      class A {
+        int value;
+
+        A([!final!] this.value);
+      }
+      ```
+
+      The following code produces this diagnostic because the super parameter in
+      `B` has the keyword `final`:
+
+      ```dart
+      class A {
+        A(int value);
+      }
+
+      class B extends A {
+        B([!final!] super.value);
+      }
+      ```
+
+      #### Common fixes
+
+      Remove the unnecessary `final` keyword:
+
+      ```dart
+      class A {
+        A(int value);
+      }
+
+      class B extends A {
+        B(super.value);
+      }
+      ```
   UNNECESSARY_IGNORE:
     problemMessage: "The diagnostic '{0}' isn't produced at this location so it doesn't need to be ignored."
     correctionMessage: Try removing the name from the list, or removing the whole comment if this is the only name in the list.
diff --git a/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart b/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
index 342e26d..aa551dd 100644
--- a/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
@@ -5053,16 +5053,20 @@
   }
 
   test_error_undefinedMethod_typeLiteral_conditional() async {
-    // When applied to a type literal, the conditional access operator '?.'
-    // cannot be used to access instance methods of Type.
-    await assertErrorsInCode(r'''
+    await assertErrorsInCode(
+      r'''
 class A {}
 main() {
   A?.toString();
 }
-''', [
-      error(CompileTimeErrorCode.UNDEFINED_METHOD, 25, 8),
-    ]);
+''',
+      expectedErrorsByNullability(nullable: [
+        error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 23, 2),
+        error(CompileTimeErrorCode.UNDEFINED_METHOD, 25, 8),
+      ], legacy: [
+        error(CompileTimeErrorCode.UNDEFINED_METHOD, 25, 8),
+      ]),
+    );
   }
 
   test_error_undefinedSuperMethod() async {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
index 60e0fd0..bc80d9b 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
@@ -171,7 +171,7 @@
   }
 
   test_getter_class() async {
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode('''
 class C {
   static int x = 0;
 }
@@ -179,11 +179,13 @@
 f() {
   C?.x;
 }
-''');
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 42, 2),
+    ]);
   }
 
   test_getter_extension() async {
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode('''
 extension E on int {
   static int x = 0;
 }
@@ -191,7 +193,9 @@
 f() {
   E?.x;
 }
-''');
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 53, 2),
+    ]);
   }
 
   test_getter_legacy() async {
@@ -213,7 +217,7 @@
   }
 
   test_getter_mixin() async {
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode('''
 mixin M {
   static int x = 0;
 }
@@ -221,7 +225,9 @@
 f() {
   M?.x;
 }
-''');
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 42, 2),
+    ]);
   }
 
   test_getter_nonNullable() async {
@@ -303,7 +309,7 @@
   }
 
   test_method_class() async {
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode('''
 class C {
   static void foo() {}
 }
@@ -311,11 +317,31 @@
 f() {
   C?.foo();
 }
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 45, 2),
+    ]);
+  }
+
+  test_method_class_prefixed() async {
+    newFile('$testPackageLibPath/a.dart', r'''
+class C {
+  static void foo() {}
+}
 ''');
+
+    await assertErrorsInCode('''
+import 'a.dart' as prefix;
+
+void f() {
+  prefix.C?.foo();
+}
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 49, 2),
+    ]);
   }
 
   test_method_extension() async {
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode('''
 extension E on int {
   static void foo() {}
 }
@@ -323,7 +349,27 @@
 f() {
   E?.foo();
 }
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 56, 2),
+    ]);
+  }
+
+  test_method_extension_prefixed() async {
+    newFile('$testPackageLibPath/a.dart', r'''
+extension E on int {
+  static void foo() {}
+}
 ''');
+
+    await assertErrorsInCode('''
+import 'a.dart' as prefix;
+
+f() {
+  prefix.E?.foo();
+}
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 44, 2),
+    ]);
   }
 
   test_method_legacy() async {
@@ -345,7 +391,7 @@
   }
 
   test_method_mixin() async {
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode('''
 mixin M {
   static void foo() {}
 }
@@ -353,7 +399,27 @@
 f() {
   M?.foo();
 }
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 45, 2),
+    ]);
+  }
+
+  test_method_mixin_prefixed() async {
+    newFile('$testPackageLibPath/a.dart', r'''
+mixin M {
+  static void foo() {}
+}
 ''');
+
+    await assertErrorsInCode('''
+import 'a.dart' as prefix;
+
+f() {
+  prefix.M?.foo();
+}
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 44, 2),
+    ]);
   }
 
   test_method_nonNullable() async {
@@ -377,6 +443,22 @@
 ''');
   }
 
+  test_method_typeAlias_class() async {
+    await assertErrorsInCode('''
+class A {
+  static void foo() {}
+}
+
+typedef B = A; 
+
+f() {
+  B?.foo();
+}
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 62, 2),
+    ]);
+  }
+
   test_nonNullableSpread_nullableType() async {
     await assertNoErrorsInCode('''
 f(List<int> x) {
@@ -421,7 +503,7 @@
   }
 
   test_setter_class() async {
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode('''
 class C {
   static int x = 0;
 }
@@ -429,11 +511,13 @@
 f() {
   C?.x = 0;
 }
-''');
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 42, 2),
+    ]);
   }
 
   test_setter_extension() async {
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode('''
 extension E on int {
   static int x = 0;
 }
@@ -441,11 +525,13 @@
 f() {
   E?.x = 0;
 }
-''');
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 53, 2),
+    ]);
   }
 
   test_setter_mixin() async {
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode('''
 mixin M {
   static int x = 0;
 }
@@ -453,7 +539,9 @@
 f() {
   M?.x = 0;
 }
-''');
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 42, 2),
+    ]);
   }
 
   /// Here we test that analysis does not crash while checking whether to
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
index 2f1bacb..1fe9cd4 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
@@ -479,15 +479,18 @@
     ]);
   }
 
-  test_static_conditionalAcces_defined() async {
-    // The conditional access operator '?.' can be used to access static
-    // fields.
-    await assertNoErrorsInCode('''
+  test_static_conditionalAccess_defined() async {
+    await assertErrorsInCode(
+      '''
 class A {
   static var x;
 }
 var a = A?.x;
-''');
+''',
+      expectedErrorsByNullability(nullable: [
+        error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 37, 2),
+      ], legacy: []),
+    );
   }
 
   test_static_definedInSuperclass() async {
@@ -527,14 +530,18 @@
   }
 
   test_typeLiteral_conditionalAccess() async {
-    // When applied to a type literal, the conditional access operator '?.'
-    // cannot be used to access instance getters of Type.
-    await assertErrorsInCode('''
+    await assertErrorsInCode(
+      '''
 class A {}
 f() => A?.hashCode;
-''', [
-      error(CompileTimeErrorCode.UNDEFINED_GETTER, 21, 8),
-    ]);
+''',
+      expectedErrorsByNullability(nullable: [
+        error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 19, 2),
+        error(CompileTimeErrorCode.UNDEFINED_GETTER, 21, 8),
+      ], legacy: [
+        error(CompileTimeErrorCode.UNDEFINED_GETTER, 21, 8),
+      ]),
+    );
   }
 
   test_typeSubstitution_defined() async {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart
index ed18c21..6b5bc62 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart
@@ -228,14 +228,14 @@
   }
 
   test_static_conditionalAccess_defined() async {
-    // The conditional access operator '?.' can be used to access static
-    // methods.
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode('''
 class A {
   static void m() {}
 }
 f() { A?.m(); }
-''');
+''', [
+      error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 40, 2),
+    ]);
   }
 
   test_static_mixinApplication_superConstructorIsFactory() async {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
index f234428..9882644 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
@@ -212,14 +212,17 @@
   }
 
   test_static_conditionalAccess_defined() async {
-    // The conditional access operator '?.' can be used to access static
-    // fields.
-    await assertNoErrorsInCode('''
+    await assertErrorsInCode(
+      '''
 class A {
   static var x;
 }
 f() { A?.x = 1; }
-''');
+''',
+      expectedErrorsByNullability(nullable: [
+        error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR, 35, 2),
+      ], legacy: []),
+    );
   }
 
   test_static_definedInSuperclass() async {
diff --git a/pkg/analyzer/tool/diagnostics/diagnostics.md b/pkg/analyzer/tool/diagnostics/diagnostics.md
index 969970e..14ab1b7 100644
--- a/pkg/analyzer/tool/diagnostics/diagnostics.md
+++ b/pkg/analyzer/tool/diagnostics/diagnostics.md
@@ -296,6 +296,221 @@
 [meta-visibleForOverriding]: https://pub.dev/documentation/meta/latest/meta/visibleForOverriding-constant.html
 [meta-visibleForTesting]: https://pub.dev/documentation/meta/latest/meta/visibleForTesting-constant.html
 
+### abi_specific_integer_invalid
+
+_Classes extending 'AbiSpecificInteger' must have exactly one const constructor,
+no other members, and no type parameters._
+
+#### Description
+
+The analyzer produces this diagnostic when a class that extends
+`AbiSpecificInteger` doesn't meet all of the following requirements:
+- there must be exactly one constructor
+- the constructor must be marked `const`
+- there must not be any members of other than the one constructor
+- there must not be any type parameters
+
+#### Examples
+
+The following code produces this diagnostic because the class `C` doesn't
+define a const constructor:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+class [!C!] extends AbiSpecificInteger {
+}
+{% endprettify %}
+
+The following code produces this diagnostic because the constructor isn't
+a `const` constructor:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+class [!C!] extends AbiSpecificInteger {
+  C();
+}
+{% endprettify %}
+
+The following code produces this diagnostic because the class `C` defines
+multiple constructors:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+class [!C!] extends AbiSpecificInteger {
+  const C.zero();
+  const C.one();
+}
+{% endprettify %}
+
+The following code produces this diagnostic because the class `C` defineS
+a field:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+class [!C!] extends AbiSpecificInteger {
+  final int i;
+
+  const C(this.i);
+}
+{% endprettify %}
+
+The following code produces this diagnostic because the class `C` has a
+type parameter:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+class [!C!]<T> extends AbiSpecificInteger { // type parameters
+  const C();
+}
+{% endprettify %}
+
+#### Common fixes
+
+Change the class so that it meets the requirements of having no type
+parameters and a single member that is a `const` constructor:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+class C extends AbiSpecificInteger {
+  const C();
+}
+{% endprettify %}
+
+### abi_specific_integer_mapping_extra
+
+_Classes extending 'AbiSpecificInteger' must have exactly one
+'AbiSpecificIntegerMapping' annotation specifying the mapping from ABI to a 'NativeType' integer with a fixed size._
+
+#### Description
+
+The analyzer produces this diagnostic when a class that extends
+`AbiSpecificInteger` has more than one `AbiSpecificIntegerMapping`
+annotation.
+
+#### Example
+
+The following code produces this diagnostic because there are two
+`AbiSpecificIntegerMapping` annotations on the class `C`:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+@[!AbiSpecificIntegerMapping!]({Abi.linuxX64 : Uint16()})
+class C extends AbiSpecificInteger {
+  const C();
+}
+{% endprettify %}
+
+#### Common fixes
+
+Remove all but one of the annotations, merging the arguments as
+appropriate:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@AbiSpecificIntegerMapping({Abi.macosX64 : Int8(), Abi.linuxX64 : Uint16()})
+class C extends AbiSpecificInteger {
+  const C();
+}
+{% endprettify %}
+
+### abi_specific_integer_mapping_missing
+
+_Classes extending 'AbiSpecificInteger' must have exactly one
+'AbiSpecificIntegerMapping' annotation specifying the mapping from ABI to a 'NativeType' integer with a fixed size._
+
+#### Description
+
+The analyzer produces this diagnostic when a class that extends
+`AbiSpecificInteger` doesn't have an `AbiSpecificIntegerMapping`
+annotation.
+
+#### Example
+
+The following code produces this diagnostic because there's no
+`AbiSpecificIntegerMapping` annotation on the class `C`:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+class [!C!] extends AbiSpecificInteger {
+  const C();
+}
+{% endprettify %}
+
+#### Common fixes
+
+Add an `AbiSpecificIntegerMapping` annotation to the class:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+class C extends AbiSpecificInteger {
+  const C();
+}
+{% endprettify %}
+
+### abi_specific_integer_mapping_unsupported
+
+_Only mappings to 'Int8', 'Int16', 'Int32', 'Int64', 'Uint8', 'Uint16',
+'UInt32', and 'Uint64' are supported._
+
+#### Description
+
+The analyzer produces this diagnostic when a value in the map argument of
+an `AbiSpecificIntegerMapping` annotation is anything other than one of
+the following integer types:
+- `Int8`
+- `Int16`
+- `Int32`
+- `Int64`
+- `Uint8`
+- `Uint16`
+- `UInt32`
+- `Uint64`
+
+#### Example
+
+The following code produces this diagnostic because the value of the map
+entry is `Array<Uint8>`, which isn't a valid integer type:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@[!AbiSpecificIntegerMapping!]({Abi.macosX64 : Array<Uint8>(4)})
+class C extends AbiSpecificInteger {
+  const C();
+}
+{% endprettify %}
+
+#### Common fixes
+
+Use one of the valid types as a value in the map:
+
+{% prettify dart tag=pre+code %}
+import 'dart:ffi';
+
+@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
+class C extends AbiSpecificInteger {
+  const C();
+}
+{% endprettify %}
+
 ### abstract_field_initializer
 
 _Abstract fields can't have initializers._
@@ -3845,6 +4060,33 @@
 }
 {% endprettify %}
 
+### division_optimization
+
+_The operator x ~/ y is more efficient than (x / y).toInt()._
+
+#### Description
+
+The analyzer produces this diagnostic when the result of dividing two
+numbers is converted to an integer using `toInt`. Dart has a built-in
+integer division operator that is both more efficient and more concise.
+
+#### Example
+
+The following code produces this diagnostic because the result of dividing
+`x` and `y` is converted to an integer using `toInt`:
+
+{% prettify dart tag=pre+code %}
+int divide(num x, num y) => [!(x / y).toInt()!];
+{% endprettify %}
+
+#### Common fixes
+
+Use the integer division operator (`~/`):
+
+{% prettify dart tag=pre+code %}
+int divide(num x, num y) => x ~/ y;
+{% endprettify %}
+
 ### duplicate_constructor
 
 _The constructor with name '{0}' is already defined._
@@ -6731,14 +6973,15 @@
 
 ### implements_super_class
 
-_'{0}' can't be used in both 'extends' and 'with' clauses._
-
 _'{0}' can't be used in both the 'extends' and 'implements' clauses._
 
+_'{0}' can't be used in both the 'extends' and 'with' clauses._
+
 #### Description
 
-The analyzer produces this diagnostic when one class is listed in both the
-`extends` and `implements` clauses of another class.
+The analyzer produces this diagnostic when a class is listed in the
+`extends` clause of a class declaration and also in either the
+`implements` or `with` clause of the same declaration.
 
 #### Example
 
@@ -6751,6 +6994,15 @@
 class B extends A implements [!A!] {}
 {% endprettify %}
 
+The following code produces this diagnostic because the class `A` is used
+in both the `extends` and `with` clauses for the class `B`:
+
+{% prettify dart tag=pre+code %}
+class A {}
+
+class B extends A with [!A!] {}
+{% endprettify %}
+
 #### Common fixes
 
 If you want to inherit the implementation from the class, then remove the
@@ -8662,6 +8914,83 @@
 }
 {% endprettify %}
 
+### invalid_non_virtual_annotation
+
+_The annotation '@nonVirtual' can only be applied to a concrete instance
+member._
+
+#### Description
+
+The analyzer produces this diagnostic when the `nonVirtual` annotation is
+found on a declaration other than a member of a class, mixin, or enum, or
+if the member isn't a concrete instance member.
+
+#### Examples
+
+The following code produces this diagnostic because the annotation is on a
+class declaration rather than a member inside the class:
+
+{% prettify dart tag=pre+code %}
+import 'package:meta/meta.dart';
+
+[!@nonVirtual!]
+class C {}
+{% endprettify %}
+
+The following code produces this diagnostic because the method `m` is an
+abstract method:
+
+{% prettify dart tag=pre+code %}
+import 'package:meta/meta.dart';
+
+abstract class C {
+  [!@nonVirtual!]
+  void m();
+}
+{% endprettify %}
+
+The following code produces this diagnostic because the method `m` is a
+static method:
+
+{% prettify dart tag=pre+code %}
+import 'package:meta/meta.dart';
+
+abstract class C {
+  [!@nonVirtual!]
+  static void m() {}
+}
+{% endprettify %}
+
+#### Common fixes
+
+If the declaration isn't a member of a class, mixin, or enum, then remove
+the annotation:
+
+{% prettify dart tag=pre+code %}
+class C {}
+{% endprettify %}
+
+If the member is intended to be a concrete instance member, then make it
+so:
+
+{% prettify dart tag=pre+code %}
+import 'package:meta/meta.dart';
+
+abstract class C {
+  @nonVirtual
+  void m() {}
+}
+{% endprettify %}
+
+If the member is not intended to be a concrete instance member, then
+remove the annotation:
+
+{% prettify dart tag=pre+code %}
+abstract class C {
+  static void m() {}
+}
+{% endprettify %}
+
 ### invalid_null_aware_operator
 
 _The receiver can't be null because of short-circuiting, so the null-aware
@@ -8799,6 +9128,67 @@
 }
 {% endprettify %}
 
+### invalid_override_of_non_virtual_member
+
+_The member '{0}' is declared non-virtual in '{1}' and can't be overridden in
+subclasses._
+
+#### Description
+
+The analyzer produces this diagnostic when a member of a class, mixin, or
+enum overrides a member that has the `@nonVirtual` annotation on it.
+
+#### Example
+
+The following code produces this diagnostic because the method `m` in `B`
+overrides the method `m` in `A`, and the method `m` in `A` is annotated
+with the `@nonVirtual` annotation:
+
+{% prettify dart tag=pre+code %}
+import 'package:meta/meta.dart';
+
+class A {
+  @nonVirtual
+  void m() {}
+}
+
+class B extends A {
+  @override
+  void [!m!]() {}
+}
+{% endprettify %}
+
+#### Common fixes
+
+If the annotation on the method in the superclass is correct (the method
+in the superclass is not intended to be overridden), then remove or rename
+the overriding method:
+
+{% prettify dart tag=pre+code %}
+import 'package:meta/meta.dart';
+
+class A {
+  @nonVirtual
+  void m() {}
+}
+
+class B extends A {}
+{% endprettify %}
+
+If the method in the superclass is intended to be overridden, then remove
+the `@nonVirtual` annotation:
+
+{% prettify dart tag=pre+code %}
+class A {
+  void m() {}
+}
+
+class B extends A {
+  @override
+  void m() {}
+}
+{% endprettify %}
+
 ### invalid_reference_to_generative_enum_constructor
 
 _Generative enum constructors can only be used as targets of redirection._
@@ -8946,6 +9336,39 @@
 }
 {% endprettify %}
 
+### invalid_sealed_annotation
+
+_The annotation '@sealed' can only be applied to classes._
+
+#### Description
+
+The analyzer produces this diagnostic when a declaration other than a
+class declaration has the `@sealed` annotation on it.
+
+#### Example
+
+The following code produces this diagnostic because the `@sealed`
+annotation is on a method declaration:
+
+{% prettify dart tag=pre+code %}
+import 'package:meta/meta.dart';
+
+class A {
+  [!@sealed!]
+  void m() {}
+}
+{% endprettify %}
+
+#### Common fixes
+
+Remove the annotation:
+
+{% prettify dart tag=pre+code %}
+class A {
+  void m() {}
+}
+{% endprettify %}
+
 ### invalid_super_formal_parameter_location
 
 _Super parameters can only be used in non-redirecting generative constructors._
@@ -9249,6 +9672,61 @@
 
 Remove the invalid use of the member.
 
+### invalid_use_of_visible_for_testing_member
+
+_The member '{0}' can only be used within '{1}' or a test._
+
+#### Description
+
+The analyzer produces this diagnostic when a member annotated with
+`@visibleForTesting` is referenced anywhere other than the library in
+which it is declared or in a library in the `test` directory.
+
+#### Example
+
+Given a file named `c.dart` that contains the following:
+
+{% prettify dart tag=pre+code %}
+import 'package:meta/meta.dart';
+
+class C {
+  @visibleForTesting
+  void m() {}
+}
+{% endprettify %}
+
+The following code, when not inside the `test` directory, produces this
+diagnostic because the method `m` is marked as being visible only for
+tests:
+
+{% prettify dart tag=pre+code %}
+import 'c.dart';
+
+void f(C c) {
+  c.[!m!]();
+}
+{% endprettify %}
+
+#### Common fixes
+
+If the annotated member should not be referenced outside of tests, then
+remove the reference:
+
+{% prettify dart tag=pre+code %}
+import 'c.dart';
+
+void f(C c) {}
+{% endprettify %}
+
+If it's OK to reference the annotated member outside of tests, then remove
+the annotation:
+
+{% prettify dart tag=pre+code %}
+class C {
+  void m() {}
+}
+{% endprettify %}
+
 ### invalid_visibility_annotation
 
 _The member '{0}' is annotated with '{1}', but this annotation is only
@@ -10941,6 +11419,44 @@
 class, then consider adding a field and delegating to the wrapped instance
 of the sealed class.
 
+### mixin_super_class_constraint_deferred_class
+
+_Deferred classes can't be used as superclass constraints._
+
+#### Description
+
+The analyzer produces this diagnostic when a superclass constraint of a
+mixin is imported from a deferred library.
+
+#### Example
+
+The following code produces this diagnostic because the superclass
+constraint of `math.Random` is imported from a deferred library:
+
+{% prettify dart tag=pre+code %}
+import 'dart:async' deferred as async;
+
+mixin M<T> on [!async.Stream<T>!] {}
+{% endprettify %}
+
+#### Common fixes
+
+If the import doesn't need to be deferred, then remove the `deferred`
+keyword:
+
+{% prettify dart tag=pre+code %}
+import 'dart:async' as async;
+
+mixin M<T> on async.Stream<T> {}
+{% endprettify %}
+
+If the import does need to be deferred, then remove the superclass
+constraint:
+
+{% prettify dart tag=pre+code %}
+mixin M<T> {}
+{% endprettify %}
+
 ### mixin_super_class_constraint_non_interface
 
 _Only classes and mixins can be used as superclass constraints._
@@ -18479,6 +18995,58 @@
   meta: ^1.0.2
 ```
 
+### unnecessary_final
+
+_The keyword 'final' isn't necessary because the parameter is implicitly
+'final'._
+
+#### Description
+
+The analyzer produces this diagnostic when either a field initializing
+parameter or a super parameter in a constructor has the keyword `final`.
+In both cases the keyword is unnecessary because the parameter is
+implicitly `final`.
+
+#### Examples
+
+The following code produces this diagnostic because the field initializing
+parameter has the keyword `final`:
+
+{% prettify dart tag=pre+code %}
+class A {
+  int value;
+
+  A([!final!] this.value);
+}
+{% endprettify %}
+
+The following code produces this diagnostic because the super parameter in
+`B` has the keyword `final`:
+
+{% prettify dart tag=pre+code %}
+class A {
+  A(int value);
+}
+
+class B extends A {
+  B([!final!] super.value);
+}
+{% endprettify %}
+
+#### Common fixes
+
+Remove the unnecessary `final` keyword:
+
+{% prettify dart tag=pre+code %}
+class A {
+  A(int value);
+}
+
+class B extends A {
+  B(super.value);
+}
+{% endprettify %}
+
 ### unnecessary_import
 
 _The import of '{0}' is unnecessary because all of the used elements are also
diff --git a/pkg/analyzer/tool/summary/generate.dart b/pkg/analyzer/tool/summary/generate.dart
index 1428a2b..e059a81 100644
--- a/pkg/analyzer/tool/summary/generate.dart
+++ b/pkg/analyzer/tool/summary/generate.dart
@@ -878,7 +878,7 @@
     // Standard flatbuffers only support one root type.  We support multiple
     // root types.  For now work around this by forcing PackageBundle to be the
     // root type.  TODO(paulberry): come up with a better solution.
-    idl_model.ClassDeclaration rootType = _idl.classes['PackageBundle']!;
+    final rootType = _idl.classes['AnalysisDriverResolvedUnit']!;
     out('root_type ${rootType.name};');
     var rootFileIdentifier = rootType.fileIdentifier;
     if (rootFileIdentifier != null) {
diff --git a/pkg/analyzer/tool/summary/stats.dart b/pkg/analyzer/tool/summary/stats.dart
deleted file mode 100644
index a9c094e..0000000
--- a/pkg/analyzer/tool/summary/stats.dart
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-/// This file contains code for collecting statistics about the use of fields in
-/// a summary file.
-import 'dart:io';
-import 'dart:mirrors';
-
-import 'package:analyzer/src/summary/base.dart';
-import 'package:analyzer/src/summary/idl.dart';
-
-main(List<String> args) {
-  if (args.length != 1) {
-    _printUsage();
-    exitCode = 1;
-    return;
-  }
-
-  String inputFilePath = args[0];
-
-  // Read the input.
-  PackageBundle bundle =
-      PackageBundle.fromBuffer(File(inputFilePath).readAsBytesSync());
-
-  // Compute and output stats.
-  Stats stats = Stats();
-  stats.record(bundle);
-  stats.dump();
-}
-
-/// The name of the stats tool.
-const String BINARY_NAME = "stats";
-
-/// Print information about how to use the stats tool.
-void _printUsage() {
-  print('Usage: $BINARY_NAME input_file_path');
-}
-
-/// An instance of [Stats] keeps track of statistics about the use of fields in
-/// summary objects.
-class Stats {
-  /// Map from type to field name to a count of how often the field is used.
-  Map<Type, Map<String, int>> counts = <Type, Map<String, int>>{};
-
-  /// Print out statistics gathered so far.
-  void dump() {
-    counts.forEach((Type type, Map<String, int> typeCounts) {
-      print(type);
-      List<String> keys = typeCounts.keys.toList();
-      keys.sort((a, b) => typeCounts[b]!.compareTo(typeCounts[a]!));
-      for (String key in keys) {
-        print('  $key: ${typeCounts[key]}');
-      }
-      print('');
-    });
-  }
-
-  /// Record statistics for [obj] and all objects it refers to.
-  void record(SummaryClass obj) {
-    Map<String, int> typeCounts =
-        counts.putIfAbsent(obj.runtimeType, () => <String, int>{});
-    obj.toMap().forEach((key, value) {
-      if (value == null ||
-          value == 0 ||
-          value == false ||
-          value == '' ||
-          value is List && value.isEmpty ||
-          // TODO(srawlins): Remove this and enumerate each enum which may
-          // be encountered.
-          // ignore: avoid_dynamic_calls
-          reflect(value).type.isEnum && (value as dynamic).index == 0) {
-        return;
-      }
-      typeCounts.update(key, (value) => value + 1, ifAbsent: () => 0);
-      if (value is SummaryClass) {
-        record(value);
-      } else if (value is List) {
-        for (var element in value) {
-          if (element is SummaryClass) {
-            record(element);
-          }
-        }
-      }
-    });
-  }
-}
diff --git a/pkg/compiler/lib/src/dump_info.dart b/pkg/compiler/lib/src/dump_info.dart
index a1b132b..bf08b01 100644
--- a/pkg/compiler/lib/src/dump_info.dart
+++ b/pkg/compiler/lib/src/dump_info.dart
@@ -1180,7 +1180,7 @@
       {LibraryEntity library}) {
     if (compiler.options.dumpInfo) {
       _entityToNodes.putIfAbsent(entity, () => <jsAst.Node>[]).add(code);
-      _nodeData[code] ??= useBinaryFormat ? CodeSpan() : _CodeData();
+      _nodeData[code] ??= useBinaryFormat ? CodeSpan.empty() : _CodeData();
     }
   }
 
@@ -1189,7 +1189,7 @@
       assert(_constantToNode[constant] == null ||
           _constantToNode[constant] == code);
       _constantToNode[constant] = code;
-      _nodeData[code] ??= useBinaryFormat ? CodeSpan() : _CodeData();
+      _nodeData[code] ??= useBinaryFormat ? CodeSpan.empty() : _CodeData();
     }
   }
 
@@ -1495,6 +1495,8 @@
   @override
   String get text => '$_text';
   int get length => end - start;
+
+  _CodeData() : super.empty();
 }
 
 /// Holds dump-info's mutable state.
diff --git a/pkg/compiler/test/dump_info/data/closures.dart b/pkg/compiler/test/dump_info/data/closures.dart
index 997b340..6eef392 100644
--- a/pkg/compiler/test/dump_info/data/closures.dart
+++ b/pkg/compiler/test/dump_info/data/closures.dart
@@ -3,7 +3,7 @@
   {
   "id": "constant/B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 131,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n"
@@ -11,7 +11,7 @@
   {
   "id": "constant/B.Interceptor_methods = J.Interceptor.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 49,
   "outputUnit": "outputUnit/main",
   "code": "B.Interceptor_methods = J.Interceptor.prototype;\n"
@@ -19,7 +19,7 @@
   {
   "id": "constant/B.JSArray_methods = J.JSArray.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 41,
   "outputUnit": "outputUnit/main",
   "code": "B.JSArray_methods = J.JSArray.prototype;\n"
@@ -27,7 +27,7 @@
   {
   "id": "constant/B.JSString_methods = J.JSString.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 43,
   "outputUnit": "outputUnit/main",
   "code": "B.JSString_methods = J.JSString.prototype;\n"
@@ -35,7 +35,7 @@
   {
   "id": "constant/B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 59,
   "outputUnit": "outputUnit/main",
   "code": "B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n"
@@ -216,7 +216,8 @@
   "sideEffects": "SideEffects(reads nothing; writes field)",
   "inlinedCount": 0,
   "code": "Class1$($T) {\n      var t1 = new A.Class1(new A.Class1_field_closure($T), null, $T._eval$1(\"Class1<0>\"));\n      t1.Class1$0($T);\n      return t1;\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 3
 }],
    holding=[
     {"id":"function/dart:_rti::Rti._eval","mask":null},
@@ -255,7 +256,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "Class1$setFunc(funcField, $T) {\n      return new A.Class1(new A.Class1_field_closure($T), funcField, $T._eval$1(\"Class1<0>\"));\n    }",
-  "type": "dynamic Function(dynamic)"
+  "type": "dynamic Function(dynamic)",
+  "functionKind": 3
 }],
    holding=[
     {"id":"function/dart:_rti::Rti._eval","mask":null},
@@ -284,7 +286,8 @@
   "sideEffects": "SideEffects(reads nothing; writes field)",
   "inlinedCount": 1,
   "code": "",
-  "type": "Class1<#A> Function<#A extends Object?>()"
+  "type": "Class1<#A> Function<#A extends Object?>()",
+  "functionKind": 3
 }]*/
   factory Class1.fact() => new Class1<T>();
   /*member: Class1.fact2:
@@ -319,7 +322,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "Class1_Class1$fact2($T) {\n      return A.Class1$setFunc(new A.Class1_Class1$fact2_closure($T), $T);\n    }",
-  "type": "Class1<#A> Function<#A extends Object?>()"
+  "type": "Class1<#A> Function<#A extends Object?>()",
+  "functionKind": 3
 }],
    holding=[
     {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -349,7 +353,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 1,
   "code": "",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 2
 }]*/
   method1() => T;
   /*member: Class1.method2:
@@ -384,7 +389,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "method2$0() {\n      return new A.Class1_method2_closure(this);\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 2
 }],
    holding=[
     {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -415,7 +421,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 1,
   "code": "",
-  "type": "dynamic Function<#A extends Object?>()"
+  "type": "dynamic Function<#A extends Object?>()",
+  "functionKind": 2
 }]*/
   method3<S>() => S;
   /*member: Class1.method4:
@@ -450,7 +457,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "method4$1$0($S) {\n      return new A.Class1_method4_closure($S);\n    }",
-  "type": "dynamic Function<#A extends Object?>()"
+  "type": "dynamic Function<#A extends Object?>()",
+  "functionKind": 2
 }],
    holding=[
     {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -504,7 +512,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "method5$0() {\n      return new A.Class1_method5_local().call$1$0(type$.double);\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 2
 }],
    holding=[
     {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -583,7 +592,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "method6$1$0($S) {\n      return new A.Class1_method6_closure(this, $S).call$1(new A.Class1_method6_local($S).call$1$0(type$.double));\n    }",
-  "type": "dynamic Function<#A extends Object?>()"
+  "type": "dynamic Function<#A extends Object?>()",
+  "functionKind": 2
 }],
    holding=[
     {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -624,7 +634,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 1,
   "code": "",
-  "type": "dynamic Function<#A extends Object?>()"
+  "type": "dynamic Function<#A extends Object?>()",
+  "functionKind": 0
 }]*/
   static staticMethod1<S>() => S;
   /*member: Class1.staticMethod2:
@@ -659,7 +670,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "Class1_staticMethod2($S) {\n      return new A.Class1_staticMethod2_closure($S);\n    }",
-  "type": "dynamic Function<#A extends Object?>()"
+  "type": "dynamic Function<#A extends Object?>()",
+  "functionKind": 0
 }],
    holding=[
     {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -713,7 +725,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "Class1_staticMethod3() {\n      return new A.Class1_staticMethod3_local().call$1$0(type$.double);\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
    holding=[
     {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -792,7 +805,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "Class1_staticMethod4($S) {\n      return new A.Class1_staticMethod4_closure($S).call$1(new A.Class1_staticMethod4_local($S).call$1$0(type$.double));\n    }",
-  "type": "dynamic Function<#A extends Object?>()"
+  "type": "dynamic Function<#A extends Object?>()",
+  "functionKind": 0
 }],
    holding=[
     {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -834,7 +848,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 1,
   "code": "",
-  "type": "dynamic Function<#A extends Object?>()"
+  "type": "dynamic Function<#A extends Object?>()",
+  "functionKind": 0
 }]*/
 topLevelMethod1<S>() => S;
 
@@ -870,7 +885,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "topLevelMethod2($S) {\n      return new A.topLevelMethod2_closure($S);\n    }",
-  "type": "dynamic Function<#A extends Object?>()"
+  "type": "dynamic Function<#A extends Object?>()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -924,7 +940,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "topLevelMethod3() {\n      return new A.topLevelMethod3_local().call$1$0(type$.double);\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -1003,7 +1020,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "topLevelMethod4($S) {\n      return new A.topLevelMethod4_closure($S).call$1(new A.topLevelMethod4_local($S).call$1$0(type$.double));\n    }",
-  "type": "dynamic Function<#A extends Object?>()"
+  "type": "dynamic Function<#A extends Object?>()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -1067,7 +1085,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "twoLocals() {\n      return new A.twoLocals_local2(new A.twoLocals_local1());\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -1125,7 +1144,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "nested() {\n      var t1 = {};\n      t1.x = null;\n      new A.nested_nested1(t1).call$0();\n      t1.x.call$0();\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -1196,7 +1216,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "nested2() {\n      A.print(new A.nested2_local1().call$0());\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -1267,7 +1288,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "siblings() {\n      A.print(new A.siblings_local1().call$0());\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"function/dart:_rti::_setArrayType","mask":null},
@@ -1307,7 +1329,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "main() {\n      var t2,\n        t1 = type$.int;\n      A.createRuntimeType(A.Class1$(t1).$ti._precomputed1);\n      A.Class1$(t1).method2$0();\n      A.Class1_Class1$fact2(t1).funcField.call$0();\n      A.Class1$(t1);\n      t2 = type$.double;\n      A.createRuntimeType(t2);\n      A.Class1$(t1).method4$1$0(t2);\n      A.Class1$(t1).method5$0();\n      A.Class1$(t1).method6$1$0(t2);\n      A.createRuntimeType(t2);\n      A.Class1_staticMethod2(t2);\n      A.Class1_staticMethod3();\n      A.Class1_staticMethod4(t2);\n      A.createRuntimeType(t2);\n      A.topLevelMethod2(t2);\n      A.topLevelMethod3();\n      A.topLevelMethod4(t2);\n      A.twoLocals();\n      A.nested();\n      A.nested2();\n      A.siblings();\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"field/dart:_rti::Rti._precomputed1","mask":null},
diff --git a/pkg/compiler/test/dump_info/data/deferred/lib.dart b/pkg/compiler/test/dump_info/data/deferred/lib.dart
index 6339eb2..1ebff2d 100644
--- a/pkg/compiler/test/dump_info/data/deferred/lib.dart
+++ b/pkg/compiler/test/dump_info/data/deferred/lib.dart
@@ -36,7 +36,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "_static_0(A, \"lib__defaultArg$closure\", \"defaultArg\", 0);\n\ndefaultArg() {\n      return \"\";\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }]*/
 defaultArg() => "";
 
@@ -66,7 +67,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "_static(A, \"lib__funky$closure\", 0, null, [\"call$1\", \"call$0\"], [\"funky\", function() {\n      return A.funky(A.lib__defaultArg$closure());\n    }], 1, 0);\n\nfunky(x) {\n      return x.call$0();\n    }",
-  "type": "dynamic Function([dynamic])"
+  "type": "dynamic Function([dynamic])",
+  "functionKind": 0
 }]*/
 funky([x = defaultArg]) => x();
 
diff --git a/pkg/compiler/test/dump_info/data/deferred/main.dart b/pkg/compiler/test/dump_info/data/deferred/main.dart
index 84240fe..4baf1e1 100644
--- a/pkg/compiler/test/dump_info/data/deferred/main.dart
+++ b/pkg/compiler/test/dump_info/data/deferred/main.dart
@@ -9,7 +9,7 @@
   {
   "id": "constant/B.C_Deferred = A.lib__funky$closure();\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 39,
   "outputUnit": "outputUnit/1",
   "code": "B.C_Deferred = A.lib__funky$closure();\n"
@@ -17,7 +17,7 @@
   {
   "id": "constant/B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 131,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n"
@@ -25,7 +25,7 @@
   {
   "id": "constant/B.C__RootZone = new A._RootZone();\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 35,
   "outputUnit": "outputUnit/main",
   "code": "B.C__RootZone = new A._RootZone();\n"
@@ -33,7 +33,7 @@
   {
   "id": "constant/B.C__StringStackTrace = new A._StringStackTrace();\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 51,
   "outputUnit": "outputUnit/main",
   "code": "B.C__StringStackTrace = new A._StringStackTrace();\n"
@@ -41,7 +41,7 @@
   {
   "id": "constant/B.Interceptor_methods = J.Interceptor.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 49,
   "outputUnit": "outputUnit/main",
   "code": "B.Interceptor_methods = J.Interceptor.prototype;\n"
@@ -49,7 +49,7 @@
   {
   "id": "constant/B.JSArray_methods = J.JSArray.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 41,
   "outputUnit": "outputUnit/main",
   "code": "B.JSArray_methods = J.JSArray.prototype;\n"
@@ -57,7 +57,7 @@
   {
   "id": "constant/B.JSInt_methods = J.JSInt.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 37,
   "outputUnit": "outputUnit/main",
   "code": "B.JSInt_methods = J.JSInt.prototype;\n"
@@ -65,7 +65,7 @@
   {
   "id": "constant/B.JSString_methods = J.JSString.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 43,
   "outputUnit": "outputUnit/main",
   "code": "B.JSString_methods = J.JSString.prototype;\n"
@@ -73,7 +73,7 @@
   {
   "id": "constant/B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 59,
   "outputUnit": "outputUnit/main",
   "code": "B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n"
@@ -153,7 +153,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "main() {\n      return A.loadDeferredLibrary(\"lib\").then$1$1(new A.main_closure(), type$.Null);\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"function/dart:_js_helper::loadDeferredLibrary","mask":null},
diff --git a/pkg/compiler/test/dump_info/data/deferred_future/lib2.dart b/pkg/compiler/test/dump_info/data/deferred_future/lib2.dart
index 572c050..bfcfa23 100644
--- a/pkg/compiler/test/dump_info/data/deferred_future/lib2.dart
+++ b/pkg/compiler/test/dump_info/data/deferred_future/lib2.dart
@@ -52,7 +52,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 1,
   "code": "",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 2
 }]*/
   method() {}
 }
diff --git a/pkg/compiler/test/dump_info/data/deferred_future/main.dart b/pkg/compiler/test/dump_info/data/deferred_future/main.dart
index 896b6cc..e95b65c 100644
--- a/pkg/compiler/test/dump_info/data/deferred_future/main.dart
+++ b/pkg/compiler/test/dump_info/data/deferred_future/main.dart
@@ -7,7 +7,7 @@
   {
   "id": "constant/B.C_A = new A.A();\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 19,
   "outputUnit": "outputUnit/1",
   "code": "B.C_A = new A.A();\n"
@@ -15,7 +15,7 @@
   {
   "id": "constant/B.C_Deferred = B.C_A;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 22,
   "outputUnit": "outputUnit/1",
   "code": "B.C_Deferred = B.C_A;\n"
@@ -23,7 +23,7 @@
   {
   "id": "constant/B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 131,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n"
@@ -31,7 +31,7 @@
   {
   "id": "constant/B.C__RootZone = new A._RootZone();\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 35,
   "outputUnit": "outputUnit/main",
   "code": "B.C__RootZone = new A._RootZone();\n"
@@ -39,7 +39,7 @@
   {
   "id": "constant/B.C__StringStackTrace = new A._StringStackTrace();\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 51,
   "outputUnit": "outputUnit/main",
   "code": "B.C__StringStackTrace = new A._StringStackTrace();\n"
@@ -47,7 +47,7 @@
   {
   "id": "constant/B.Interceptor_methods = J.Interceptor.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 49,
   "outputUnit": "outputUnit/main",
   "code": "B.Interceptor_methods = J.Interceptor.prototype;\n"
@@ -55,7 +55,7 @@
   {
   "id": "constant/B.JSArray_methods = J.JSArray.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 41,
   "outputUnit": "outputUnit/main",
   "code": "B.JSArray_methods = J.JSArray.prototype;\n"
@@ -63,7 +63,7 @@
   {
   "id": "constant/B.JSInt_methods = J.JSInt.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 37,
   "outputUnit": "outputUnit/main",
   "code": "B.JSInt_methods = J.JSInt.prototype;\n"
@@ -71,7 +71,7 @@
   {
   "id": "constant/B.JSString_methods = J.JSString.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 43,
   "outputUnit": "outputUnit/main",
   "code": "B.JSString_methods = J.JSString.prototype;\n"
@@ -79,7 +79,7 @@
   {
   "id": "constant/B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 59,
   "outputUnit": "outputUnit/main",
   "code": "B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n"
@@ -152,7 +152,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "main() {\n      var $async$goto = 0,\n        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic);\n      var $async$main = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {\n        if ($async$errorCode === 1)\n          return A._asyncRethrow($async$result, $async$completer);\n        while (true)\n          switch ($async$goto) {\n            case 0:\n              // Function start\n              $async$goto = 2;\n              return A._asyncAwait(A.loadDeferredLibrary(\"lib1\"), $async$main);\n            case 2:\n              // returning from await.\n              A.checkDeferredIsLoaded(\"lib1\");\n              A.checkDeferredIsLoaded(\"lib1\");\n              // implicit return\n              return A._asyncReturn(null, $async$completer);\n          }\n      });\n      return A._asyncStartSync($async$main, $async$completer);\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"function/dart:_js_helper::checkDeferredIsLoaded","mask":null},
diff --git a/pkg/compiler/test/dump_info/data/js_members.dart b/pkg/compiler/test/dump_info/data/js_members.dart
index ded91e2..81cdb3e 100644
--- a/pkg/compiler/test/dump_info/data/js_members.dart
+++ b/pkg/compiler/test/dump_info/data/js_members.dart
@@ -3,7 +3,7 @@
   {
   "id": "constant/B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 131,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n"
@@ -11,7 +11,7 @@
   {
   "id": "constant/B.C_JS_CONST0 = function() {\n  var toStringFunction = Object.prototype.toString;\n  function getTag(o) {\n    var s = toStringFunction.call(o);\n    return s.substring(8, s.length - 1);\n  }\n  function getUnknownTag(object, tag) {\n    if (/^HTML[A-Z].*Element$/.test(tag)) {\n      var name = toStringFunction.call(object);\n      if (name == \"[object Object]\") return null;\n      return \"HTMLElement\";\n    }\n  }\n  function getUnknownTagGenericBrowser(object, tag) {\n    if (self.HTMLElement && object instanceof HTMLElement) return \"HTMLElement\";\n    return getUnknownTag(object, tag);\n  }\n  function prototypeForTag(tag) {\n    if (typeof window == \"undefined\") return null;\n    if (typeof window[tag] == \"undefined\") return null;\n    var constructor = window[tag];\n    if (typeof constructor != \"function\") return null;\n    return constructor.prototype;\n  }\n  function discriminator(tag) { return null; }\n  var isBrowser = typeof navigator == \"object\";\n  return {\n    getTag: getTag,\n    getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,\n    prototypeForTag: prototypeForTag,\n    discriminator: discriminator };\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 1133,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST0 = function() {\n  var toStringFunction = Object.prototype.toString;\n  function getTag(o) {\n    var s = toStringFunction.call(o);\n    return s.substring(8, s.length - 1);\n  }\n  function getUnknownTag(object, tag) {\n    if (/^HTML[A-Z].*Element$/.test(tag)) {\n      var name = toStringFunction.call(object);\n      if (name == \"[object Object]\") return null;\n      return \"HTMLElement\";\n    }\n  }\n  function getUnknownTagGenericBrowser(object, tag) {\n    if (self.HTMLElement && object instanceof HTMLElement) return \"HTMLElement\";\n    return getUnknownTag(object, tag);\n  }\n  function prototypeForTag(tag) {\n    if (typeof window == \"undefined\") return null;\n    if (typeof window[tag] == \"undefined\") return null;\n    var constructor = window[tag];\n    if (typeof constructor != \"function\") return null;\n    return constructor.prototype;\n  }\n  function discriminator(tag) { return null; }\n  var isBrowser = typeof navigator == \"object\";\n  return {\n    getTag: getTag,\n    getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,\n    prototypeForTag: prototypeForTag,\n    discriminator: discriminator };\n};\n"
@@ -19,7 +19,7 @@
   {
   "id": "constant/B.C_JS_CONST1 = function(hooks) {\n  if (typeof dartExperimentalFixupGetTag != \"function\") return hooks;\n  hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 167,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST1 = function(hooks) {\n  if (typeof dartExperimentalFixupGetTag != \"function\") return hooks;\n  hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);\n};\n"
@@ -27,7 +27,7 @@
   {
   "id": "constant/B.C_JS_CONST2 = function(hooks) {\n  var getTag = hooks.getTag;\n  var prototypeForTag = hooks.prototypeForTag;\n  function getTagFixed(o) {\n    var tag = getTag(o);\n    if (tag == \"Document\") {\n      if (!!o.xmlVersion) return \"!Document\";\n      return \"!HTMLDocument\";\n    }\n    return tag;\n  }\n  function prototypeForTagFixed(tag) {\n    if (tag == \"Document\") return null;\n    return prototypeForTag(tag);\n  }\n  hooks.getTag = getTagFixed;\n  hooks.prototypeForTag = prototypeForTagFixed;\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 491,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST2 = function(hooks) {\n  var getTag = hooks.getTag;\n  var prototypeForTag = hooks.prototypeForTag;\n  function getTagFixed(o) {\n    var tag = getTag(o);\n    if (tag == \"Document\") {\n      if (!!o.xmlVersion) return \"!Document\";\n      return \"!HTMLDocument\";\n    }\n    return tag;\n  }\n  function prototypeForTagFixed(tag) {\n    if (tag == \"Document\") return null;\n    return prototypeForTag(tag);\n  }\n  hooks.getTag = getTagFixed;\n  hooks.prototypeForTag = prototypeForTagFixed;\n};\n"
@@ -35,7 +35,7 @@
   {
   "id": "constant/B.C_JS_CONST3 = function(hooks) { return hooks; }\n;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 52,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST3 = function(hooks) { return hooks; }\n;\n"
@@ -43,7 +43,7 @@
   {
   "id": "constant/B.C_JS_CONST4 = function(hooks) {\n  var userAgent = typeof navigator == \"object\" ? navigator.userAgent : \"\";\n  if (userAgent.indexOf(\"Trident/\") == -1) return hooks;\n  var getTag = hooks.getTag;\n  var quickMap = {\n    \"BeforeUnloadEvent\": \"Event\",\n    \"DataTransfer\": \"Clipboard\",\n    \"HTMLDDElement\": \"HTMLElement\",\n    \"HTMLDTElement\": \"HTMLElement\",\n    \"HTMLPhraseElement\": \"HTMLElement\",\n    \"Position\": \"Geoposition\"\n  };\n  function getTagIE(o) {\n    var tag = getTag(o);\n    var newTag = quickMap[tag];\n    if (newTag) return newTag;\n    if (tag == \"Object\") {\n      if (window.DataView && (o instanceof window.DataView)) return \"DataView\";\n    }\n    return tag;\n  }\n  function prototypeForTagIE(tag) {\n    var constructor = window[tag];\n    if (constructor == null) return null;\n    return constructor.prototype;\n  }\n  hooks.getTag = getTagIE;\n  hooks.prototypeForTag = prototypeForTagIE;\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 900,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST4 = function(hooks) {\n  var userAgent = typeof navigator == \"object\" ? navigator.userAgent : \"\";\n  if (userAgent.indexOf(\"Trident/\") == -1) return hooks;\n  var getTag = hooks.getTag;\n  var quickMap = {\n    \"BeforeUnloadEvent\": \"Event\",\n    \"DataTransfer\": \"Clipboard\",\n    \"HTMLDDElement\": \"HTMLElement\",\n    \"HTMLDTElement\": \"HTMLElement\",\n    \"HTMLPhraseElement\": \"HTMLElement\",\n    \"Position\": \"Geoposition\"\n  };\n  function getTagIE(o) {\n    var tag = getTag(o);\n    var newTag = quickMap[tag];\n    if (newTag) return newTag;\n    if (tag == \"Object\") {\n      if (window.DataView && (o instanceof window.DataView)) return \"DataView\";\n    }\n    return tag;\n  }\n  function prototypeForTagIE(tag) {\n    var constructor = window[tag];\n    if (constructor == null) return null;\n    return constructor.prototype;\n  }\n  hooks.getTag = getTagIE;\n  hooks.prototypeForTag = prototypeForTagIE;\n};\n"
@@ -51,7 +51,7 @@
   {
   "id": "constant/B.C_JS_CONST5 = function(hooks) {\n  var userAgent = typeof navigator == \"object\" ? navigator.userAgent : \"\";\n  if (userAgent.indexOf(\"Firefox\") == -1) return hooks;\n  var getTag = hooks.getTag;\n  var quickMap = {\n    \"BeforeUnloadEvent\": \"Event\",\n    \"DataTransfer\": \"Clipboard\",\n    \"GeoGeolocation\": \"Geolocation\",\n    \"Location\": \"!Location\",\n    \"WorkerMessageEvent\": \"MessageEvent\",\n    \"XMLDocument\": \"!Document\"};\n  function getTagFirefox(o) {\n    var tag = getTag(o);\n    return quickMap[tag] || tag;\n  }\n  hooks.getTag = getTagFirefox;\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 548,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST5 = function(hooks) {\n  var userAgent = typeof navigator == \"object\" ? navigator.userAgent : \"\";\n  if (userAgent.indexOf(\"Firefox\") == -1) return hooks;\n  var getTag = hooks.getTag;\n  var quickMap = {\n    \"BeforeUnloadEvent\": \"Event\",\n    \"DataTransfer\": \"Clipboard\",\n    \"GeoGeolocation\": \"Geolocation\",\n    \"Location\": \"!Location\",\n    \"WorkerMessageEvent\": \"MessageEvent\",\n    \"XMLDocument\": \"!Document\"};\n  function getTagFirefox(o) {\n    var tag = getTag(o);\n    return quickMap[tag] || tag;\n  }\n  hooks.getTag = getTagFirefox;\n};\n"
@@ -59,7 +59,7 @@
   {
   "id": "constant/B.C_JS_CONST6 = function(getTagFallback) {\n  return function(hooks) {\n    if (typeof navigator != \"object\") return hooks;\n    var ua = navigator.userAgent;\n    if (ua.indexOf(\"DumpRenderTree\") >= 0) return hooks;\n    if (ua.indexOf(\"Chrome\") >= 0) {\n      function confirm(p) {\n        return typeof window == \"object\" && window[p] && window[p].name == p;\n      }\n      if (confirm(\"Window\") && confirm(\"HTMLElement\")) return hooks;\n    }\n    hooks.getTag = getTagFallback;\n  };\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 482,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST6 = function(getTagFallback) {\n  return function(hooks) {\n    if (typeof navigator != \"object\") return hooks;\n    var ua = navigator.userAgent;\n    if (ua.indexOf(\"DumpRenderTree\") >= 0) return hooks;\n    if (ua.indexOf(\"Chrome\") >= 0) {\n      function confirm(p) {\n        return typeof window == \"object\" && window[p] && window[p].name == p;\n      }\n      if (confirm(\"Window\") && confirm(\"HTMLElement\")) return hooks;\n    }\n    hooks.getTag = getTagFallback;\n  };\n};\n"
@@ -67,7 +67,7 @@
   {
   "id": "constant/B.Interceptor_methods = J.Interceptor.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 49,
   "outputUnit": "outputUnit/main",
   "code": "B.Interceptor_methods = J.Interceptor.prototype;\n"
@@ -75,7 +75,7 @@
   {
   "id": "constant/B.JSArray_methods = J.JSArray.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 41,
   "outputUnit": "outputUnit/main",
   "code": "B.JSArray_methods = J.JSArray.prototype;\n"
@@ -83,7 +83,7 @@
   {
   "id": "constant/B.JSString_methods = J.JSString.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 43,
   "outputUnit": "outputUnit/main",
   "code": "B.JSString_methods = J.JSString.prototype;\n"
@@ -91,7 +91,7 @@
   {
   "id": "constant/B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 63,
   "outputUnit": "outputUnit/main",
   "code": "B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;\n"
@@ -99,7 +99,7 @@
   {
   "id": "constant/B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 59,
   "outputUnit": "outputUnit/main",
   "code": "B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n"
@@ -107,7 +107,7 @@
   {
   "id": "constant/B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 69,
   "outputUnit": "outputUnit/main",
   "code": "B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;\n"
@@ -115,7 +115,7 @@
   {
   "id": "constant/B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 73,
   "outputUnit": "outputUnit/main",
   "code": "B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;\n"
@@ -196,7 +196,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "singleArg$1(receiver, p0) {\n      return receiver.singleArg(p0);\n    }",
-  "type": "dynamic Function(dynamic)"
+  "type": "dynamic Function(dynamic)",
+  "functionKind": 2
 }]*/
   external singleArg(a);
   /*member: Foo.singlePositionalArg:function=[{
@@ -225,7 +226,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "singlePositionalArg$1(receiver, p0) {\n      return receiver.singlePositionalArg(p0);\n    }\nsinglePositionalArg$0(receiver) {\n      return receiver.singlePositionalArg();\n    }",
-  "type": "dynamic Function([dynamic])"
+  "type": "dynamic Function([dynamic])",
+  "functionKind": 2
 }]*/
   external singlePositionalArg([dynamic? a]);
   /*member: Foo.mixedPositionalArgs:function=[{
@@ -259,7 +261,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "mixedPositionalArgs$1(receiver, p0) {\n      return receiver.mixedPositionalArgs(p0);\n    }\nmixedPositionalArgs$2(receiver, p0, p1) {\n      return receiver.mixedPositionalArgs(p0, p1);\n    }",
-  "type": "dynamic Function(dynamic,[dynamic])"
+  "type": "dynamic Function(dynamic,[dynamic])",
+  "functionKind": 2
 }]*/
   external mixedPositionalArgs(a, [dynamic? b]);
 }
@@ -308,7 +311,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "main() {\n      var foo, t1;\n      self.eval(\"    function Foo() {}\\n    Foo.prototype.singleArg = function(a) {\\n      return a;\\n    }\\n    Foo.prototype.singlePositionalArg = singleArg;\\n    Foo.prototype.mixedPositionalArgs = function(a, b) {\\n      if (arguments.length == 0) return a;\\n      return arguments[arguments.length - 1];\\n    }\\n    var Bar = {\\n      singleArg: function(a) {\\n        return a;\\n      },\\n      singlePositionalArg: singleArg,\\n      mixedPositionalArgs: function(a, b) {\\n        if (arguments.length == 0) return a;\\n        return arguments[arguments.length - 1];\\n      },\\n    };\\n    function singleArg(a) {\\n      return a;\\n    }\\n    var singlePositionalArg = singleArg;\\n    function mixedPositionalArgs(a, b) {\\n      if (arguments.length == 0) return a;\\n      return arguments[arguments.length - 1];\\n    }\\n  \");\n      foo = new self.Foo();\n      t1 = J.getInterceptor$x(foo);\n      A.Expect_equals(t1.singleArg$1(foo, 2), 2);\n      A.Expect_equals(t1.singlePositionalArg$1(foo, 2), 2);\n      A.Expect_equals(t1.singlePositionalArg$0(foo), null);\n      A.Expect_equals(t1.mixedPositionalArgs$1(foo, 3), 3);\n      A.Expect_equals(t1.mixedPositionalArgs$2(foo, 3, 4), 4);\n      A.Expect_equals(self.Bar.singleArg(2), 2);\n      A.Expect_equals(self.Bar.singlePositionalArg(2), 2);\n      A.Expect_equals(self.Bar.singlePositionalArg(), null);\n      A.Expect_equals(self.Bar.mixedPositionalArgs(3), 3);\n      A.Expect_equals(self.Bar.mixedPositionalArgs(3, 4), 4);\n      A.Expect_equals(self.singleArg(2), 2);\n      A.Expect_equals(self.singlePositionalArg(2), 2);\n      A.Expect_equals(self.singlePositionalArg(), null);\n      A.Expect_equals(self.mixedPositionalArgs(3), 3);\n      A.Expect_equals(self.mixedPositionalArgs(3, 4), 4);\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"function/dart:_interceptors::getNativeInterceptor","mask":null},
diff --git a/pkg/compiler/test/dump_info/data/members.dart b/pkg/compiler/test/dump_info/data/members.dart
index 4093694..5fa0d76 100644
--- a/pkg/compiler/test/dump_info/data/members.dart
+++ b/pkg/compiler/test/dump_info/data/members.dart
@@ -3,7 +3,7 @@
   {
   "id": "constant/B.C_A = new A.A();\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 19,
   "outputUnit": "outputUnit/main",
   "code": "B.C_A = new A.A();\n"
@@ -11,7 +11,7 @@
   {
   "id": "constant/B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 131,
   "outputUnit": "outputUnit/main",
   "code": "B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n"
@@ -19,7 +19,7 @@
   {
   "id": "constant/B.Interceptor_methods = J.Interceptor.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 49,
   "outputUnit": "outputUnit/main",
   "code": "B.Interceptor_methods = J.Interceptor.prototype;\n"
@@ -27,7 +27,7 @@
   {
   "id": "constant/B.JSArray_methods = J.JSArray.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 41,
   "outputUnit": "outputUnit/main",
   "code": "B.JSArray_methods = J.JSArray.prototype;\n"
@@ -35,7 +35,7 @@
   {
   "id": "constant/B.JSString_methods = J.JSString.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 43,
   "outputUnit": "outputUnit/main",
   "code": "B.JSString_methods = J.JSString.prototype;\n"
@@ -43,7 +43,7 @@
   {
   "id": "constant/B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 59,
   "outputUnit": "outputUnit/main",
   "code": "B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n"
@@ -51,7 +51,7 @@
   {
   "id": "constant/B.List_A = A._setArrayType(makeConstList([B.C_A]), A.findType(\"JSArray<A>\"));\n",
   "kind": "constant",
-  "name": null,
+  "name": "",
   "size": 78,
   "outputUnit": "outputUnit/main",
   "code": "B.List_A = A._setArrayType(makeConstList([B.C_A]), A.findType(\"JSArray<A>\"));\n"
@@ -174,7 +174,8 @@
   "sideEffects": "SideEffects(reads static; writes static)",
   "inlinedCount": 1,
   "code": "",
-  "type": "bool Function()"
+  "type": "bool Function()",
+  "functionKind": 0
 }]*/
   static bool compute() {
     C.counter += 1;
@@ -207,7 +208,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 1,
   "code": "",
-  "type": "dynamic Function(Object)"
+  "type": "dynamic Function(Object)",
+  "functionKind": 3
 }]*/
   C._default(Object message) : value = message;
 
@@ -238,7 +240,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 1,
   "code": "",
-  "type": "C Function(dynamic)"
+  "type": "C Function(dynamic)",
+  "functionKind": 3
 }],
    holding=[
     {"id":"function/dart:core::Error.Error","mask":"inlined"},
@@ -269,7 +272,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 0,
   "code": "F() {\n    }\n_static_0(A, \"main__F$closure\", \"F\", 0);\n",
-  "type": "void Function()"
+  "type": "void Function()",
+  "functionKind": 0
 }]*/
 void F() {}
 
@@ -333,7 +337,8 @@
   "sideEffects": "SideEffects(reads nothing; writes nothing)",
   "inlinedCount": 1,
   "code": "",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 3
 }]*/
   const A() : a = "hello";
 }
@@ -375,7 +380,8 @@
   "sideEffects": "SideEffects(reads anything; writes anything)",
   "inlinedCount": 0,
   "code": "main() {\n      var r = [];\n      r.push([B.List_A, B.C_A, A.main__F$closure(), $.$get$C_y(), false, \"hello\"]);\n      r.push(B.C_A);\n      r.push(new A.C());\n      A.printString(A.S(r));\n    }",
-  "type": "dynamic Function()"
+  "type": "dynamic Function()",
+  "functionKind": 0
 }],
  holding=[
   {"id":"field/memory:sdk/tests/web/native/main.dart::C.y","mask":null},
diff --git a/pkg/dart2js_info/lib/binary_serialization.dart b/pkg/dart2js_info/lib/binary_serialization.dart
index 043c93b..ace3a48 100644
--- a/pkg/dart2js_info/lib/binary_serialization.dart
+++ b/pkg/dart2js_info/lib/binary_serialization.dart
@@ -183,6 +183,7 @@
   void visitFunction(FunctionInfo function) {
     sink.writeCached(function, (FunctionInfo info) {
       _visitBasicInfo(info);
+      sink.writeInt(info.functionKind);
       sink.writeList(info.closures, visitClosure);
       _visitFunctionModifiers(info.modifiers);
       sink.writeString(info.returnType);
@@ -279,14 +280,14 @@
           "$version.$minorVersion, but decoded with "
           "${info.version}.${info.minorVersion}");
     }
-    info.libraries = source.readList(readLibrary);
-    info.classes = source.readList(readClass);
-    info.classTypes = source.readList(readClassType);
-    info.functions = source.readList(readFunction);
-    info.typedefs = source.readList(readTypedef);
-    info.fields = source.readList(readField);
-    info.constants = source.readList(readConstant);
-    info.closures = source.readList(readClosure);
+    info.libraries.addAll(source.readList(readLibrary));
+    info.classes.addAll(source.readList(readClass));
+    info.classTypes.addAll(source.readList(readClassType));
+    info.functions.addAll(source.readList(readFunction));
+    info.typedefs.addAll(source.readList(readTypedef));
+    info.fields.addAll(source.readList(readField));
+    info.constants.addAll(source.readList(readConstant));
+    info.closures.addAll(source.readList(readClosure));
 
     void readDependencies(CodeInfo info) {
       info.uses = source.readList(_readDependencyInfo);
@@ -303,7 +304,7 @@
       dependenciesTotal--;
     }
 
-    info.outputUnits = source.readList(readOutput);
+    info.outputUnits.addAll(source.readList(readOutput));
 
     Map<String, Map<String, dynamic>> map =
         jsonDecode(source.readString()).cast<String, Map<String, dynamic>>();
@@ -324,21 +325,33 @@
   }
 
   ProgramInfo readProgram() {
-    var info = ProgramInfo();
-    info.entrypoint = readFunction();
-    info.size = source.readInt();
-    info.dart2jsVersion = source.readStringOrNull();
-    info.compilationMoment = readDate();
-    info.compilationDuration = readDuration();
-    info.toJsonDuration = Duration(microseconds: 0);
-    info.dumpInfoDuration = readDuration();
-    info.noSuchMethodEnabled = source.readBool();
-    info.isRuntimeTypeUsed = source.readBool();
-    info.isIsolateInUse = source.readBool();
-    info.isFunctionApplyUsed = source.readBool();
-    info.isMirrorsUsed = source.readBool();
-    info.minified = source.readBool();
-    return info;
+    final entrypoint = readFunction();
+    final size = source.readInt();
+    final dart2jsVersion = source.readStringOrNull();
+    final compilationMoment = readDate();
+    final compilationDuration = readDuration();
+    final toJsonDuration = Duration(microseconds: 0);
+    final dumpInfoDuration = readDuration();
+    final noSuchMethodEnabled = source.readBool();
+    final isRuntimeTypeUsed = source.readBool();
+    final isIsolateInUse = source.readBool();
+    final isFunctionApplyUsed = source.readBool();
+    final isMirrorsUsed = source.readBool();
+    final minified = source.readBool();
+    return ProgramInfo(
+        entrypoint: entrypoint,
+        size: size,
+        dart2jsVersion: dart2jsVersion,
+        compilationMoment: compilationMoment,
+        compilationDuration: compilationDuration,
+        toJsonDuration: toJsonDuration,
+        dumpInfoDuration: dumpInfoDuration,
+        noSuchMethodEnabled: noSuchMethodEnabled,
+        isRuntimeTypeUsed: isRuntimeTypeUsed,
+        isIsolateInUse: isIsolateInUse,
+        isFunctionApplyUsed: isFunctionApplyUsed,
+        isMirrorsUsed: isMirrorsUsed,
+        minified: minified);
   }
 
   void _readBasicInfo(BasicInfo info) {
@@ -353,11 +366,11 @@
         LibraryInfo info = LibraryInfo.internal();
         info.uri = source.readUri();
         _readBasicInfo(info);
-        info.topLevelFunctions = source.readList(readFunction);
-        info.topLevelVariables = source.readList(readField);
-        info.classes = source.readList(readClass);
-        info.classTypes = source.readList(readClassType);
-        info.typedefs = source.readList(readTypedef);
+        info.topLevelFunctions.addAll(source.readList(readFunction));
+        info.topLevelVariables.addAll(source.readList(readField));
+        info.classes.addAll(source.readList(readClass));
+        info.classTypes.addAll(source.readList(readClassType));
+        info.typedefs.addAll(source.readList(readTypedef));
 
         setParent(BasicInfo child) => child.parent = info;
         info.topLevelFunctions.forEach(setParent);
@@ -372,8 +385,8 @@
         ClassInfo info = ClassInfo.internal();
         _readBasicInfo(info);
         info.isAbstract = source.readBool();
-        info.fields = source.readList(readField);
-        info.functions = source.readList(readFunction);
+        info.fields.addAll(source.readList(readField));
+        info.functions.addAll(source.readList(readFunction));
 
         setParent(BasicInfo child) => child.parent = info;
         info.fields.forEach(setParent);
@@ -405,10 +418,10 @@
       });
 
   CodeSpan _readCodeSpan() {
-    return CodeSpan()
-      ..start = source.readIntOrNull()
-      ..end = source.readIntOrNull()
-      ..text = source.readStringOrNull();
+    final start = source.readIntOrNull();
+    final end = source.readIntOrNull();
+    final text = source.readStringOrNull();
+    return CodeSpan(start: start, end: end, text: text);
   }
 
   ConstantInfo _readConstantOrNull() {
@@ -441,6 +454,7 @@
   FunctionInfo readFunction() => source.readCached<FunctionInfo>(() {
         FunctionInfo info = FunctionInfo.internal();
         _readBasicInfo(info);
+        info.functionKind = source.readInt();
         info.closures = source.readList(readClosure);
         info.modifiers = _readFunctionModifiers();
         info.returnType = source.readString();
@@ -484,7 +498,7 @@
         OutputUnitInfo info = OutputUnitInfo.internal();
         _readBasicInfo(info);
         info.filename = source.readStringOrNull();
-        info.imports = source.readList(source.readString);
+        info.imports.addAll(source.readList(source.readString));
         return info;
       });
 }
diff --git a/pkg/dart2js_info/lib/info.dart b/pkg/dart2js_info/lib/info.dart
index d274125..55c3c50 100644
--- a/pkg/dart2js_info/lib/info.dart
+++ b/pkg/dart2js_info/lib/info.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// @dart = 2.11
-
 /// Data produced by dart2js when run with the `--dump-info` flag.
 library dart2js_info.info;
 
@@ -15,21 +13,21 @@
   InfoKind get kind;
 
   /// Name of the element associated with this info.
-  String name;
+  String get name;
 
   /// Id used by the compiler when instrumenting code for code coverage.
   // TODO(sigmund): It would be nice if we could use the same id for
   // serialization and for coverage. Could we unify them?
-  String coverageId;
+  String? get coverageId;
 
   /// Bytes used in the generated code for the corresponding element.
-  int size;
+  int get size;
 
   /// Info of the enclosing element.
-  Info parent;
+  Info? get parent;
 
   /// At which stage of the compiler this component was treeshaken.
-  TreeShakenStatus treeShakenStatus;
+  TreeShakenStatus get treeShakenStatus;
 
   T accept<T>(InfoVisitor<T> visitor);
 }
@@ -45,20 +43,20 @@
   final InfoKind kind;
 
   @override
-  String coverageId;
+  String? coverageId;
   @override
-  int size;
+  late int size;
   @override
-  Info parent;
+  Info? parent;
   @override
   TreeShakenStatus treeShakenStatus = TreeShakenStatus.Dead;
 
   @override
-  String name;
+  late String name;
 
   /// If using deferred libraries, where the element associated with this info
   /// is generated.
-  OutputUnitInfo outputUnit;
+  OutputUnitInfo? outputUnit;
 
   BasicInfo(this.kind, this.name, this.outputUnit, this.size, this.coverageId);
 
@@ -78,45 +76,45 @@
 /// The entire information produced while compiling a program.
 class AllInfo {
   /// Summary information about the program.
-  ProgramInfo program;
+  ProgramInfo? program;
 
   /// Information about each library processed by the compiler.
-  List<LibraryInfo> libraries = <LibraryInfo>[];
+  final List<LibraryInfo> libraries = <LibraryInfo>[];
 
   /// Information about each function (includes methods and getters in any
   /// library)
-  List<FunctionInfo> functions = <FunctionInfo>[];
+  final List<FunctionInfo> functions = <FunctionInfo>[];
 
   /// Information about type defs in the program.
-  List<TypedefInfo> typedefs = <TypedefInfo>[];
+  final List<TypedefInfo> typedefs = <TypedefInfo>[];
 
   /// Information about each class (in any library).
-  List<ClassInfo> classes = <ClassInfo>[];
+  final List<ClassInfo> classes = <ClassInfo>[];
 
   /// Information about each class type (in any library).
-  List<ClassTypeInfo> classTypes = <ClassTypeInfo>[];
+  final List<ClassTypeInfo> classTypes = <ClassTypeInfo>[];
 
   /// Information about fields (in any class).
-  List<FieldInfo> fields = <FieldInfo>[];
+  final List<FieldInfo> fields = <FieldInfo>[];
 
   /// Information about constants anywhere in the program.
   // TODO(sigmund): expand docs about canonicalization. We don't put these
   // inside library because a single constant can be used in more than one lib,
   // and we'll include it only once in the output.
-  List<ConstantInfo> constants = <ConstantInfo>[];
+  final List<ConstantInfo> constants = <ConstantInfo>[];
 
   /// Information about closures anywhere in the program.
-  List<ClosureInfo> closures = <ClosureInfo>[];
+  final List<ClosureInfo> closures = <ClosureInfo>[];
 
   /// Information about output units (should be just one entry if not using
   /// deferred loading).
-  List<OutputUnitInfo> outputUnits = <OutputUnitInfo>[];
+  final List<OutputUnitInfo> outputUnits = <OutputUnitInfo>[];
 
   /// Details about all deferred imports and what files would be loaded when the
   /// import is resolved.
   // TODO(sigmund): use a different format for dump-info. This currently emits
   // the same map that is created for the `--deferred-map` flag.
-  Map<String, Map<String, dynamic>> deferredFiles;
+  Map<String, Map<String, dynamic>>? deferredFiles;
 
   /// A new representation of dependencies from one info to another. An entry in
   /// this map indicates that an [Info] depends on another (e.g. a function
@@ -142,45 +140,45 @@
 }
 
 class ProgramInfo {
-  FunctionInfo entrypoint;
-  int size;
-  String dart2jsVersion;
-  DateTime compilationMoment;
-  Duration compilationDuration;
-  Duration toJsonDuration;
-  Duration dumpInfoDuration;
+  final FunctionInfo entrypoint;
+  final int size;
+  final String? dart2jsVersion;
+  final DateTime compilationMoment;
+  final Duration compilationDuration;
+  final Duration toJsonDuration;
+  final Duration dumpInfoDuration;
 
   /// `true` if `noSuchMethod` is used.
-  bool noSuchMethodEnabled;
+  final bool noSuchMethodEnabled;
 
   /// `true` if `Object.runtimeType` is used.
-  bool isRuntimeTypeUsed;
+  final bool isRuntimeTypeUsed;
 
   /// `true` if the `dart:isolate` library is in use.
-  bool isIsolateInUse;
+  final bool isIsolateInUse;
 
   /// `true` if `Function.apply` is used.
-  bool isFunctionApplyUsed;
+  final bool isFunctionApplyUsed;
 
   /// `true` if `dart:mirrors` features are used.
-  bool isMirrorsUsed;
+  final bool isMirrorsUsed;
 
-  bool minified;
+  final bool minified;
 
   ProgramInfo(
-      {this.entrypoint,
-      this.size,
-      this.dart2jsVersion,
-      this.compilationMoment,
-      this.compilationDuration,
-      this.toJsonDuration,
-      this.dumpInfoDuration,
-      this.noSuchMethodEnabled,
-      this.isRuntimeTypeUsed,
-      this.isIsolateInUse,
-      this.isFunctionApplyUsed,
-      this.isMirrorsUsed,
-      this.minified});
+      {required this.entrypoint,
+      required this.size,
+      required this.dart2jsVersion,
+      required this.compilationMoment,
+      required this.compilationDuration,
+      required this.toJsonDuration,
+      required this.dumpInfoDuration,
+      required this.noSuchMethodEnabled,
+      required this.isRuntimeTypeUsed,
+      required this.isIsolateInUse,
+      required this.isFunctionApplyUsed,
+      required this.isMirrorsUsed,
+      required this.minified});
 
   T accept<T>(InfoVisitor<T> visitor) => visitor.visitProgram(this);
 }
@@ -188,22 +186,22 @@
 /// Info associated with a library element.
 class LibraryInfo extends BasicInfo {
   /// Canonical uri that identifies the library.
-  Uri uri;
+  late final Uri uri;
 
   /// Top level functions defined within the library.
-  List<FunctionInfo> topLevelFunctions = <FunctionInfo>[];
+  final List<FunctionInfo> topLevelFunctions = <FunctionInfo>[];
 
   /// Top level fields defined within the library.
-  List<FieldInfo> topLevelVariables = <FieldInfo>[];
+  final List<FieldInfo> topLevelVariables = <FieldInfo>[];
 
   /// Classes defined within the library.
-  List<ClassInfo> classes = <ClassInfo>[];
+  final List<ClassInfo> classes = <ClassInfo>[];
 
   /// Class types defined within the library.
-  List<ClassTypeInfo> classTypes = <ClassTypeInfo>[];
+  final List<ClassTypeInfo> classTypes = <ClassTypeInfo>[];
 
   /// Typedefs defined within the library.
-  List<TypedefInfo> typedefs = <TypedefInfo>[];
+  final List<TypedefInfo> typedefs = <TypedefInfo>[];
 
   // TODO(sigmund): add here a list of parts. That can help us improve how we
   // encode source-span information in metrics (rather than include the uri on
@@ -229,10 +227,10 @@
 /// program unless the application uses deferred imports, in which case there
 /// would be an additional output unit per deferred chunk.
 class OutputUnitInfo extends BasicInfo {
-  String filename;
+  late final String filename;
 
   /// The deferred imports that will load this output unit.
-  List<String> imports = <String>[];
+  final List<String> imports = <String>[];
 
   OutputUnitInfo(this.filename, String name, int size)
       : super(InfoKind.outputUnit, name, null, size, null);
@@ -246,19 +244,22 @@
 /// Information about a class element.
 class ClassInfo extends BasicInfo {
   /// Whether the class is abstract.
-  bool isAbstract;
+  late final bool isAbstract;
 
   // TODO(sigmund): split static vs instance vs closures
   /// Functions (static or instance) defined in the class.
-  List<FunctionInfo> functions = <FunctionInfo>[];
+  final List<FunctionInfo> functions = <FunctionInfo>[];
 
   /// Fields defined in the class.
   // TODO(sigmund): currently appears to only be populated with instance fields,
   // but this should be fixed.
-  List<FieldInfo> fields = <FieldInfo>[];
+  final List<FieldInfo> fields = <FieldInfo>[];
 
   ClassInfo(
-      {String name, this.isAbstract, OutputUnitInfo outputUnit, int size = 0})
+      {required String name,
+      required this.isAbstract,
+      OutputUnitInfo? outputUnit,
+      int size = 0})
       : super(InfoKind.clazz, name, outputUnit, size, null);
 
   ClassInfo.internal() : super.internal(InfoKind.clazz);
@@ -271,7 +272,8 @@
 /// [ClassInfo] because a class and its type may end up in different output
 /// units.
 class ClassTypeInfo extends BasicInfo {
-  ClassTypeInfo({String name, OutputUnitInfo outputUnit, int size = 0})
+  ClassTypeInfo(
+      {required String name, OutputUnitInfo? outputUnit, int size = 0})
       : super(InfoKind.classType, name, outputUnit, size, null);
 
   ClassTypeInfo.internal() : super.internal(InfoKind.classType);
@@ -285,27 +287,28 @@
 /// file of [BasicInfo.outputUnit].
 class CodeSpan {
   /// Start offset in the generated file.
-  int start;
+  late final int start;
 
   /// end offset in the generated file.
-  int end;
+  late final int end;
 
   /// The actual code (optional, blank when using a compact representation of
   /// the encoding).
-  String text;
+  String? text;
 
-  CodeSpan({this.start, this.end, this.text});
+  CodeSpan({required this.start, required this.end, this.text});
+  CodeSpan.empty();
 }
 
 /// Information about a constant value.
 // TODO(sigmund): add dependency data for ConstantInfo
 class ConstantInfo extends BasicInfo {
   /// The actual generated code for the constant.
-  List<CodeSpan> code;
+  late final List<CodeSpan> code;
 
   // TODO(sigmund): Add coverage support to constants?
-  ConstantInfo({int size = 0, this.code, OutputUnitInfo outputUnit})
-      : super(InfoKind.constant, null, outputUnit, size, null);
+  ConstantInfo({int size = 0, required this.code, OutputUnitInfo? outputUnit})
+      : super(InfoKind.constant, '', outputUnit, size, null);
 
   ConstantInfo.internal() : super.internal(InfoKind.constant);
 
@@ -316,33 +319,32 @@
 /// Information about a field element.
 class FieldInfo extends BasicInfo with CodeInfo {
   /// The type of the field.
-  String type;
+  late final String type;
 
   /// The type inferred by dart2js's whole program analysis
-  String inferredType;
+  late final String inferredType;
 
   /// Nested closures seen in the field initializer.
-  List<ClosureInfo> closures;
+  late final List<ClosureInfo> closures;
 
   /// The actual generated code for the field.
-  List<CodeSpan> code;
+  late final List<CodeSpan> code;
 
   /// Whether this corresponds to a const field declaration.
-  bool isConst;
+  late final bool isConst;
 
   /// When [isConst] is true, the constant initializer expression.
-  ConstantInfo initializer;
+  late final ConstantInfo initializer;
 
   FieldInfo(
-      {String name,
-      String coverageId,
+      {required String name,
+      String? coverageId,
       int size = 0,
-      this.type,
-      this.inferredType,
-      this.closures,
-      this.code,
-      OutputUnitInfo outputUnit,
-      this.isConst})
+      required this.type,
+      required this.inferredType,
+      required this.code,
+      OutputUnitInfo? outputUnit,
+      required this.isConst})
       : super(InfoKind.field, name, outputUnit, size, coverageId);
 
   FieldInfo.internal() : super.internal(InfoKind.field);
@@ -354,7 +356,7 @@
 /// Information about a typedef declaration.
 class TypedefInfo extends BasicInfo {
   /// The declared type.
-  String type;
+  late final String type;
 
   TypedefInfo(String name, this.type, OutputUnitInfo outputUnit)
       : super(InfoKind.typedef, name, outputUnit, 0, null);
@@ -373,51 +375,50 @@
   static const int CONSTRUCTOR_FUNCTION_KIND = 3;
 
   /// Kind of function (top-level function, closure, method, or constructor).
-  int functionKind;
+  late final int functionKind;
 
   /// Modifiers applied to this function.
-  FunctionModifiers modifiers;
+  late final FunctionModifiers modifiers;
 
   /// Nested closures that appear within the body of this function.
-  List<ClosureInfo> closures;
+  late final List<ClosureInfo> closures;
 
   /// The type of this function.
-  String type;
+  late final String type;
 
   /// The declared return type.
-  String returnType;
+  late final String returnType;
 
   /// The inferred return type.
-  String inferredReturnType;
+  late final String inferredReturnType;
 
   /// Name and type information for each parameter.
-  List<ParameterInfo> parameters;
+  late final List<ParameterInfo> parameters;
 
   /// Side-effects.
   // TODO(sigmund): serialize more precisely, not just a string representation.
-  String sideEffects;
+  late final String sideEffects;
 
   /// How many function calls were inlined into this function.
-  int inlinedCount;
+  late final int inlinedCount;
 
   /// The actual generated code.
-  List<CodeSpan> code;
+  late final List<CodeSpan> code;
 
   FunctionInfo(
-      {String name,
-      String coverageId,
-      OutputUnitInfo outputUnit,
+      {required String name,
+      String? coverageId,
+      OutputUnitInfo? outputUnit,
       int size = 0,
-      this.functionKind,
-      this.modifiers,
-      this.closures,
-      this.type,
-      this.returnType,
-      this.inferredReturnType,
-      this.parameters,
-      this.sideEffects,
-      this.inlinedCount,
-      this.code})
+      required this.functionKind,
+      required this.modifiers,
+      required this.type,
+      required this.returnType,
+      required this.inferredReturnType,
+      required this.parameters,
+      required this.sideEffects,
+      required this.inlinedCount,
+      required this.code})
       : super(InfoKind.function, name, outputUnit, size, coverageId);
 
   FunctionInfo.internal() : super.internal(InfoKind.function);
@@ -429,10 +430,9 @@
 /// Information about a closure, also known as a local function.
 class ClosureInfo extends BasicInfo {
   /// The function that is wrapped by this closure.
-  FunctionInfo function;
+  late final FunctionInfo function;
 
-  ClosureInfo(
-      {String name, OutputUnitInfo outputUnit, int size = 0, this.function})
+  ClosureInfo({required String name, OutputUnitInfo? outputUnit, int size = 0})
       : super(InfoKind.closure, name, outputUnit, size, null);
 
   ClosureInfo.internal() : super.internal(InfoKind.closure);
@@ -477,8 +477,8 @@
     this.isConst = false,
     this.isFactory = false,
     this.isExternal = false,
-    this.isGetter,
-    this.isSetter,
+    this.isGetter = false,
+    this.isSetter = false,
   });
 }
 
@@ -495,7 +495,7 @@
   closure,
 }
 
-String kindToString(InfoKind kind) {
+String? kindToString(InfoKind kind) {
   switch (kind) {
     case InfoKind.library:
       return 'library';
@@ -520,7 +520,7 @@
   }
 }
 
-InfoKind kindFromString(String kind) {
+InfoKind? kindFromString(String kind) {
   switch (kind) {
     case 'library':
       return InfoKind.library;
diff --git a/pkg/dart2js_info/lib/json_info_codec.dart b/pkg/dart2js_info/lib/json_info_codec.dart
index a6a4a71..16dd5c4 100644
--- a/pkg/dart2js_info/lib/json_info_codec.dart
+++ b/pkg/dart2js_info/lib/json_info_codec.dart
@@ -176,6 +176,7 @@
   ConstantInfo parseConstant(Map json) {
     ConstantInfo result = parseId(json['id']);
     return result
+      ..name = json['name']
       ..code = parseCode(json['code'])
       ..size = json['size']
       ..outputUnit = parseId(json['outputUnit']);
@@ -191,43 +192,36 @@
   }
 
   ProgramInfo parseProgram(Map json) {
-    var programInfo = ProgramInfo()
-      ..entrypoint = parseId(json['entrypoint'])
-      ..size = json['size']
-      ..compilationMoment = DateTime.parse(json['compilationMoment'])
-      ..dart2jsVersion = json['dart2jsVersion']
-      ..noSuchMethodEnabled = json['noSuchMethodEnabled']
-      ..isRuntimeTypeUsed = json['isRuntimeTypeUsed']
-      ..isIsolateInUse = json['isIsolateInUse']
-      ..isFunctionApplyUsed = json['isFunctionApplyUsed']
-      ..isMirrorsUsed = json['isMirrorsUsed']
-      ..minified = json['minified'];
-
     // TODO(het): Revert this when the dart2js with the new codec is in stable
-    var compilationDuration = json['compilationDuration'];
-    if (compilationDuration is String) {
-      programInfo.compilationDuration = _parseDuration(compilationDuration);
-    } else {
-      assert(compilationDuration is int);
-      programInfo.compilationDuration =
-          Duration(microseconds: compilationDuration);
-    }
+    final compilationDuration = json['compilationDuration'];
+    final compilationDurationParsed = compilationDuration is String
+        ? _parseDuration(compilationDuration)
+        : Duration(microseconds: compilationDuration as int);
 
-    var toJsonDuration = json['toJsonDuration'];
-    if (toJsonDuration is String) {
-      programInfo.toJsonDuration = _parseDuration(toJsonDuration);
-    } else {
-      assert(toJsonDuration is int);
-      programInfo.toJsonDuration = Duration(microseconds: toJsonDuration);
-    }
+    final toJsonDuration = json['toJsonDuration'];
+    final toJsonDurationParsed = toJsonDuration is String
+        ? _parseDuration(toJsonDuration)
+        : Duration(microseconds: toJsonDuration as int);
 
-    var dumpInfoDuration = json['dumpInfoDuration'];
-    if (dumpInfoDuration is String) {
-      programInfo.dumpInfoDuration = _parseDuration(dumpInfoDuration);
-    } else {
-      assert(dumpInfoDuration is int);
-      programInfo.dumpInfoDuration = Duration(microseconds: dumpInfoDuration);
-    }
+    final dumpInfoDuration = json['dumpInfoDuration'];
+    final dumpInfoDurationParsed = dumpInfoDuration is String
+        ? _parseDuration(dumpInfoDuration)
+        : Duration(microseconds: dumpInfoDuration as int);
+
+    final programInfo = ProgramInfo(
+        entrypoint: parseId(json['entrypoint']),
+        size: json['size'],
+        compilationMoment: DateTime.parse(json['compilationMoment']),
+        dart2jsVersion: json['dart2jsVersion'],
+        noSuchMethodEnabled: json['noSuchMethodEnabled'],
+        isRuntimeTypeUsed: json['isRuntimeTypeUsed'],
+        isIsolateInUse: json['isIsolateInUse'],
+        isFunctionApplyUsed: json['isFunctionApplyUsed'],
+        isMirrorsUsed: json['isMirrorsUsed'],
+        minified: json['minified'],
+        compilationDuration: compilationDurationParsed,
+        toJsonDuration: toJsonDurationParsed,
+        dumpInfoDuration: dumpInfoDurationParsed);
 
     return programInfo;
   }
@@ -258,6 +252,7 @@
       ..coverageId = json['coverageId']
       ..outputUnit = parseId(json['outputUnit'])
       ..size = json['size']
+      ..functionKind = json['functionKind']
       ..type = json['type']
       ..returnType = json['returnType']
       ..inferredReturnType = json['inferredReturnType']
@@ -370,7 +365,7 @@
     String name;
     if (info is ConstantInfo) {
       // No name and no parent, so `longName` isn't helpful
-      assert(info.name == null);
+      assert(info.name.isEmpty);
       assert(info.parent == null);
       assert(info.code != null);
       // Instead, use the content of the code.
@@ -592,6 +587,7 @@
         'inlinedCount': info.inlinedCount,
         'code': _serializeCode(info.code),
         'type': info.type,
+        'functionKind': info.functionKind,
         // Note: version 3.2 of dump-info serializes `uses` in a section called
         // `holding` at the top-level.
       });
diff --git a/pkg/dart2js_info/lib/proto_info_codec.dart b/pkg/dart2js_info/lib/proto_info_codec.dart
index 60bd5fa..7007203 100644
--- a/pkg/dart2js_info/lib/proto_info_codec.dart
+++ b/pkg/dart2js_info/lib/proto_info_codec.dart
@@ -43,7 +43,7 @@
     int id;
     if (info is ConstantInfo) {
       // No name and no parent, so `longName` isn't helpful
-      assert(info.name == null);
+      assert(info.name.isEmpty);
       assert(info.parent == null);
       assert(info.code != null);
       // Instead, use the content of the code.
diff --git a/pkg/dart2js_info/lib/src/binary/sink.dart b/pkg/dart2js_info/lib/src/binary/sink.dart
index 7c1f821..c430fa7 100644
--- a/pkg/dart2js_info/lib/src/binary/sink.dart
+++ b/pkg/dart2js_info/lib/src/binary/sink.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// @dart = 2.11
-
 import 'dart:convert';
 import 'dart:typed_data';
 
@@ -89,7 +87,7 @@
 /// Mixin that implements all convenience methods of [DataSink].
 abstract class DataSinkMixin implements DataSink {
   @override
-  void writeIntOrNull(int value) {
+  void writeIntOrNull(int? value) {
     writeBool(value != null);
     if (value != null) {
       writeInt(value);
@@ -97,7 +95,7 @@
   }
 
   @override
-  void writeStringOrNull(String value) {
+  void writeStringOrNull(String? value) {
     writeBool(value != null);
     if (value != null) {
       writeString(value);
@@ -105,7 +103,7 @@
   }
 
   @override
-  void writeStrings(Iterable<String> values, {bool allowNull = false}) {
+  void writeStrings(Iterable<String>? values, {bool allowNull = false}) {
     if (values == null) {
       assert(allowNull);
       writeInt(0);
@@ -118,7 +116,7 @@
   }
 
   @override
-  void writeStringMap<V>(Map<String, V> map, void Function(V value) f,
+  void writeStringMap<V>(Map<String, V>? map, void Function(V value) f,
       {bool allowNull = false}) {
     if (map == null) {
       assert(allowNull);
@@ -133,7 +131,7 @@
   }
 
   @override
-  void writeList<E>(Iterable<E> values, void Function(E value) f,
+  void writeList<E>(Iterable<E>? values, void Function(E value) f,
       {bool allowNull = false}) {
     if (values == null) {
       assert(allowNull);
@@ -165,7 +163,7 @@
   /// If [value] has not been canonicalized yet, [writeValue] is called to
   /// serialize the [value] itself.
   void write(E value, void Function(E value) writeValue) {
-    int index = _cache[value];
+    int? index = _cache[value];
     if (index == null) {
       index = _cache.length;
       _cache[value] = index;
@@ -180,8 +178,8 @@
 /// Base implementation of [DataSink] using [DataSinkMixin] to implement
 /// convenience methods.
 abstract class AbstractDataSink extends DataSinkMixin implements DataSink {
-  IndexedSink<String> _stringIndex;
-  IndexedSink<Uri> _uriIndex;
+  late final IndexedSink<String> _stringIndex;
+  late final IndexedSink<Uri> _uriIndex;
   final Map<Type, IndexedSink> _generalCaches = {};
 
   AbstractDataSink() {
@@ -202,25 +200,21 @@
 
   @override
   void writeBool(bool value) {
-    assert(value != null);
     _writeIntInternal(value ? 1 : 0);
   }
 
   @override
   void writeUri(Uri value) {
-    assert(value != null);
     _writeUri(value);
   }
 
   @override
   void writeString(String value) {
-    assert(value != null);
     _writeString(value);
   }
 
   @override
   void writeInt(int value) {
-    assert(value != null);
     assert(value >= 0 && value >> 30 == 0);
     _writeIntInternal(value);
   }
@@ -252,7 +246,8 @@
 /// This data sink works together with [BinarySource].
 class BinarySink extends AbstractDataSink {
   final Sink<List<int>> sink;
-  BufferedSink _bufferedSink;
+  // Nullable so we can allow it to be GCed on close.
+  BufferedSink? _bufferedSink;
   int _length = 0;
 
   BinarySink(this.sink) : _bufferedSink = BufferedSink(sink);
@@ -266,7 +261,7 @@
   void _writeStringInternal(String value) {
     List<int> bytes = utf8.encode(value);
     _writeIntInternal(bytes.length);
-    _bufferedSink.addBytes(bytes);
+    _bufferedSink!.addBytes(bytes);
     _length += bytes.length;
   }
 
@@ -274,13 +269,13 @@
   void _writeIntInternal(int value) {
     assert(value >= 0 && value >> 30 == 0);
     if (value < 0x80) {
-      _bufferedSink.addByte(value);
+      _bufferedSink!.addByte(value);
       _length += 1;
     } else if (value < 0x4000) {
-      _bufferedSink.addByte2((value >> 8) | 0x80, value & 0xFF);
+      _bufferedSink!.addByte2((value >> 8) | 0x80, value & 0xFF);
       _length += 2;
     } else {
-      _bufferedSink.addByte4((value >> 24) | 0xC0, (value >> 16) & 0xFF,
+      _bufferedSink!.addByte4((value >> 24) | 0xC0, (value >> 16) & 0xFF,
           (value >> 8) & 0xFF, value & 0xFF);
       _length += 4;
     }
@@ -293,7 +288,7 @@
 
   @override
   void close() {
-    _bufferedSink.flushAndDestroy();
+    _bufferedSink!.flushAndDestroy();
     _bufferedSink = null;
     sink.close();
   }
@@ -316,19 +311,20 @@
   int flushedLength = 0;
 
   final Float64List _doubleBuffer = Float64List(1);
-  Uint8List _doubleBufferUint8;
+  Uint8List? _doubleBufferUint8;
 
   int get offset => length + flushedLength;
 
   BufferedSink(this._sink);
 
   void addDouble(double d) {
-    _doubleBufferUint8 ??= _doubleBuffer.buffer.asUint8List();
+    final doubleBufferUint8 =
+        _doubleBufferUint8 ??= _doubleBuffer.buffer.asUint8List();
     _doubleBuffer[0] = d;
-    addByte4(_doubleBufferUint8[0], _doubleBufferUint8[1],
-        _doubleBufferUint8[2], _doubleBufferUint8[3]);
-    addByte4(_doubleBufferUint8[4], _doubleBufferUint8[5],
-        _doubleBufferUint8[6], _doubleBufferUint8[7]);
+    addByte4(doubleBufferUint8[0], doubleBufferUint8[1], doubleBufferUint8[2],
+        doubleBufferUint8[3]);
+    addByte4(doubleBufferUint8[4], doubleBufferUint8[5], doubleBufferUint8[6],
+        doubleBufferUint8[7]);
   }
 
   void addByte(int byte) {
diff --git a/pkg/dart2js_info/lib/src/binary/source.dart b/pkg/dart2js_info/lib/src/binary/source.dart
index ef68784..e158364 100644
--- a/pkg/dart2js_info/lib/src/binary/source.dart
+++ b/pkg/dart2js_info/lib/src/binary/source.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// @dart = 2.11
-
 import 'dart:convert';
 import 'dart:typed_data';
 
@@ -19,14 +17,14 @@
   ///
   /// This is a convenience method to be used together with
   /// [DataSink.writeValueOrNull].
-  E readValueOrNull<E>(E Function() f);
+  E? readValueOrNull<E>(E Function() f);
 
   /// Reads a list of [E] values from this data source. If [emptyAsNull] is
   /// `true`, `null` is returned instead of an empty list.
   ///
   /// This is a convenience method to be used together with
   /// [DataSink.writeList].
-  List<E> readList<E>(E Function() f, {bool emptyAsNull = false});
+  List<E>? readList<E>(E Function() f, {bool emptyAsNull = false});
 
   /// Reads a boolean value from this data source.
   bool readBool();
@@ -39,7 +37,7 @@
   ///
   /// This is a convenience method to be used together with
   /// [DataSink.writeIntOrNull].
-  int readIntOrNull();
+  int? readIntOrNull();
 
   /// Reads a string value from this data source.
   String readString();
@@ -48,14 +46,14 @@
   ///
   /// This is a convenience method to be used together with
   /// [DataSink.writeStringOrNull].
-  String readStringOrNull();
+  String? readStringOrNull();
 
   /// Reads a list of string values from this data source. If [emptyAsNull] is
   /// `true`, `null` is returned instead of an empty list.
   ///
   /// This is a convenience method to be used together with
   /// [DataSink.writeStrings].
-  List<String> readStrings({bool emptyAsNull = false});
+  List<String>? readStrings({bool emptyAsNull = false});
 
   /// Reads a map from string values to [V] values from this data source,
   /// calling [f] to read each value from the data source. If [emptyAsNull] is
@@ -63,7 +61,7 @@
   ///
   /// This is a convenience method to be used together with
   /// [DataSink.writeStringMap].
-  Map<String, V> readStringMap<V>(V Function() f, {bool emptyAsNull = false});
+  Map<String, V>? readStringMap<V>(V Function() f, {bool emptyAsNull = false});
 
   /// Reads an enum value from the list of enum [values] from this data source.
   ///
@@ -83,7 +81,7 @@
 /// Mixin that implements all convenience methods of [DataSource].
 abstract class DataSourceMixin implements DataSource {
   @override
-  E readValueOrNull<E>(E Function() f) {
+  E? readValueOrNull<E>(E Function() f) {
     bool hasValue = readBool();
     if (hasValue) {
       return f();
@@ -92,14 +90,14 @@
   }
 
   @override
-  List<E> readList<E>(E Function() f, {bool emptyAsNull = false}) {
+  List<E>? readList<E>(E Function() f, {bool emptyAsNull = false}) {
     int count = readInt();
     if (count == 0 && emptyAsNull) return null;
     return List.generate(count, (i) => f());
   }
 
   @override
-  int readIntOrNull() {
+  int? readIntOrNull() {
     bool hasValue = readBool();
     if (hasValue) {
       return readInt();
@@ -108,7 +106,7 @@
   }
 
   @override
-  String readStringOrNull() {
+  String? readStringOrNull() {
     bool hasValue = readBool();
     if (hasValue) {
       return readString();
@@ -117,14 +115,14 @@
   }
 
   @override
-  List<String> readStrings({bool emptyAsNull = false}) {
+  List<String>? readStrings({bool emptyAsNull = false}) {
     int count = readInt();
     if (count == 0 && emptyAsNull) return null;
     return List.generate(count, (index) => readString());
   }
 
   @override
-  Map<String, V> readStringMap<V>(V Function() f, {bool emptyAsNull = false}) {
+  Map<String, V>? readStringMap<V>(V Function() f, {bool emptyAsNull = false}) {
     int count = readInt();
     if (count == 0 && emptyAsNull) return null;
     Map<String, V> map = {};
@@ -140,7 +138,7 @@
 /// Data source helper reads canonicalized [E] values through indices.
 class IndexedSource<E> {
   final int Function() _readInt;
-  final List<E> _cache = [];
+  final List<E?> _cache = [];
   final Set<int> _pending = {};
 
   IndexedSource(this._readInt);
@@ -160,7 +158,7 @@
       _cache[index] = value;
       return value;
     } else {
-      return _cache[index];
+      return _cache[index]!;
     }
   }
 }
@@ -169,8 +167,8 @@
 /// convenience methods.
 abstract class AbstractDataSource extends DataSourceMixin
     implements DataSource {
-  IndexedSource<String> _stringIndex;
-  IndexedSource<Uri> _uriIndex;
+  late final IndexedSource<String> _stringIndex;
+  late final IndexedSource<Uri> _uriIndex;
   final Map<Type, IndexedSource> _generalCaches = {};
 
   AbstractDataSource() {
diff --git a/pkg/dart2js_info/lib/src/graph.dart b/pkg/dart2js_info/lib/src/graph.dart
index 3c80ba2..c416b05 100644
--- a/pkg/dart2js_info/lib/src/graph.dart
+++ b/pkg/dart2js_info/lib/src/graph.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// @dart = 2.11
-
 /// A library to work with graphs. It contains a couple algorithms, including
 /// Tarjan's algorithm to compute strongly connected components in a graph and
 /// Cooper et al's dominator algorithm.
@@ -74,7 +72,7 @@
   /// Returns a list of nodes that form a cycle containing the given node. If
   /// the node is not part of a cycle in this graph, then a list containing only
   /// the node itself will be returned.
-  List<N> findCycleContaining(N node) {
+  List<N>? findCycleContaining(N node) {
     assert(node != null);
     _SccFinder<N> finder = _SccFinder<N>(this);
     return finder._componentContaining(node);
@@ -105,10 +103,10 @@
   /// Internally we compute dominators using (Cooper, Harvey, and Kennedy's
   /// algorithm)[http://www.cs.rice.edu/~keith/EMBED/dom.pdf].
   Graph<N> dominatorTree(N root) {
-    var iDom = (_DominatorFinder(this)..run(root)).immediateDominators;
-    var graph = EdgeListGraph<N>();
+    final iDom = (_DominatorFinder(this)..run(root)).immediateDominators;
+    final graph = EdgeListGraph<N>();
     for (N node in iDom.keys) {
-      if (node != root) graph.addEdge(iDom[node], node);
+      if (node != root) graph.addEdge(iDom[node] as N, node);
     }
     return graph;
   }
@@ -136,12 +134,10 @@
   Iterable<N> sourcesOf(N source) => _revEdges[source] ?? _empty;
 
   void addEdge(N source, N target) {
-    assert(source != null);
-    assert(target != null);
     addNode(source);
     addNode(target);
-    _edges[source].add(target);
-    _revEdges[target].add(source);
+    _edges[source]!.add(target);
+    _revEdges[target]!.add(source);
   }
 
   void addNode(N node) {
@@ -165,7 +161,7 @@
     var sources = _revEdges[node];
     if (sources == null) return;
     for (var source in sources) {
-      _edges[source].remove(node);
+      _edges[source]!.remove(node);
     }
   }
 
@@ -189,7 +185,7 @@
   bool onStack = false;
 
   /// Component that contains the corresponding node.
-  List<N> component;
+  List<N>? component;
 
   _NodeInfo(int depth)
       : index = depth,
@@ -221,7 +217,7 @@
 
   /// Return a list containing the nodes that are part of the strongly connected
   /// component that contains the given node.
-  List<N> _componentContaining(N node) => _strongConnect(node).component;
+  List<N>? _componentContaining(N node) => _strongConnect(node).component;
 
   /// Run Tarjan's algorithm and return the resulting list of strongly connected
   /// components. The list is in topological sort order (each node in a strongly
@@ -238,13 +234,13 @@
   /// Remove and return the top-most element from the stack.
   N _pop() {
     N node = _stack.removeAt(_stack.length - 1);
-    _info[node].onStack = false;
+    _info[node]!.onStack = false;
     return node;
   }
 
   /// Add the given node to the stack.
   void _push(N node) {
-    _info[node].onStack = true;
+    _info[node]!.onStack = true;
     _stack.add(node);
   }
 
@@ -276,7 +272,7 @@
       do {
         w = _pop();
         component.add(w);
-        _info[w].component = component;
+        _info[w]!.component = component;
       } while (!identical(w, v));
       _allComponents.add(component);
     }
@@ -306,7 +302,7 @@
       for (var n in nodesInReversedPostOrder) {
         if (n == root) continue;
         bool first = true;
-        N idom;
+        late N idom;
         for (var p in _graph.sourcesOf(n)) {
           if (immediateDominators[p] != null) {
             if (first) {
@@ -329,11 +325,11 @@
     var finger1 = b1;
     var finger2 = b2;
     while (finger1 != finger2) {
-      while (postOrderId[finger1] < postOrderId[finger2]) {
-        finger1 = immediateDominators[finger1];
+      while (postOrderId[finger1]! < postOrderId[finger2]!) {
+        finger1 = immediateDominators[finger1] as N;
       }
-      while (postOrderId[finger2] < postOrderId[finger1]) {
-        finger2 = immediateDominators[finger2];
+      while (postOrderId[finger2]! < postOrderId[finger1]!) {
+        finger2 = immediateDominators[finger2] as N;
       }
     }
     return finger1;
diff --git a/pkg/dart2js_info/test/binary_serialization_test.dart b/pkg/dart2js_info/test/binary_serialization_test.dart
index 3abdf36..73869d5 100644
--- a/pkg/dart2js_info/test/binary_serialization_test.dart
+++ b/pkg/dart2js_info/test/binary_serialization_test.dart
@@ -28,6 +28,8 @@
       var helloWorld = File.fromUri(uri);
       var contents = helloWorld.readAsStringSync();
       var json = jsonDecode(contents);
+      // Clear toJsonDuration for consistency.
+      json['program']['toJsonDuration'] = 0;
       var info = AllInfoJsonCodec().decode(json);
 
       var sink = ByteSink();
@@ -35,7 +37,6 @@
       var info2 = binary.decode(sink.builder.toBytes());
       var json2 = AllInfoJsonCodec().encode(info2);
 
-      info.program.toJsonDuration = Duration(milliseconds: 0);
       var json1 = AllInfoJsonCodec().encode(info);
       var contents1 = const JsonEncoder.withIndent("  ").convert(json1);
       var contents2 = const JsonEncoder.withIndent("  ").convert(json2);
diff --git a/pkg/dart2js_info/test/hello_world/hello_world.js.info.json b/pkg/dart2js_info/test/hello_world/hello_world.js.info.json
index 69acf21..9006151 100644
--- a/pkg/dart2js_info/test/hello_world/hello_world.js.info.json
+++ b/pkg/dart2js_info/test/hello_world/hello_world.js.info.json
@@ -15,7 +15,7 @@
         "id": "library/dart:_interceptors::",
         "kind": "library",
         "name": "_interceptors",
-        "size": 4197,
+        "size": 3634,
         "children": [
           "class/dart:_interceptors::ArrayIterator",
           "class/dart:_interceptors::Interceptor",
@@ -43,21 +43,11 @@
         ],
         "canonicalUri": "dart:_internal"
       },
-      "dart:_js_embedded_names::": {
-        "id": "library/dart:_js_embedded_names::",
-        "kind": "library",
-        "name": "dart2js._embedded_names",
-        "size": 0,
-        "children": [
-          "class/dart:_js_embedded_names::RtiUniverseFieldNames"
-        ],
-        "canonicalUri": "dart:_js_embedded_names"
-      },
       "dart:_js_helper::": {
         "id": "library/dart:_js_helper::",
         "kind": "library",
         "name": "_js_helper",
-        "size": 13726,
+        "size": 12952,
         "children": [
           "class/dart:_js_helper::BoundClosure",
           "class/dart:_js_helper::Closure",
@@ -65,10 +55,7 @@
           "class/dart:_js_helper::RuntimeError",
           "class/dart:_js_helper::StaticClosure",
           "class/dart:_js_helper::TearOffClosure",
-          "class/dart:_js_helper::_AssertionError",
           "function/dart:_js_helper::S",
-          "function/dart:_js_helper::assertThrow",
-          "function/dart:_js_helper::boolConversionCheck",
           "function/dart:_js_helper::closureFromTearOff",
           "function/dart:_js_helper::constructorNameFallback",
           "function/dart:_js_helper::diagnoseIndexError",
@@ -103,11 +90,21 @@
         ],
         "canonicalUri": "dart:_js_primitives"
       },
+      "dart:_js_shared_embedded_names::": {
+        "id": "library/dart:_js_shared_embedded_names::",
+        "kind": "library",
+        "name": "<unnamed>",
+        "size": 0,
+        "children": [
+          "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames"
+        ],
+        "canonicalUri": "dart:_js_shared_embedded_names"
+      },
       "dart:_late_helper::": {
         "id": "library/dart:_late_helper::",
         "kind": "library",
         "name": "_late_helper",
-        "size": 160,
+        "size": 155,
         "children": [
           "function/dart:_late_helper::throwLateFieldADI"
         ],
@@ -116,7 +113,7 @@
       "dart:_recipe_syntax::": {
         "id": "library/dart:_recipe_syntax::",
         "kind": "library",
-        "name": "dart2js._recipe_syntax",
+        "name": "js_shared._recipe_syntax",
         "size": 0,
         "children": [
           "class/dart:_recipe_syntax::Recipe"
@@ -127,7 +124,7 @@
         "id": "library/dart:_rti::",
         "kind": "library",
         "name": "rti",
-        "size": 52181,
+        "size": 52859,
         "children": [
           "class/dart:_rti::Rti",
           "class/dart:_rti::TypeRule",
@@ -233,7 +230,7 @@
         "id": "library/dart:core::",
         "kind": "library",
         "name": "dart.core",
-        "size": 5342,
+        "size": 5220,
         "children": [
           "class/dart:core::ArgumentError",
           "class/dart:core::AssertionError",
@@ -265,7 +262,7 @@
         "children": [
           "function/hello_world.dart::main"
         ],
-        "canonicalUri": "file:///Users/markzipan/Projects/dart-sdk/sdk/pkg/dart2js_info/test/hello_world/hello_world.dart"
+        "canonicalUri": "file:///usr/local/google/home/natebiggs/dart-sdk/sdk/pkg/dart2js_info/test/hello_world/hello_world.dart"
       }
     },
     "class": {
@@ -307,7 +304,7 @@
         "id": "class/dart:_interceptors::Interceptor",
         "kind": "class",
         "name": "Interceptor",
-        "size": 203,
+        "size": 198,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_interceptors::",
         "modifiers": {
@@ -408,7 +405,7 @@
         "id": "class/dart:_interceptors::JSString",
         "kind": "class",
         "name": "JSString",
-        "size": 390,
+        "size": 281,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_interceptors::",
         "modifiers": {
@@ -461,29 +458,11 @@
           "function/dart:_internal::LateError.toString"
         ]
       },
-      "dart:_js_embedded_names::RtiUniverseFieldNames": {
-        "id": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "kind": "class",
-        "name": "RtiUniverseFieldNames",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "library/dart:_js_embedded_names::",
-        "modifiers": {
-          "abstract": false
-        },
-        "children": [
-          "field/dart:_js_embedded_names::RtiUniverseFieldNames.erasedTypes",
-          "field/dart:_js_embedded_names::RtiUniverseFieldNames.evalCache",
-          "field/dart:_js_embedded_names::RtiUniverseFieldNames.sharedEmptyArray",
-          "field/dart:_js_embedded_names::RtiUniverseFieldNames.typeParameterVariances",
-          "field/dart:_js_embedded_names::RtiUniverseFieldNames.typeRules"
-        ]
-      },
       "dart:_js_helper::BoundClosure": {
         "id": "class/dart:_js_helper::BoundClosure",
         "kind": "class",
         "name": "BoundClosure",
-        "size": 314,
+        "size": 304,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "modifiers": {
@@ -589,19 +568,22 @@
         },
         "children": []
       },
-      "dart:_js_helper::_AssertionError": {
-        "id": "class/dart:_js_helper::_AssertionError",
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames": {
+        "id": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
         "kind": "class",
-        "name": "_AssertionError",
-        "size": 260,
+        "name": "RtiUniverseFieldNames",
+        "size": 0,
         "outputUnit": "outputUnit/main",
-        "parent": "library/dart:_js_helper::",
+        "parent": "library/dart:_js_shared_embedded_names::",
         "modifiers": {
           "abstract": false
         },
         "children": [
-          "function/dart:_js_helper::_AssertionError._AssertionError",
-          "function/dart:_js_helper::_AssertionError.toString"
+          "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.erasedTypes",
+          "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.evalCache",
+          "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.sharedEmptyArray",
+          "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeParameterVariances",
+          "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeRules"
         ]
       },
       "dart:_recipe_syntax::Recipe": {
@@ -1009,7 +991,7 @@
         "id": "class/dart:core::CyclicInitializationError",
         "kind": "class",
         "name": "CyclicInitializationError",
-        "size": 413,
+        "size": 297,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:core::",
         "modifiers": {
@@ -1041,7 +1023,7 @@
         "id": "class/dart:core::IndexError",
         "kind": "class",
         "name": "IndexError",
-        "size": 745,
+        "size": 618,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:core::",
         "modifiers": {
@@ -1088,7 +1070,7 @@
         "id": "class/dart:core::Object",
         "kind": "class",
         "name": "Object",
-        "size": 263,
+        "size": 258,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:core::",
         "modifiers": {
@@ -1251,7 +1233,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(JSArray<ArrayIterator.E>)"
+        "type": "dynamic Function(JSArray<ArrayIterator.E>)",
+        "functionKind": 3
       },
       "dart:_interceptors::ArrayIterator.current": {
         "id": "function/dart:_interceptors::ArrayIterator.current",
@@ -1273,7 +1256,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "ArrayIterator.E Function()"
+        "type": "ArrayIterator.E Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::ArrayIterator.moveNext": {
         "id": "function/dart:_interceptors::ArrayIterator.moveNext",
@@ -1295,13 +1279,14 @@
         "sideEffects": "SideEffects(reads anything; writes field)",
         "inlinedCount": 0,
         "code": "moveNext$0() {\n      var t2, _this = this,\n        t1 = _this._iterable,\n        $length = t1.length;\n      if (_this._length !== $length)\n        throw A.wrapException(A.throwConcurrentModificationError(t1));\n      t2 = _this._index;\n      if (t2 >= $length) {\n        _this.set$_current(null);\n        return false;\n      }\n      _this.set$_current(t1[t2]);\n      ++_this._index;\n      return true;\n    }",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::Interceptor.toString": {
         "id": "function/dart:_interceptors::Interceptor.toString",
         "kind": "function",
         "name": "toString",
-        "size": 109,
+        "size": 104,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_interceptors::Interceptor",
         "children": [],
@@ -1316,8 +1301,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(receiver) {\n      return \"Instance of '\" + A.S(A.Primitives_objectTypeName(receiver)) + \"'\";\n    }",
-        "type": "String Function()"
+        "code": "toString$0(receiver) {\n      return \"Instance of '\" + A.Primitives_objectTypeName(receiver) + \"'\";\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.add": {
         "id": "function/dart:_interceptors::JSArray.add",
@@ -1345,7 +1331,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "add$1(receiver, value) {\n      A._arrayInstanceType(receiver)._precomputed1._as(value);\n      if (!!receiver.fixed$length)\n        A.throwExpression(A.UnsupportedError$(\"add\"));\n      receiver.push(value);\n    }",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.checkGrowable": {
         "id": "function/dart:_interceptors::JSArray.checkGrowable",
@@ -1373,7 +1360,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.isFixedLength": {
         "id": "function/dart:_interceptors::JSArray.isFixedLength",
@@ -1401,7 +1389,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(JSArray<dynamic>)"
+        "type": "bool Function(JSArray<dynamic>)",
+        "functionKind": 0
       },
       "dart:_interceptors::JSArray.isGrowable": {
         "id": "function/dart:_interceptors::JSArray.isGrowable",
@@ -1429,7 +1418,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(JSArray<dynamic>)"
+        "type": "bool Function(JSArray<dynamic>)",
+        "functionKind": 0
       },
       "dart:_interceptors::JSArray.iterator": {
         "id": "function/dart:_interceptors::JSArray.iterator",
@@ -1451,7 +1441,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Iterator<JSArray.E> Function()"
+        "type": "Iterator<JSArray.E> Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.length": {
         "id": "function/dart:_interceptors::JSArray.length",
@@ -1473,7 +1464,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "get$length(receiver) {\n      return receiver.length;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.markFixedList": {
         "id": "function/dart:_interceptors::JSArray.markFixedList",
@@ -1501,7 +1493,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "List<#A> Function<#A extends Object?>(List<#A>)"
+        "type": "List<#A> Function<#A extends Object?>(List<#A>)",
+        "functionKind": 0
       },
       "dart:_interceptors::JSArray.toString": {
         "id": "function/dart:_interceptors::JSArray.toString",
@@ -1523,7 +1516,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      return A.IterableBase_iterableToFullString(receiver, \"[\", \"]\");\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSBool.toString": {
         "id": "function/dart:_interceptors::JSBool.toString",
@@ -1545,7 +1539,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      return String(receiver);\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSNull.toString": {
         "id": "function/dart:_interceptors::JSNull.toString",
@@ -1567,7 +1562,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      return \"null\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSNumber.toString": {
         "id": "function/dart:_interceptors::JSNumber.toString",
@@ -1589,13 +1585,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      if (receiver === 0 && 1 / receiver < 0)\n        return \"-0.0\";\n      else\n        return \"\" + receiver;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSString.+": {
         "id": "function/dart:_interceptors::JSString.+",
         "kind": "function",
         "name": "+",
-        "size": 169,
+        "size": 60,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_interceptors::JSString",
         "children": [],
@@ -1610,14 +1607,15 @@
         "parameters": [
           {
             "name": "other",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
-        "code": "$add(receiver, other) {\n      if (typeof other != \"string\")\n        throw A.wrapException(A.ArgumentError$value(other, null, null));\n      return receiver + other;\n    }",
-        "type": "String Function(String)"
+        "code": "$add(receiver, other) {\n      return receiver + other;\n    }",
+        "type": "String Function(String)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSString.isEmpty": {
         "id": "function/dart:_interceptors::JSString.isEmpty",
@@ -1639,7 +1637,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSString.length": {
         "id": "function/dart:_interceptors::JSString.length",
@@ -1661,7 +1660,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "get$length(receiver) {\n      return receiver.length;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSString.toString": {
         "id": "function/dart:_interceptors::JSString.toString",
@@ -1683,7 +1683,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      return receiver;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_internal::LateError.LateError.fieldADI": {
         "id": "function/dart:_internal::LateError.LateError.fieldADI",
@@ -1704,14 +1705,15 @@
         "parameters": [
           {
             "name": "fieldName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:_internal::LateError.toString": {
         "id": "function/dart:_internal::LateError.toString",
@@ -1733,7 +1735,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"LateInitializationError: \" + this._message;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_internal::printToConsole": {
         "id": "function/dart:_internal::printToConsole",
@@ -1761,7 +1764,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(String)"
+        "type": "void Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.BoundClosure": {
         "id": "function/dart:_js_helper::BoundClosure.BoundClosure",
@@ -1794,7 +1798,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "dynamic Function(dynamic,dynamic)"
+        "type": "dynamic Function(dynamic,dynamic)",
+        "functionKind": 3
       },
       "dart:_js_helper::BoundClosure._computeFieldNamed": {
         "id": "function/dart:_js_helper::BoundClosure._computeFieldNamed",
@@ -1822,7 +1827,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "BoundClosure__computeFieldNamed(fieldName) {\n      var names, i, $name,\n        template = new A.BoundClosure(\"receiver\", \"interceptor\"),\n        t1 = Object.getOwnPropertyNames(template);\n      t1.fixed$length = Array;\n      names = t1;\n      for (t1 = names.length, i = 0; i < t1; ++i) {\n        $name = names[i];\n        if (template[$name] === fieldName)\n          return $name;\n      }\n      throw A.wrapException(new A.ArgumentError(false, null, null, \"Field name \" + fieldName + \" not found.\"));\n    }",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure._name": {
         "id": "function/dart:_js_helper::BoundClosure._name",
@@ -1844,7 +1850,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::BoundClosure.evalRecipe": {
         "id": "function/dart:_js_helper::BoundClosure.evalRecipe",
@@ -1861,7 +1868,7 @@
           "external": false
         },
         "returnType": "dynamic",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "closure",
@@ -1877,7 +1884,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "BoundClosure_evalRecipe(closure, recipe) {\n      return A._Universe_evalInEnvironment(init.typeUniverse, A.instanceType(closure._receiver), recipe);\n    }",
-        "type": "dynamic Function(BoundClosure,String)"
+        "type": "dynamic Function(BoundClosure,String)",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.interceptorFieldName": {
         "id": "function/dart:_js_helper::BoundClosure.interceptorFieldName",
@@ -1899,7 +1907,8 @@
         "sideEffects": "SideEffects(reads static; writes static)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.interceptorOf": {
         "id": "function/dart:_js_helper::BoundClosure.interceptorOf",
@@ -1927,7 +1936,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "BoundClosure_interceptorOf(closure) {\n      return closure._interceptor;\n    }",
-        "type": "dynamic Function(BoundClosure)"
+        "type": "dynamic Function(BoundClosure)",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.receiverFieldName": {
         "id": "function/dart:_js_helper::BoundClosure.receiverFieldName",
@@ -1949,7 +1959,8 @@
         "sideEffects": "SideEffects(reads static; writes static)",
         "inlinedCount": 3,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.receiverOf": {
         "id": "function/dart:_js_helper::BoundClosure.receiverOf",
@@ -1977,13 +1988,14 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "BoundClosure_receiverOf(closure) {\n      return closure._receiver;\n    }",
-        "type": "dynamic Function(BoundClosure)"
+        "type": "dynamic Function(BoundClosure)",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.toString": {
         "id": "function/dart:_js_helper::BoundClosure.toString",
         "kind": "function",
         "name": "toString",
-        "size": 153,
+        "size": 143,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::BoundClosure",
         "children": [],
@@ -1998,14 +2010,15 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(_) {\n      return \"Closure '\" + A.S(this.$_name) + \"' of \" + (\"Instance of '\" + A.S(A.Primitives_objectTypeName(this._receiver)) + \"'\");\n    }",
-        "type": "String Function()"
+        "code": "toString$0(_) {\n      return \"Closure '\" + this.$_name + \"' of \" + (\"Instance of '\" + A.Primitives_objectTypeName(this._receiver) + \"'\");\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::Closure._computeSignatureFunctionNewRti": {
         "id": "function/dart:_js_helper::Closure._computeSignatureFunctionNewRti",
         "kind": "function",
         "name": "_computeSignatureFunctionNewRti",
-        "size": 596,
+        "size": 573,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::Closure",
         "children": [],
@@ -2020,30 +2033,31 @@
         "parameters": [
           {
             "name": "functionType",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
             "name": "isStatic",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           },
           {
             "name": "isIntercepted",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) {\n      if (typeof functionType == \"number\")\n        return functionType;\n      if (typeof functionType == \"string\") {\n        if (A.boolConversionCheck(isStatic))\n          throw A.wrapException(\"Cannot compute signature for static tearoff.\");\n        return function(recipe, evalOnReceiver) {\n          return function() {\n            return evalOnReceiver(this, recipe);\n          };\n        }(functionType, A.BoundClosure_evalRecipe);\n      }\n      throw A.wrapException(\"Error in functionType of tearoff\");\n    }",
-        "type": "dynamic Function(Object,bool,bool)"
+        "code": "Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) {\n      if (typeof functionType == \"number\")\n        return functionType;\n      if (typeof functionType == \"string\") {\n        if (isStatic)\n          throw A.wrapException(\"Cannot compute signature for static tearoff.\");\n        return function(recipe, evalOnReceiver) {\n          return function() {\n            return evalOnReceiver(this, recipe);\n          };\n        }(functionType, A.BoundClosure_evalRecipe);\n      }\n      throw A.wrapException(\"Error in functionType of tearoff\");\n    }",
+        "type": "dynamic Function(Object,bool,bool)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.cspForwardCall": {
         "id": "function/dart:_js_helper::Closure.cspForwardCall",
         "kind": "function",
         "name": "cspForwardCall",
-        "size": 1644,
+        "size": 1621,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::Closure",
         "children": [],
@@ -2063,12 +2077,12 @@
           },
           {
             "name": "needsDirectAccess",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           },
           {
             "name": "stubName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String?"
           },
           {
@@ -2079,14 +2093,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) {\n      var getReceiver = A.BoundClosure_receiverOf;\n      switch (A.boolConversionCheck(needsDirectAccess) ? -1 : arity) {\n        case 0:\n          return function(entry, receiverOf) {\n            return function() {\n              return receiverOf(this)[entry]();\n            };\n          }(stubName, getReceiver);\n        case 1:\n          return function(entry, receiverOf) {\n            return function(a) {\n              return receiverOf(this)[entry](a);\n            };\n          }(stubName, getReceiver);\n        case 2:\n          return function(entry, receiverOf) {\n            return function(a, b) {\n              return receiverOf(this)[entry](a, b);\n            };\n          }(stubName, getReceiver);\n        case 3:\n          return function(entry, receiverOf) {\n            return function(a, b, c) {\n              return receiverOf(this)[entry](a, b, c);\n            };\n          }(stubName, getReceiver);\n        case 4:\n          return function(entry, receiverOf) {\n            return function(a, b, c, d) {\n              return receiverOf(this)[entry](a, b, c, d);\n            };\n          }(stubName, getReceiver);\n        case 5:\n          return function(entry, receiverOf) {\n            return function(a, b, c, d, e) {\n              return receiverOf(this)[entry](a, b, c, d, e);\n            };\n          }(stubName, getReceiver);\n        default:\n          return function(f, receiverOf) {\n            return function() {\n              return f.apply(receiverOf(this), arguments);\n            };\n          }($function, getReceiver);\n      }\n    }",
-        "type": "dynamic Function(int,bool,String?,dynamic)"
+        "code": "Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) {\n      var getReceiver = A.BoundClosure_receiverOf;\n      switch (needsDirectAccess ? -1 : arity) {\n        case 0:\n          return function(entry, receiverOf) {\n            return function() {\n              return receiverOf(this)[entry]();\n            };\n          }(stubName, getReceiver);\n        case 1:\n          return function(entry, receiverOf) {\n            return function(a) {\n              return receiverOf(this)[entry](a);\n            };\n          }(stubName, getReceiver);\n        case 2:\n          return function(entry, receiverOf) {\n            return function(a, b) {\n              return receiverOf(this)[entry](a, b);\n            };\n          }(stubName, getReceiver);\n        case 3:\n          return function(entry, receiverOf) {\n            return function(a, b, c) {\n              return receiverOf(this)[entry](a, b, c);\n            };\n          }(stubName, getReceiver);\n        case 4:\n          return function(entry, receiverOf) {\n            return function(a, b, c, d) {\n              return receiverOf(this)[entry](a, b, c, d);\n            };\n          }(stubName, getReceiver);\n        case 5:\n          return function(entry, receiverOf) {\n            return function(a, b, c, d, e) {\n              return receiverOf(this)[entry](a, b, c, d, e);\n            };\n          }(stubName, getReceiver);\n        default:\n          return function(f, receiverOf) {\n            return function() {\n              return f.apply(receiverOf(this), arguments);\n            };\n          }($function, getReceiver);\n      }\n    }",
+        "type": "dynamic Function(int,bool,String?,dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.cspForwardInterceptedCall": {
         "id": "function/dart:_js_helper::Closure.cspForwardInterceptedCall",
         "kind": "function",
         "name": "cspForwardInterceptedCall",
-        "size": 2256,
+        "size": 2233,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::Closure",
         "children": [],
@@ -2106,12 +2121,12 @@
           },
           {
             "name": "needsDirectAccess",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           },
           {
             "name": "stubName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String?"
           },
           {
@@ -2122,14 +2137,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) {\n      var getReceiver = A.BoundClosure_receiverOf,\n        getInterceptor = A.BoundClosure_interceptorOf;\n      switch (A.boolConversionCheck(needsDirectAccess) ? -1 : arity) {\n        case 0:\n          throw A.wrapException(new A.RuntimeError(\"Intercepted function with no arguments.\"));\n        case 1:\n          return function(entry, interceptorOf, receiverOf) {\n            return function() {\n              return interceptorOf(this)[entry](receiverOf(this));\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 2:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a) {\n              return interceptorOf(this)[entry](receiverOf(this), a);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 3:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 4:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 5:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c, d) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c, d);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 6:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c, d, e) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        default:\n          return function(f, interceptorOf, receiverOf) {\n            return function() {\n              var a = [receiverOf(this)];\n              Array.prototype.push.apply(a, arguments);\n              return f.apply(interceptorOf(this), a);\n            };\n          }($function, getInterceptor, getReceiver);\n      }\n    }",
-        "type": "dynamic Function(int,bool,String?,dynamic)"
+        "code": "Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) {\n      var getReceiver = A.BoundClosure_receiverOf,\n        getInterceptor = A.BoundClosure_interceptorOf;\n      switch (needsDirectAccess ? -1 : arity) {\n        case 0:\n          throw A.wrapException(new A.RuntimeError(\"Intercepted function with no arguments.\"));\n        case 1:\n          return function(entry, interceptorOf, receiverOf) {\n            return function() {\n              return interceptorOf(this)[entry](receiverOf(this));\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 2:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a) {\n              return interceptorOf(this)[entry](receiverOf(this), a);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 3:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 4:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 5:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c, d) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c, d);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 6:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c, d, e) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        default:\n          return function(f, interceptorOf, receiverOf) {\n            return function() {\n              var a = [receiverOf(this)];\n              Array.prototype.push.apply(a, arguments);\n              return f.apply(interceptorOf(this), a);\n            };\n          }($function, getInterceptor, getReceiver);\n      }\n    }",
+        "type": "dynamic Function(int,bool,String?,dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.forwardCallTo": {
         "id": "function/dart:_js_helper::Closure.forwardCallTo",
         "kind": "function",
         "name": "forwardCallTo",
-        "size": 377,
+        "size": 354,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::Closure",
         "children": [],
@@ -2144,7 +2160,7 @@
         "parameters": [
           {
             "name": "stubName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -2154,19 +2170,20 @@
           },
           {
             "name": "isIntercepted",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           },
           {
             "name": "needsDirectAccess",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) {\n      var arity, t1;\n      if (A.boolConversionCheck(isIntercepted))\n        return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess);\n      arity = $function.length;\n      t1 = A.Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function);\n      return t1;\n    }",
-        "type": "dynamic Function(String,dynamic,bool,bool)"
+        "code": "Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) {\n      var arity, t1;\n      if (isIntercepted)\n        return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess);\n      arity = $function.length;\n      t1 = A.Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function);\n      return t1;\n    }",
+        "type": "dynamic Function(String,dynamic,bool,bool)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.forwardInterceptedCallTo": {
         "id": "function/dart:_js_helper::Closure.forwardInterceptedCallTo",
@@ -2187,7 +2204,7 @@
         "parameters": [
           {
             "name": "stubName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -2197,20 +2214,21 @@
           },
           {
             "name": "needsDirectAccess",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess) {\n      var arity, t1;\n      if ($.BoundClosure__interceptorFieldNameCache == null)\n        $.BoundClosure__interceptorFieldNameCache = A.BoundClosure__computeFieldNamed(\"interceptor\");\n      if ($.BoundClosure__receiverFieldNameCache == null)\n        $.BoundClosure__receiverFieldNameCache = A.BoundClosure__computeFieldNamed(\"receiver\");\n      arity = $function.length;\n      t1 = A.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function);\n      return t1;\n    }",
-        "type": "dynamic Function(String,dynamic,bool)"
+        "type": "dynamic Function(String,dynamic,bool)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.fromTearOff": {
         "id": "function/dart:_js_helper::Closure.fromTearOff",
         "kind": "function",
         "name": "fromTearOff",
-        "size": 2339,
+        "size": 2300,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::Closure",
         "children": [],
@@ -2231,8 +2249,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Closure_fromTearOff(parameters) {\n      var $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName,\n        container = parameters.co,\n        isStatic = parameters.iS,\n        isIntercepted = parameters.iI,\n        needsDirectAccess = parameters.nDA,\n        applyTrampolineIndex = parameters.aI,\n        funsOrNames = parameters.fs,\n        callNames = parameters.cs,\n        $name = funsOrNames[0],\n        callName = callNames[0],\n        $function = container[$name],\n        t1 = parameters.fT;\n      t1.toString;\n      A.boolConversionCheck(isStatic);\n      $prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype);\n      $prototype.$initialize = $prototype.constructor;\n      if (isStatic)\n        $constructor = function static_tear_off() {\n          this.$initialize();\n        };\n      else\n        $constructor = function tear_off(a, b) {\n          this.$initialize(a, b);\n        };\n      $prototype.constructor = $constructor;\n      $constructor.prototype = $prototype;\n      $prototype.$_name = $name;\n      $prototype.$_target = $function;\n      t2 = !isStatic;\n      if (t2)\n        trampoline = A.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess);\n      else {\n        $prototype.$static_name = $name;\n        trampoline = $function;\n      }\n      $prototype.$signature = A.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted);\n      $prototype[callName] = trampoline;\n      for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) {\n        stub = funsOrNames[i];\n        if (typeof stub == \"string\") {\n          stub0 = container[stub];\n          stubName = stub;\n          stub = stub0;\n        } else\n          stubName = \"\";\n        stubCallName = callNames[i];\n        if (stubCallName != null) {\n          if (t2)\n            stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess);\n          $prototype[stubCallName] = stub;\n        }\n        if (i === applyTrampolineIndex)\n          applyTrampoline = stub;\n      }\n      $prototype[\"call*\"] = applyTrampoline;\n      $prototype.$requiredArgCount = parameters.rC;\n      $prototype.$defaultValues = parameters.dV;\n      return $constructor;\n    }",
-        "type": "dynamic Function(Object?)"
+        "code": "Closure_fromTearOff(parameters) {\n      var $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName,\n        container = parameters.co,\n        isStatic = parameters.iS,\n        isIntercepted = parameters.iI,\n        needsDirectAccess = parameters.nDA,\n        applyTrampolineIndex = parameters.aI,\n        funsOrNames = parameters.fs,\n        callNames = parameters.cs,\n        $name = funsOrNames[0],\n        callName = callNames[0],\n        $function = container[$name],\n        t1 = parameters.fT;\n      t1.toString;\n      $prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype);\n      $prototype.$initialize = $prototype.constructor;\n      if (isStatic)\n        $constructor = function static_tear_off() {\n          this.$initialize();\n        };\n      else\n        $constructor = function tear_off(a, b) {\n          this.$initialize(a, b);\n        };\n      $prototype.constructor = $constructor;\n      $constructor.prototype = $prototype;\n      $prototype.$_name = $name;\n      $prototype.$_target = $function;\n      t2 = !isStatic;\n      if (t2)\n        trampoline = A.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess);\n      else {\n        $prototype.$static_name = $name;\n        trampoline = $function;\n      }\n      $prototype.$signature = A.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted);\n      $prototype[callName] = trampoline;\n      for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) {\n        stub = funsOrNames[i];\n        if (typeof stub == \"string\") {\n          stub0 = container[stub];\n          stubName = stub;\n          stub = stub0;\n        } else\n          stubName = \"\";\n        stubCallName = callNames[i];\n        if (stubCallName != null) {\n          if (t2)\n            stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess);\n          $prototype[stubCallName] = stub;\n        }\n        if (i === applyTrampolineIndex)\n          applyTrampoline = stub;\n      }\n      $prototype[\"call*\"] = applyTrampoline;\n      $prototype.$requiredArgCount = parameters.rC;\n      $prototype.$defaultValues = parameters.dV;\n      return $constructor;\n    }",
+        "type": "dynamic Function(Object?)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.isCsp": {
         "id": "function/dart:_js_helper::Closure.isCsp",
@@ -2254,7 +2273,8 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.toString": {
         "id": "function/dart:_js_helper::Closure.toString",
@@ -2276,7 +2296,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var $constructor = this.constructor,\n        $name = $constructor == null ? null : $constructor.name;\n      return \"Closure '\" + A.unminifyOrTag($name == null ? \"unknown\" : $name) + \"'\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::Primitives._objectTypeNameNewRti": {
         "id": "function/dart:_js_helper::Primitives._objectTypeNameNewRti",
@@ -2293,7 +2314,7 @@
           "external": false
         },
         "returnType": "String",
-        "inferredReturnType": "[null|exact=JSString]",
+        "inferredReturnType": "[exact=JSString]",
         "parameters": [
           {
             "name": "object",
@@ -2304,7 +2325,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Primitives__objectTypeNameNewRti(object) {\n      var interceptor, dispatchName, t1, $constructor, constructorName;\n      if (object instanceof A.Object)\n        return A._rtiToString(A.instanceType(object), null);\n      interceptor = J.getInterceptor$(object);\n      if (interceptor === B.Interceptor_methods || interceptor === B.JavaScriptObject_methods || false) {\n        dispatchName = B.C_JS_CONST(object);\n        t1 = dispatchName !== \"Object\" && dispatchName !== \"\";\n        if (t1)\n          return dispatchName;\n        $constructor = object.constructor;\n        if (typeof $constructor == \"function\") {\n          constructorName = $constructor.name;\n          if (typeof constructorName == \"string\")\n            t1 = constructorName !== \"Object\" && constructorName !== \"\";\n          else\n            t1 = false;\n          if (t1)\n            return constructorName;\n        }\n      }\n      return A._rtiToString(A.instanceType(object), null);\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives._saneNativeClassName": {
         "id": "function/dart:_js_helper::Primitives._saneNativeClassName",
@@ -2332,7 +2354,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(dynamic)"
+        "type": "bool Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives.flattenString": {
         "id": "function/dart:_js_helper::Primitives.flattenString",
@@ -2360,7 +2383,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives.objectToHumanReadableString": {
         "id": "function/dart:_js_helper::Primitives.objectToHumanReadableString",
@@ -2388,7 +2412,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives.objectTypeName": {
         "id": "function/dart:_js_helper::Primitives.objectTypeName",
@@ -2405,7 +2430,7 @@
           "external": false
         },
         "returnType": "String",
-        "inferredReturnType": "[null|exact=JSString]",
+        "inferredReturnType": "[exact=JSString]",
         "parameters": [
           {
             "name": "object",
@@ -2416,7 +2441,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Primitives_objectTypeName(object) {\n      return A.Primitives__objectTypeNameNewRti(object);\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives.stringConcatUnchecked": {
         "id": "function/dart:_js_helper::Primitives.stringConcatUnchecked",
@@ -2449,7 +2475,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "String Function(String,String)"
+        "type": "String Function(String,String)",
+        "functionKind": 0
       },
       "dart:_js_helper::RuntimeError.RuntimeError": {
         "id": "function/dart:_js_helper::RuntimeError.RuntimeError",
@@ -2477,7 +2504,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 3
       },
       "dart:_js_helper::RuntimeError.toString": {
         "id": "function/dart:_js_helper::RuntimeError.toString",
@@ -2499,13 +2527,14 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"RuntimeError: \" + this.message;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::S": {
         "id": "function/dart:_js_helper::S",
         "kind": "function",
         "name": "S",
-        "size": 550,
+        "size": 407,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "children": [],
@@ -2526,8 +2555,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "S(value) {\n      var result;\n      if (typeof value == \"string\")\n        return value;\n      if (typeof value == \"number\") {\n        if (value !== 0)\n          return \"\" + value;\n      } else if (true === value)\n        return \"true\";\n      else if (false === value)\n        return \"false\";\n      else if (value == null)\n        return \"null\";\n      result = J.toString$0$(value);\n      if (typeof result != \"string\")\n        throw A.wrapException(A.ArgumentError$value(value, \"object\", \"toString method returned 'null'\"));\n      return result;\n    }",
-        "type": "String Function(dynamic)"
+        "code": "S(value) {\n      var result;\n      if (typeof value == \"string\")\n        return value;\n      if (typeof value == \"number\") {\n        if (value !== 0)\n          return \"\" + value;\n      } else if (true === value)\n        return \"true\";\n      else if (false === value)\n        return \"false\";\n      else if (value == null)\n        return \"null\";\n      result = J.toString$0$(value);\n      return result;\n    }",
+        "type": "String Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::StaticClosure.StaticClosure": {
         "id": "function/dart:_js_helper::StaticClosure.StaticClosure",
@@ -2549,7 +2579,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:_js_helper::StaticClosure.toString": {
         "id": "function/dart:_js_helper::StaticClosure.toString",
@@ -2571,113 +2602,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var $name = this.$static_name;\n      if ($name == null)\n        return \"Closure of unknown static method\";\n      return \"Closure '\" + A.unminifyOrTag($name) + \"'\";\n    }",
-        "type": "String Function()"
-      },
-      "dart:_js_helper::_AssertionError._AssertionError": {
-        "id": "function/dart:_js_helper::_AssertionError._AssertionError",
-        "kind": "function",
-        "name": "_AssertionError",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_helper::_AssertionError",
-        "children": [],
-        "modifiers": {
-          "static": false,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "dynamic",
-        "inferredReturnType": "[exact=_AssertionError]",
-        "parameters": [
-          {
-            "name": "message",
-            "type": "[null|subclass=Object]",
-            "declaredType": "Object"
-          }
-        ],
-        "sideEffects": "SideEffects(reads nothing; writes nothing)",
-        "inlinedCount": 1,
-        "code": "",
-        "type": "dynamic Function(Object)"
-      },
-      "dart:_js_helper::_AssertionError.toString": {
-        "id": "function/dart:_js_helper::_AssertionError.toString",
-        "kind": "function",
-        "name": "toString",
-        "size": 93,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_helper::_AssertionError",
-        "children": [],
-        "modifiers": {
-          "static": false,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "String",
-        "inferredReturnType": "[exact=JSString]",
-        "parameters": [],
-        "sideEffects": "SideEffects(reads anything; writes anything)",
-        "inlinedCount": 0,
-        "code": "toString$0(_) {\n      return \"Assertion failed: \" + A.Error_safeToString(this.message);\n    }",
-        "type": "String Function()"
-      },
-      "dart:_js_helper::assertThrow": {
-        "id": "function/dart:_js_helper::assertThrow",
-        "kind": "function",
-        "name": "assertThrow",
-        "size": 89,
-        "outputUnit": "outputUnit/main",
-        "parent": "library/dart:_js_helper::",
-        "children": [],
-        "modifiers": {
-          "static": false,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "void",
-        "inferredReturnType": "[empty]",
-        "parameters": [
-          {
-            "name": "message",
-            "type": "[null|subclass=Object]",
-            "declaredType": "Object"
-          }
-        ],
-        "sideEffects": "SideEffects(reads nothing; writes nothing)",
-        "inlinedCount": 0,
-        "code": "assertThrow(message) {\n      throw A.wrapException(new A._AssertionError(message));\n    }",
-        "type": "void Function(Object)"
-      },
-      "dart:_js_helper::boolConversionCheck": {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "kind": "function",
-        "name": "boolConversionCheck",
-        "size": 141,
-        "outputUnit": "outputUnit/main",
-        "parent": "library/dart:_js_helper::",
-        "children": [],
-        "modifiers": {
-          "static": false,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "bool",
-        "inferredReturnType": "[exact=JSBool]",
-        "parameters": [
-          {
-            "name": "value",
-            "type": "[null|subclass=Object]",
-            "declaredType": "dynamic"
-          }
-        ],
-        "sideEffects": "SideEffects(reads nothing; writes nothing)",
-        "inlinedCount": 0,
-        "code": "boolConversionCheck(value) {\n      if (value == null)\n        A.assertThrow(\"boolean expression must not be null\");\n      return value;\n    }",
-        "type": "bool Function(dynamic)"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::closureFromTearOff": {
         "id": "function/dart:_js_helper::closureFromTearOff",
@@ -2705,7 +2631,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "closureFromTearOff(parameters) {\n      return A.Closure_fromTearOff(parameters);\n    }",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::constructorNameFallback": {
         "id": "function/dart:_js_helper::constructorNameFallback",
@@ -2733,7 +2660,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(dynamic)"
+        "type": "String Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::diagnoseIndexError": {
         "id": "function/dart:_js_helper::diagnoseIndexError",
@@ -2766,7 +2694,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "diagnoseIndexError(indexable, index) {\n      var $length, _s5_ = \"index\";\n      if (!A._isInt(index))\n        return new A.ArgumentError(true, index, _s5_, null);\n      $length = J.get$length$as(indexable);\n      if (index < 0 || index >= $length)\n        return new A.IndexError($length, true, index, _s5_, \"Index out of range\");\n      return new A.RangeError(true, index, _s5_, \"Value not in range\");\n    }",
-        "type": "Error Function(dynamic,dynamic)"
+        "type": "Error Function(dynamic,dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::ioore": {
         "id": "function/dart:_js_helper::ioore",
@@ -2799,7 +2728,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "ioore(receiver, index) {\n      if (receiver == null)\n        J.get$length$as(receiver);\n      throw A.wrapException(A.diagnoseIndexError(receiver, index));\n    }",
-        "type": "dynamic Function(dynamic,dynamic)"
+        "type": "dynamic Function(dynamic,dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::jsonEncodeNative": {
         "id": "function/dart:_js_helper::jsonEncodeNative",
@@ -2827,7 +2757,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::throwConcurrentModificationError": {
         "id": "function/dart:_js_helper::throwConcurrentModificationError",
@@ -2855,7 +2786,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "throwConcurrentModificationError(collection) {\n      throw A.wrapException(new A.ConcurrentModificationError(collection));\n    }",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::throwCyclicInit": {
         "id": "function/dart:_js_helper::throwCyclicInit",
@@ -2883,7 +2815,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "throwCyclicInit(staticName) {\n      throw A.wrapException(new A.CyclicInitializationError(staticName));\n    }",
-        "type": "void Function(String)"
+        "type": "void Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::throwExpression": {
         "id": "function/dart:_js_helper::throwExpression",
@@ -2911,7 +2844,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "throwExpression(ex) {\n      throw A.wrapException(ex);\n    }",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::toStringWrapper": {
         "id": "function/dart:_js_helper::toStringWrapper",
@@ -2928,12 +2862,13 @@
           "external": false
         },
         "returnType": "dynamic",
-        "inferredReturnType": "[null|exact=JSString]",
+        "inferredReturnType": "[exact=JSString]",
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toStringWrapper() {\n      return J.toString$0$(this.dartException);\n    }",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::unminifyOrTag": {
         "id": "function/dart:_js_helper::unminifyOrTag",
@@ -2961,7 +2896,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "unminifyOrTag(rawClassName) {\n      var preserved = init.mangledGlobalNames[rawClassName];\n      if (preserved != null)\n        return preserved;\n      return rawClassName;\n    }",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::wrapException": {
         "id": "function/dart:_js_helper::wrapException",
@@ -2989,7 +2925,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "wrapException(ex) {\n      var wrapper, t1;\n      if (ex == null)\n        ex = new A.NullThrownError();\n      wrapper = new Error();\n      wrapper.dartException = ex;\n      t1 = A.toStringWrapper;\n      if (\"defineProperty\" in Object) {\n        Object.defineProperty(wrapper, \"message\", {get: t1});\n        wrapper.name = \"\";\n      } else\n        wrapper.toString = t1;\n      return wrapper;\n    }",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_names::unmangleGlobalNameIfPreservedAnyways": {
         "id": "function/dart:_js_names::unmangleGlobalNameIfPreservedAnyways",
@@ -3017,7 +2954,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "String? Function(String)"
+        "type": "String? Function(String)",
+        "functionKind": 0
       },
       "dart:_js_primitives::printString": {
         "id": "function/dart:_js_primitives::printString",
@@ -3045,13 +2983,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "printString(string) {\n      if (typeof dartPrint == \"function\") {\n        dartPrint(string);\n        return;\n      }\n      if (typeof console == \"object\" && typeof console.log != \"undefined\") {\n        console.log(string);\n        return;\n      }\n      if (typeof window == \"object\")\n        return;\n      if (typeof print == \"function\") {\n        print(string);\n        return;\n      }\n      throw \"Unable to print message: \" + String(string);\n    }",
-        "type": "void Function(String)"
+        "type": "void Function(String)",
+        "functionKind": 0
       },
       "dart:_late_helper::throwLateFieldADI": {
         "id": "function/dart:_late_helper::throwLateFieldADI",
         "kind": "function",
         "name": "throwLateFieldADI",
-        "size": 160,
+        "size": 155,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_late_helper::",
         "children": [],
@@ -3072,8 +3011,9 @@
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 0,
-        "code": "throwLateFieldADI(fieldName) {\n      return A.throwExpression(new A.LateError(\"Field '\" + A.S(fieldName) + \"' has been assigned during initialization.\"));\n    }",
-        "type": "void Function(String)"
+        "code": "throwLateFieldADI(fieldName) {\n      return A.throwExpression(new A.LateError(\"Field '\" + fieldName + \"' has been assigned during initialization.\"));\n    }",
+        "type": "void Function(String)",
+        "functionKind": 0
       },
       "dart:_recipe_syntax::Recipe.digitValue": {
         "id": "function/dart:_recipe_syntax::Recipe.digitValue",
@@ -3101,7 +3041,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "int Function(int)"
+        "type": "int Function(int)",
+        "functionKind": 0
       },
       "dart:_recipe_syntax::Recipe.isDigit": {
         "id": "function/dart:_recipe_syntax::Recipe.isDigit",
@@ -3129,7 +3070,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function(int)"
+        "type": "bool Function(int)",
+        "functionKind": 0
       },
       "dart:_recipe_syntax::Recipe.isIdentifierStart": {
         "id": "function/dart:_recipe_syntax::Recipe.isIdentifierStart",
@@ -3157,7 +3099,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(int)"
+        "type": "bool Function(int)",
+        "functionKind": 0
       },
       "dart:_rti::Rti.Rti": {
         "id": "function/dart:_rti::Rti.Rti",
@@ -3179,7 +3122,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 9,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:_rti::Rti._asCheck": {
         "id": "function/dart:_rti::Rti._asCheck",
@@ -3195,8 +3139,8 @@
           "factory": false,
           "external": false
         },
-        "returnType": "bool",
-        "inferredReturnType": "[exact=JSBool]",
+        "returnType": "Object?",
+        "inferredReturnType": "[null|subclass=Object]",
         "parameters": [
           {
             "name": "rti",
@@ -3212,7 +3156,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(Rti,Object?)"
+        "type": "Object? Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._bind": {
         "id": "function/dart:_rti::Rti._bind",
@@ -3229,7 +3174,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "typeOrTuple",
@@ -3240,7 +3185,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_bind$1(typeOrTuple) {\n      return A._Universe_bind(init.typeUniverse, this, typeOrTuple);\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 2
       },
       "dart:_rti::Rti._eval": {
         "id": "function/dart:_rti::Rti._eval",
@@ -3257,7 +3203,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "recipe",
@@ -3268,7 +3214,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_eval$1(recipe) {\n      return A._Universe_evalInEnvironment(init.typeUniverse, this, recipe);\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 2
       },
       "dart:_rti::Rti._getBindCache": {
         "id": "function/dart:_rti::Rti._getBindCache",
@@ -3296,7 +3243,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getBindingArguments": {
         "id": "function/dart:_rti::Rti._getBindingArguments",
@@ -3317,14 +3265,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "JSArray<dynamic> Function(Rti)"
+        "type": "JSArray<dynamic> Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getBindingBase": {
         "id": "function/dart:_rti::Rti._getBindingBase",
@@ -3345,14 +3294,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getCanonicalRecipe": {
         "id": "function/dart:_rti::Rti._getCanonicalRecipe",
@@ -3373,14 +3323,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 9,
         "code": "Rti__getCanonicalRecipe(rti) {\n      return rti._canonicalRecipe;\n    }",
-        "type": "String Function(Rti)"
+        "type": "String Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getEvalCache": {
         "id": "function/dart:_rti::Rti._getEvalCache",
@@ -3401,14 +3352,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getFunctionParameters": {
         "id": "function/dart:_rti::Rti._getFunctionParameters",
@@ -3429,14 +3381,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "_FunctionParameters Function(Rti)"
+        "type": "_FunctionParameters Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getFutureFromFutureOr": {
         "id": "function/dart:_rti::Rti._getFutureFromFutureOr",
@@ -3453,7 +3406,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -3462,14 +3415,15 @@
           },
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Rti__getFutureFromFutureOr(universe, rti) {\n      var future = rti._precomputed1;\n      return future == null ? rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, \"Future\", [rti._primary]) : future;\n    }",
-        "type": "Rti Function(Object?,Rti)"
+        "type": "Rti Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getFutureOrArgument": {
         "id": "function/dart:_rti::Rti._getFutureOrArgument",
@@ -3490,14 +3444,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 10,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getGenericFunctionBase": {
         "id": "function/dart:_rti::Rti._getGenericFunctionBase",
@@ -3518,14 +3473,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getGenericFunctionBounds": {
         "id": "function/dart:_rti::Rti._getGenericFunctionBounds",
@@ -3546,14 +3502,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "JSArray<dynamic> Function(Rti)"
+        "type": "JSArray<dynamic> Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getGenericFunctionParameterIndex": {
         "id": "function/dart:_rti::Rti._getGenericFunctionParameterIndex",
@@ -3574,14 +3531,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "int Function(Rti)"
+        "type": "int Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getInterfaceName": {
         "id": "function/dart:_rti::Rti._getInterfaceName",
@@ -3602,14 +3560,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 6,
         "code": "",
-        "type": "String Function(Rti)"
+        "type": "String Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getInterfaceTypeArguments": {
         "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
@@ -3630,14 +3589,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 7,
         "code": "",
-        "type": "JSArray<dynamic> Function(Rti)"
+        "type": "JSArray<dynamic> Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getKind": {
         "id": "function/dart:_rti::Rti._getKind",
@@ -3658,14 +3618,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 26,
         "code": "",
-        "type": "int Function(Rti)"
+        "type": "int Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getPrecomputed1": {
         "id": "function/dart:_rti::Rti._getPrecomputed1",
@@ -3686,14 +3647,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getPrimary": {
         "id": "function/dart:_rti::Rti._getPrimary",
@@ -3714,14 +3676,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 48,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getQuestionArgument": {
         "id": "function/dart:_rti::Rti._getQuestionArgument",
@@ -3742,14 +3705,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getQuestionFromStar": {
         "id": "function/dart:_rti::Rti._getQuestionFromStar",
@@ -3766,7 +3730,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -3775,14 +3739,15 @@
           },
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Rti__getQuestionFromStar(universe, rti) {\n      var question = rti._precomputed1;\n      return question == null ? rti._precomputed1 = A._Universe__lookupQuestionRti(universe, rti._primary, true) : question;\n    }",
-        "type": "Rti Function(Object?,Rti)"
+        "type": "Rti Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getRest": {
         "id": "function/dart:_rti::Rti._getRest",
@@ -3803,14 +3768,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 19,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getReturnType": {
         "id": "function/dart:_rti::Rti._getReturnType",
@@ -3831,14 +3797,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getSpecializedTestResource": {
         "id": "function/dart:_rti::Rti._getSpecializedTestResource",
@@ -3866,7 +3833,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getStarArgument": {
         "id": "function/dart:_rti::Rti._getStarArgument",
@@ -3887,14 +3855,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 8,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._isCheck": {
         "id": "function/dart:_rti::Rti._isCheck",
@@ -3927,7 +3896,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "bool Function(Rti,Object?)"
+        "type": "bool Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._isUnionOfFunctionType": {
         "id": "function/dart:_rti::Rti._isUnionOfFunctionType",
@@ -3955,7 +3925,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "Rti__isUnionOfFunctionType(rti) {\n      var kind = rti._kind;\n      if (kind === 6 || kind === 7 || kind === 8)\n        return A.Rti__isUnionOfFunctionType(rti._primary);\n      return kind === 11 || kind === 12;\n    }",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setAsCheckFunction": {
         "id": "function/dart:_rti::Rti._setAsCheckFunction",
@@ -3988,7 +3959,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setBindCache": {
         "id": "function/dart:_rti::Rti._setBindCache",
@@ -4021,7 +3993,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setCanonicalRecipe": {
         "id": "function/dart:_rti::Rti._setCanonicalRecipe",
@@ -4054,7 +4027,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 9,
         "code": "",
-        "type": "void Function(Rti,String)"
+        "type": "void Function(Rti,String)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setEvalCache": {
         "id": "function/dart:_rti::Rti._setEvalCache",
@@ -4075,7 +4049,7 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -4087,7 +4061,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setIsTestFunction": {
         "id": "function/dart:_rti::Rti._setIsTestFunction",
@@ -4120,7 +4095,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setKind": {
         "id": "function/dart:_rti::Rti._setKind",
@@ -4153,7 +4129,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 9,
         "code": "",
-        "type": "void Function(Rti,int)"
+        "type": "void Function(Rti,int)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setPrecomputed1": {
         "id": "function/dart:_rti::Rti._setPrecomputed1",
@@ -4174,7 +4151,7 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -4186,7 +4163,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 3,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setPrimary": {
         "id": "function/dart:_rti::Rti._setPrimary",
@@ -4212,14 +4190,15 @@
           },
           {
             "name": "value",
-            "type": "Union(null, [exact=JSString], [exact=Rti], [subclass=JSInt])",
+            "type": "Union([exact=JSString], [exact=Rti], [subclass=JSInt])",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 8,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setRest": {
         "id": "function/dart:_rti::Rti._setRest",
@@ -4252,7 +4231,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 4,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setSpecializedTestResource": {
         "id": "function/dart:_rti::Rti._setSpecializedTestResource",
@@ -4285,7 +4265,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti.allocate": {
         "id": "function/dart:_rti::Rti.allocate",
@@ -4307,7 +4288,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 9,
         "code": "",
-        "type": "Rti Function()"
+        "type": "Rti Function()",
+        "functionKind": 0
       },
       "dart:_rti::TypeRule.lookupSupertype": {
         "id": "function/dart:_rti::TypeRule.lookupSupertype",
@@ -4340,7 +4322,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "JSArray<dynamic>? Function(Object?,String)"
+        "type": "JSArray<dynamic>? Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::TypeRule.lookupTypeVariable": {
         "id": "function/dart:_rti::TypeRule.lookupTypeVariable",
@@ -4373,13 +4356,14 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String? Function(Object?,String)"
+        "type": "String? Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Error.compose": {
         "id": "function/dart:_rti::_Error.compose",
         "kind": "function",
         "name": "compose",
-        "size": 323,
+        "size": 313,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_rti::_Error",
         "children": [],
@@ -4404,14 +4388,15 @@
           },
           {
             "name": "checkedTypeDescription",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Error_compose(object, objectRti, checkedTypeDescription) {\n      var objectDescription = A.Error_safeToString(object);\n      return objectDescription + \": type '\" + A.S(A._rtiToString(objectRti == null ? A.instanceType(object) : objectRti, null)) + \"' is not a subtype of type '\" + A.S(checkedTypeDescription) + \"'\";\n    }",
-        "type": "String Function(Object?,Rti?,String)"
+        "code": "_Error_compose(object, objectRti, checkedTypeDescription) {\n      var objectDescription = A.Error_safeToString(object);\n      return objectDescription + \": type '\" + A._rtiToString(objectRti == null ? A.instanceType(object) : objectRti, null) + \"' is not a subtype of type '\" + checkedTypeDescription + \"'\";\n    }",
+        "type": "String Function(Object?,Rti?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Error.toString": {
         "id": "function/dart:_rti::_Error.toString",
@@ -4433,7 +4418,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return this.__rti$_message;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_rti::_FunctionParameters._FunctionParameters": {
         "id": "function/dart:_rti::_FunctionParameters._FunctionParameters",
@@ -4455,7 +4441,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:_rti::_FunctionParameters._getNamed": {
         "id": "function/dart:_rti::_FunctionParameters._getNamed",
@@ -4483,7 +4470,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "JSArray<dynamic> Function(_FunctionParameters)"
+        "type": "JSArray<dynamic> Function(_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters._getOptionalPositional": {
         "id": "function/dart:_rti::_FunctionParameters._getOptionalPositional",
@@ -4511,7 +4499,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "JSArray<dynamic> Function(_FunctionParameters)"
+        "type": "JSArray<dynamic> Function(_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters._getRequiredPositional": {
         "id": "function/dart:_rti::_FunctionParameters._getRequiredPositional",
@@ -4539,7 +4528,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "JSArray<dynamic> Function(_FunctionParameters)"
+        "type": "JSArray<dynamic> Function(_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters._setNamed": {
         "id": "function/dart:_rti::_FunctionParameters._setNamed",
@@ -4572,7 +4562,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(_FunctionParameters,Object?)"
+        "type": "void Function(_FunctionParameters,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters._setOptionalPositional": {
         "id": "function/dart:_rti::_FunctionParameters._setOptionalPositional",
@@ -4605,7 +4596,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(_FunctionParameters,Object?)"
+        "type": "void Function(_FunctionParameters,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters._setRequiredPositional": {
         "id": "function/dart:_rti::_FunctionParameters._setRequiredPositional",
@@ -4638,7 +4630,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(_FunctionParameters,Object?)"
+        "type": "void Function(_FunctionParameters,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters.allocate": {
         "id": "function/dart:_rti::_FunctionParameters.allocate",
@@ -4660,7 +4653,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "_FunctionParameters Function()"
+        "type": "_FunctionParameters Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.charCodeAt": {
         "id": "function/dart:_rti::_Parser.charCodeAt",
@@ -4693,7 +4687,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "",
-        "type": "int Function(String,int)"
+        "type": "int Function(String,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.collectArray": {
         "id": "function/dart:_rti::_Parser.collectArray",
@@ -4714,19 +4709,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?,Object?)"
+        "type": "JSArray<dynamic> Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.collectNamed": {
         "id": "function/dart:_rti::_Parser.collectNamed",
@@ -4747,19 +4743,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?,Object?)"
+        "type": "JSArray<dynamic> Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.create": {
         "id": "function/dart:_rti::_Parser.create",
@@ -4790,7 +4787,7 @@
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -4802,7 +4799,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_Parser_create(universe, environment, recipe, normalize) {\n      return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize};\n    }",
-        "type": "Object Function(Object?,Object?,String,bool)"
+        "type": "Object Function(Object?,Object?,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.environment": {
         "id": "function/dart:_rti::_Parser.environment",
@@ -4823,14 +4821,15 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 12,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleDigit": {
         "id": "function/dart:_rti::_Parser.handleDigit",
@@ -4866,14 +4865,15 @@
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_handleDigit(i, digit, source, stack) {\n      var t1, ch,\n        value = digit - 48;\n      for (t1 = source.length; i < t1; ++i) {\n        ch = source.charCodeAt(i);\n        if (!(ch >= 48 && ch <= 57))\n          break;\n        value = value * 10 + (ch - 48);\n      }\n      stack.push(value);\n      return i;\n    }",
-        "type": "int Function(int,int,String,Object?)"
+        "type": "int Function(int,int,String,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleExtendedOperations": {
         "id": "function/dart:_rti::_Parser.handleExtendedOperations",
@@ -4894,19 +4894,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_handleExtendedOperations(parser, stack) {\n      var $top = stack.pop();\n      if (0 === $top) {\n        stack.push(A._Universe__lookupTerminalRti(parser.u, 1, \"0&\"));\n        return;\n      }\n      if (1 === $top) {\n        stack.push(A._Universe__lookupTerminalRti(parser.u, 4, \"1&\"));\n        return;\n      }\n      throw A.wrapException(A.AssertionError$(\"Unexpected extended operation \" + A.S($top)));\n    }",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleFunctionArguments": {
         "id": "function/dart:_rti::_Parser.handleFunctionArguments",
@@ -4927,19 +4928,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleIdentifier": {
         "id": "function/dart:_rti::_Parser.handleIdentifier",
@@ -4960,7 +4962,7 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -4975,7 +4977,7 @@
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -4987,7 +4989,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_handleIdentifier(parser, start, source, stack, hasPeriod) {\n      var t1, ch, t2, string, environment, recipe,\n        i = start + 1;\n      for (t1 = source.length; i < t1; ++i) {\n        ch = source.charCodeAt(i);\n        if (ch === 46) {\n          if (hasPeriod)\n            break;\n          hasPeriod = true;\n        } else {\n          if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36))\n            t2 = ch >= 48 && ch <= 57;\n          else\n            t2 = true;\n          if (!t2)\n            break;\n        }\n      }\n      string = source.substring(start, i);\n      if (hasPeriod) {\n        t1 = parser.u;\n        environment = parser.e;\n        if (environment._kind === 10)\n          environment = environment._primary;\n        recipe = A._Universe_findRule(t1, environment._primary)[string];\n        if (recipe == null)\n          A.throwExpression('No \"' + string + '\" in \"' + A.Rti__getCanonicalRecipe(environment) + '\"');\n        stack.push(A._Universe_evalInEnvironment(t1, environment, recipe));\n      } else\n        stack.push(string);\n      return i;\n    }",
-        "type": "int Function(Object?,int,String,Object?,bool)"
+        "type": "int Function(Object?,int,String,Object?,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleNamedGroup": {
         "id": "function/dart:_rti::_Parser.handleNamedGroup",
@@ -5008,19 +5011,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleOptionalGroup": {
         "id": "function/dart:_rti::_Parser.handleOptionalGroup",
@@ -5041,19 +5045,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleTypeArguments": {
         "id": "function/dart:_rti::_Parser.handleTypeArguments",
@@ -5074,19 +5079,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.indexToType": {
         "id": "function/dart:_rti::_Parser.indexToType",
@@ -5124,7 +5130,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_indexToType(universe, environment, index) {\n      var typeArguments, len,\n        kind = environment._kind;\n      if (kind === 10) {\n        if (index === 0)\n          return environment._primary;\n        typeArguments = environment._rest;\n        len = typeArguments.length;\n        if (index <= len)\n          return typeArguments[index - 1];\n        index -= len;\n        environment = environment._primary;\n        kind = environment._kind;\n      } else if (index === 0)\n        return environment;\n      if (kind !== 9)\n        throw A.wrapException(A.AssertionError$(\"Indexed base must be an interface type\"));\n      typeArguments = environment._rest;\n      if (index <= typeArguments.length)\n        return typeArguments[index - 1];\n      throw A.wrapException(A.AssertionError$(\"Bad index \" + index + \" for \" + environment.toString$0(0)));\n    }",
-        "type": "Rti Function(Object?,Rti,int)"
+        "type": "Rti Function(Object?,Rti,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.normalize": {
         "id": "function/dart:_rti::_Parser.normalize",
@@ -5145,20 +5152,21 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.parse": {
         "id": "function/dart:_rti::_Parser.parse",
         "kind": "function",
         "name": "parse",
-        "size": 5256,
+        "size": 5040,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_rti::_Parser",
         "children": [],
@@ -5169,18 +5177,19 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Parser_parse(parser) {\n      var t1, i, ch, universe, array, head, base, u, parameters, optionalPositional, named, item,\n        source = parser.r,\n        stack = parser.s;\n      for (t1 = source.length, i = 0; i < t1;) {\n        ch = source.charCodeAt(i);\n        if (ch >= 48 && ch <= 57)\n          i = A._Parser_handleDigit(i + 1, ch, source, stack);\n        else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36)\n          i = A._Parser_handleIdentifier(parser, i, source, stack, false);\n        else if (ch === 46)\n          i = A._Parser_handleIdentifier(parser, i, source, stack, true);\n        else {\n          ++i;\n          switch (ch) {\n            case 44:\n              break;\n            case 58:\n              stack.push(false);\n              break;\n            case 33:\n              stack.push(true);\n              break;\n            case 59:\n              stack.push(A._Parser_toType(parser.u, parser.e, stack.pop()));\n              break;\n            case 94:\n              stack.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, stack.pop()));\n              break;\n            case 35:\n              stack.push(A._Universe__lookupTerminalRti(parser.u, 5, \"#\"));\n              break;\n            case 64:\n              stack.push(A._Universe__lookupTerminalRti(parser.u, 2, \"@\"));\n              break;\n            case 126:\n              stack.push(A._Universe__lookupTerminalRti(parser.u, 3, \"~\"));\n              break;\n            case 60:\n              stack.push(parser.p);\n              parser.p = stack.length;\n              break;\n            case 62:\n              universe = parser.u;\n              array = stack.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = stack.pop();\n              head = stack.pop();\n              if (typeof head == \"string\")\n                stack.push(A._Universe__lookupInterfaceRti(universe, head, array));\n              else {\n                base = A._Parser_toType(universe, parser.e, head);\n                switch (base._kind) {\n                  case 11:\n                    stack.push(A._Universe__lookupGenericFunctionRti(universe, base, array, parser.n));\n                    break;\n                  default:\n                    stack.push(A._Universe__lookupBindingRti(universe, base, array));\n                    break;\n                }\n              }\n              break;\n            case 38:\n              A._Parser_handleExtendedOperations(parser, stack);\n              break;\n            case 42:\n              u = parser.u;\n              stack.push(A._Universe__lookupStarRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n));\n              break;\n            case 63:\n              u = parser.u;\n              stack.push(A._Universe__lookupQuestionRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n));\n              break;\n            case 47:\n              u = parser.u;\n              stack.push(A._Universe__lookupFutureOrRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n));\n              break;\n            case 40:\n              stack.push(parser.p);\n              parser.p = stack.length;\n              break;\n            case 41:\n              universe = parser.u;\n              parameters = new A._FunctionParameters();\n              optionalPositional = universe.sEA;\n              named = universe.sEA;\n              head = stack.pop();\n              if (typeof head == \"number\")\n                switch (head) {\n                  case -1:\n                    optionalPositional = stack.pop();\n                    break;\n                  case -2:\n                    named = stack.pop();\n                    break;\n                  default:\n                    stack.push(head);\n                    break;\n                }\n              else\n                stack.push(head);\n              array = stack.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = stack.pop();\n              parameters._requiredPositional = array;\n              parameters._optionalPositional = optionalPositional;\n              parameters._named = named;\n              stack.push(A._Universe__lookupFunctionRti(universe, A._Parser_toType(universe, parser.e, stack.pop()), parameters));\n              break;\n            case 91:\n              stack.push(parser.p);\n              parser.p = stack.length;\n              break;\n            case 93:\n              array = stack.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = stack.pop();\n              stack.push(array);\n              stack.push(-1);\n              break;\n            case 123:\n              stack.push(parser.p);\n              parser.p = stack.length;\n              break;\n            case 125:\n              array = stack.splice(parser.p);\n              A._Parser_toTypesNamed(parser.u, parser.e, array);\n              parser.p = stack.pop();\n              stack.push(array);\n              stack.push(-2);\n              break;\n            default:\n              throw \"Bad character \" + ch;\n          }\n        }\n      }\n      item = stack.pop();\n      return A._Parser_toType(parser.u, parser.e, item);\n    }",
-        "type": "Rti Function(Object?)"
+        "code": "_Parser_parse(parser) {\n      var t2, i, ch, t3, array, head, base, parameters, optionalPositional, named, item,\n        source = parser.r,\n        t1 = parser.s;\n      for (t2 = source.length, i = 0; i < t2;) {\n        ch = source.charCodeAt(i);\n        if (ch >= 48 && ch <= 57)\n          i = A._Parser_handleDigit(i + 1, ch, source, t1);\n        else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36)\n          i = A._Parser_handleIdentifier(parser, i, source, t1, false);\n        else if (ch === 46)\n          i = A._Parser_handleIdentifier(parser, i, source, t1, true);\n        else {\n          ++i;\n          switch (ch) {\n            case 44:\n              break;\n            case 58:\n              t1.push(false);\n              break;\n            case 33:\n              t1.push(true);\n              break;\n            case 59:\n              t1.push(A._Parser_toType(parser.u, parser.e, t1.pop()));\n              break;\n            case 94:\n              t1.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, t1.pop()));\n              break;\n            case 35:\n              t1.push(A._Universe__lookupTerminalRti(parser.u, 5, \"#\"));\n              break;\n            case 64:\n              t1.push(A._Universe__lookupTerminalRti(parser.u, 2, \"@\"));\n              break;\n            case 126:\n              t1.push(A._Universe__lookupTerminalRti(parser.u, 3, \"~\"));\n              break;\n            case 60:\n              t1.push(parser.p);\n              parser.p = t1.length;\n              break;\n            case 62:\n              t3 = parser.u;\n              array = t1.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = t1.pop();\n              head = t1.pop();\n              if (typeof head == \"string\")\n                t1.push(A._Universe__lookupInterfaceRti(t3, head, array));\n              else {\n                base = A._Parser_toType(t3, parser.e, head);\n                switch (base._kind) {\n                  case 11:\n                    t1.push(A._Universe__lookupGenericFunctionRti(t3, base, array, parser.n));\n                    break;\n                  default:\n                    t1.push(A._Universe__lookupBindingRti(t3, base, array));\n                    break;\n                }\n              }\n              break;\n            case 38:\n              A._Parser_handleExtendedOperations(parser, t1);\n              break;\n            case 42:\n              t3 = parser.u;\n              t1.push(A._Universe__lookupStarRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));\n              break;\n            case 63:\n              t3 = parser.u;\n              t1.push(A._Universe__lookupQuestionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));\n              break;\n            case 47:\n              t3 = parser.u;\n              t1.push(A._Universe__lookupFutureOrRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));\n              break;\n            case 40:\n              t1.push(parser.p);\n              parser.p = t1.length;\n              break;\n            case 41:\n              t3 = parser.u;\n              parameters = new A._FunctionParameters();\n              optionalPositional = t3.sEA;\n              named = t3.sEA;\n              head = t1.pop();\n              if (typeof head == \"number\")\n                switch (head) {\n                  case -1:\n                    optionalPositional = t1.pop();\n                    break;\n                  case -2:\n                    named = t1.pop();\n                    break;\n                  default:\n                    t1.push(head);\n                    break;\n                }\n              else\n                t1.push(head);\n              array = t1.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = t1.pop();\n              parameters._requiredPositional = array;\n              parameters._optionalPositional = optionalPositional;\n              parameters._named = named;\n              t1.push(A._Universe__lookupFunctionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parameters));\n              break;\n            case 91:\n              t1.push(parser.p);\n              parser.p = t1.length;\n              break;\n            case 93:\n              array = t1.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = t1.pop();\n              t1.push(array);\n              t1.push(-1);\n              break;\n            case 123:\n              t1.push(parser.p);\n              parser.p = t1.length;\n              break;\n            case 125:\n              array = t1.splice(parser.p);\n              A._Parser_toTypesNamed(parser.u, parser.e, array);\n              parser.p = t1.pop();\n              t1.push(array);\n              t1.push(-2);\n              break;\n            default:\n              throw \"Bad character \" + ch;\n          }\n        }\n      }\n      item = t1.pop();\n      return A._Parser_toType(parser.u, parser.e, item);\n    }",
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.pop": {
         "id": "function/dart:_rti::_Parser.pop",
@@ -5201,14 +5210,15 @@
         "parameters": [
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 16,
         "code": "",
-        "type": "Object? Function(Object?)"
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.position": {
         "id": "function/dart:_rti::_Parser.position",
@@ -5229,14 +5239,15 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 8,
         "code": "",
-        "type": "int Function(Object?)"
+        "type": "int Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.push": {
         "id": "function/dart:_rti::_Parser.push",
@@ -5257,7 +5268,7 @@
         "parameters": [
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -5269,7 +5280,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 29,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.pushStackFrame": {
         "id": "function/dart:_rti::_Parser.pushStackFrame",
@@ -5290,19 +5302,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.recipe": {
         "id": "function/dart:_rti::_Parser.recipe",
@@ -5323,14 +5336,15 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.setPosition": {
         "id": "function/dart:_rti::_Parser.setPosition",
@@ -5351,7 +5365,7 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -5363,7 +5377,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 8,
         "code": "",
-        "type": "void Function(Object?,int)"
+        "type": "void Function(Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.stack": {
         "id": "function/dart:_rti::_Parser.stack",
@@ -5384,14 +5399,15 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.toGenericFunctionParameter": {
         "id": "function/dart:_rti::_Parser.toGenericFunctionParameter",
@@ -5408,7 +5424,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -5424,7 +5440,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,Object?)"
+        "type": "Rti Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.toType": {
         "id": "function/dart:_rti::_Parser.toType",
@@ -5441,7 +5458,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -5462,7 +5479,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_toType(universe, environment, item) {\n      if (typeof item == \"string\")\n        return A._Universe__lookupInterfaceRti(universe, item, universe.sEA);\n      else if (typeof item == \"number\")\n        return A._Parser_indexToType(universe, environment, item);\n      else\n        return item;\n    }",
-        "type": "Rti Function(Object?,Rti,Object?)"
+        "type": "Rti Function(Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.toTypes": {
         "id": "function/dart:_rti::_Parser.toTypes",
@@ -5500,7 +5518,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_toTypes(universe, environment, items) {\n      var i,\n        $length = items.length;\n      for (i = 0; i < $length; ++i)\n        items[i] = A._Parser_toType(universe, environment, items[i]);\n    }",
-        "type": "void Function(Object?,Rti,Object?)"
+        "type": "void Function(Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.toTypesNamed": {
         "id": "function/dart:_rti::_Parser.toTypesNamed",
@@ -5538,7 +5557,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_toTypesNamed(universe, environment, items) {\n      var i,\n        $length = items.length;\n      for (i = 2; i < $length; i += 3)\n        items[i] = A._Parser_toType(universe, environment, items[i]);\n    }",
-        "type": "void Function(Object?,Rti,Object?)"
+        "type": "void Function(Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.universe": {
         "id": "function/dart:_rti::_Parser.universe",
@@ -5559,14 +5579,15 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 18,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_TypeError._TypeError.forType": {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
@@ -5599,7 +5620,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_TypeError__TypeError$forType(object, type) {\n      return new A._TypeError(\"TypeError: \" + A._Error_compose(object, null, type));\n    }",
-        "type": "_TypeError Function(dynamic,String)"
+        "type": "_TypeError Function(dynamic,String)",
+        "functionKind": 3
       },
       "dart:_rti::_TypeError._TypeError.fromMessage": {
         "id": "function/dart:_rti::_TypeError._TypeError.fromMessage",
@@ -5627,7 +5649,8 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 1,
         "code": "_TypeError$fromMessage(message) {\n      return new A._TypeError(\"TypeError: \" + message);\n    }",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:_rti::_Universe._canonicalRecipeJoin": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeJoin",
@@ -5655,7 +5678,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "_Universe__canonicalRecipeJoin($arguments) {\n      var s, sep, i,\n        $length = $arguments.length;\n      for (s = \"\", sep = \"\", i = 0; i < $length; ++i, sep = \",\")\n        s += sep + $arguments[i]._canonicalRecipe;\n      return s;\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeJoinNamed": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeJoinNamed",
@@ -5683,7 +5707,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "_Universe__canonicalRecipeJoinNamed($arguments) {\n      var s, sep, i, t1, nameSep,\n        $length = $arguments.length;\n      for (s = \"\", sep = \"\", i = 0; i < $length; i += 3, sep = \",\") {\n        t1 = $arguments[i];\n        nameSep = $arguments[i + 1] ? \"!\" : \":\";\n        s += sep + t1 + nameSep + $arguments[i + 2]._canonicalRecipe;\n      }\n      return s;\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfAny": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfAny",
@@ -5705,7 +5730,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfBinding": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfBinding",
@@ -5726,7 +5752,7 @@
         "parameters": [
           {
             "name": "base",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -5738,7 +5764,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti,Object?)"
+        "type": "String Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfDynamic": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfDynamic",
@@ -5760,7 +5787,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfErased": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfErased",
@@ -5782,7 +5810,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfFunction": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfFunction",
@@ -5803,7 +5832,7 @@
         "parameters": [
           {
             "name": "returnType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -5815,7 +5844,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti,_FunctionParameters)"
+        "type": "String Function(Rti,_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfFunctionParameters": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfFunctionParameters",
@@ -5843,7 +5873,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(_FunctionParameters)"
+        "type": "String Function(_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfFutureOr": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfFutureOr",
@@ -5864,14 +5895,15 @@
         "parameters": [
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti)"
+        "type": "String Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfGenericFunction": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfGenericFunction",
@@ -5892,7 +5924,7 @@
         "parameters": [
           {
             "name": "baseFunctionType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -5904,7 +5936,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti,Object?)"
+        "type": "String Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfGenericFunctionParameter": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfGenericFunctionParameter",
@@ -5932,7 +5965,8 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(int)"
+        "type": "String Function(int)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfInterface": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfInterface",
@@ -5953,7 +5987,7 @@
         "parameters": [
           {
             "name": "name",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -5965,7 +5999,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String,Object?)"
+        "type": "String Function(String,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfNever": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfNever",
@@ -5987,7 +6022,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfQuestion": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfQuestion",
@@ -6008,14 +6044,15 @@
         "parameters": [
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti)"
+        "type": "String Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfStar": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfStar",
@@ -6036,14 +6073,15 @@
         "parameters": [
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti)"
+        "type": "String Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfVoid": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfVoid",
@@ -6065,7 +6103,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createBindingRti": {
         "id": "function/dart:_rti::_Universe._createBindingRti",
@@ -6091,7 +6130,7 @@
           },
           {
             "name": "base",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6108,7 +6147,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,Rti,Object?,String)"
+        "type": "Rti Function(Object?,Rti,Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createFunctionRti": {
         "id": "function/dart:_rti::_Universe._createFunctionRti",
@@ -6129,12 +6169,12 @@
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "returnType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6151,13 +6191,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,Rti,_FunctionParameters,String)"
+        "type": "Rti Function(Object?,Rti,_FunctionParameters,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createFutureOrRti": {
         "id": "function/dart:_rti::_Universe._createFutureOrRti",
         "kind": "function",
         "name": "_createFutureOrRti",
-        "size": 841,
+        "size": 821,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_rti::_Universe",
         "children": [],
@@ -6172,12 +6213,12 @@
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6193,8 +6234,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Universe__createFutureOrRti(universe, baseType, key, normalize) {\n      var t1, t2, rti;\n      if (normalize) {\n        t1 = baseType._kind;\n        if (!A.isStrongTopType(baseType))\n          if (!(baseType === type$.legacy_Object))\n            t2 = baseType === type$.Object;\n          else\n            t2 = true;\n        else\n          t2 = true;\n        if (t2 || baseType === type$.Object)\n          return baseType;\n        else if (t1 === 1)\n          return A._Universe__lookupInterfaceRti(universe, \"Future\", [baseType]);\n        else if (baseType === type$.Null || baseType === type$.JSNull)\n          return type$.nullable_Future_Null;\n      }\n      rti = new A.Rti(null, null);\n      rti._kind = 8;\n      rti._primary = baseType;\n      rti._canonicalRecipe = key;\n      return A._Universe__installTypeTests(universe, rti);\n    }",
-        "type": "Rti Function(Object?,Rti,String,bool)"
+        "code": "_Universe__createFutureOrRti(universe, baseType, key, normalize) {\n      var t1, t2, rti;\n      if (normalize) {\n        t1 = baseType._kind;\n        if (!A.isStrongTopType(baseType))\n          if (!(baseType === type$.legacy_Object))\n            t2 = false;\n          else\n            t2 = true;\n        else\n          t2 = true;\n        if (t2 || baseType === type$.Object)\n          return baseType;\n        else if (t1 === 1)\n          return A._Universe__lookupInterfaceRti(universe, \"Future\", [baseType]);\n        else if (baseType === type$.Null || baseType === type$.JSNull)\n          return type$.nullable_Future_Null;\n      }\n      rti = new A.Rti(null, null);\n      rti._kind = 8;\n      rti._primary = baseType;\n      rti._canonicalRecipe = key;\n      return A._Universe__installTypeTests(universe, rti);\n    }",
+        "type": "Rti Function(Object?,Rti,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createGenericFunctionParameterRti": {
         "id": "function/dart:_rti::_Universe._createGenericFunctionParameterRti",
@@ -6232,7 +6274,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,int,String)"
+        "type": "Rti Function(Object?,int,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createGenericFunctionRti": {
         "id": "function/dart:_rti::_Universe._createGenericFunctionRti",
@@ -6249,16 +6292,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseFunctionType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6280,7 +6323,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize) {\n      var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti;\n      if (normalize) {\n        $length = bounds.length;\n        typeArguments = A._Utils_newArrayOrEmpty($length);\n        for (count = 0, i = 0; i < $length; ++i) {\n          bound = bounds[i];\n          if (bound._kind === 1) {\n            typeArguments[i] = bound;\n            ++count;\n          }\n        }\n        if (count > 0) {\n          substitutedBase = A._substitute(universe, baseFunctionType, typeArguments, 0);\n          substitutedBounds = A._substituteArray(universe, bounds, typeArguments, 0);\n          return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds);\n        }\n      }\n      rti = new A.Rti(null, null);\n      rti._kind = 12;\n      rti._primary = baseFunctionType;\n      rti._rest = bounds;\n      rti._canonicalRecipe = key;\n      return A._Universe__installTypeTests(universe, rti);\n    }",
-        "type": "Rti Function(Object?,Rti,Object?,String,bool)"
+        "type": "Rti Function(Object?,Rti,Object?,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createInterfaceRti": {
         "id": "function/dart:_rti::_Universe._createInterfaceRti",
@@ -6306,7 +6350,7 @@
           },
           {
             "name": "name",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -6323,7 +6367,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,String,Object?,String)"
+        "type": "Rti Function(Object?,String,Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createQuestionRti": {
         "id": "function/dart:_rti::_Universe._createQuestionRti",
@@ -6349,7 +6394,7 @@
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6366,7 +6411,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__createQuestionRti(universe, baseType, key, normalize) {\n      var baseKind, t1, starArgument, rti;\n      if (normalize) {\n        baseKind = baseType._kind;\n        if (!A.isStrongTopType(baseType))\n          if (!(baseType === type$.Null || baseType === type$.JSNull))\n            if (baseKind !== 7)\n              t1 = baseKind === 8 && A.isNullable(baseType._primary);\n            else\n              t1 = true;\n          else\n            t1 = true;\n        else\n          t1 = true;\n        if (t1)\n          return baseType;\n        else if (baseKind === 1 || baseType === type$.legacy_Never)\n          return type$.Null;\n        else if (baseKind === 6) {\n          starArgument = baseType._primary;\n          if (starArgument._kind === 8 && A.isNullable(starArgument._primary))\n            return starArgument;\n          else\n            return A.Rti__getQuestionFromStar(universe, baseType);\n        }\n      }\n      rti = new A.Rti(null, null);\n      rti._kind = 7;\n      rti._primary = baseType;\n      rti._canonicalRecipe = key;\n      return A._Universe__installTypeTests(universe, rti);\n    }",
-        "type": "Rti Function(Object?,Rti,String,bool)"
+        "type": "Rti Function(Object?,Rti,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createStarRti": {
         "id": "function/dart:_rti::_Universe._createStarRti",
@@ -6383,16 +6429,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6409,7 +6455,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__createStarRti(universe, baseType, key, normalize) {\n      var baseKind, t1, rti;\n      if (normalize) {\n        baseKind = baseType._kind;\n        if (!A.isStrongTopType(baseType))\n          t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6;\n        else\n          t1 = true;\n        if (t1)\n          return baseType;\n      }\n      rti = new A.Rti(null, null);\n      rti._kind = 6;\n      rti._primary = baseType;\n      rti._canonicalRecipe = key;\n      return A._Universe__installTypeTests(universe, rti);\n    }",
-        "type": "Rti Function(Object?,Rti,String,bool)"
+        "type": "Rti Function(Object?,Rti,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createTerminalRti": {
         "id": "function/dart:_rti::_Universe._createTerminalRti",
@@ -6447,7 +6494,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,int,String)"
+        "type": "Rti Function(Object?,int,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._findRule": {
         "id": "function/dart:_rti::_Universe._findRule",
@@ -6480,7 +6528,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "Object? Function(Object?,String)"
+        "type": "Object? Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._installRti": {
         "id": "function/dart:_rti::_Universe._installRti",
@@ -6497,7 +6546,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -6518,7 +6567,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 9,
         "code": "",
-        "type": "Rti Function(Object?,String,Rti)"
+        "type": "Rti Function(Object?,String,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._installTypeTests": {
         "id": "function/dart:_rti::_Universe._installTypeTests",
@@ -6551,7 +6601,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__installTypeTests(universe, rti) {\n      rti._as = A._installSpecializedAsCheck;\n      rti._is = A._installSpecializedIsTest;\n      return rti;\n    }",
-        "type": "Rti Function(Object?,Rti)"
+        "type": "Rti Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupAnyRti": {
         "id": "function/dart:_rti::_Universe._lookupAnyRti",
@@ -6568,7 +6619,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -6579,7 +6630,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupBindingRti": {
         "id": "function/dart:_rti::_Universe._lookupBindingRti",
@@ -6596,7 +6648,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -6605,7 +6657,7 @@
           },
           {
             "name": "base",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6617,7 +6669,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupBindingRti(universe, base, $arguments) {\n      var newBase, newArguments, key, probe, rti, t1;\n      if (base._kind === 10) {\n        newBase = base._primary;\n        newArguments = base._rest.concat($arguments);\n      } else {\n        newArguments = $arguments;\n        newBase = base;\n      }\n      key = newBase._canonicalRecipe + (\";<\" + A._Universe__canonicalRecipeJoin(newArguments) + \">\");\n      probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      rti = new A.Rti(null, null);\n      rti._kind = 10;\n      rti._primary = newBase;\n      rti._rest = newArguments;\n      rti._canonicalRecipe = key;\n      t1 = A._Universe__installTypeTests(universe, rti);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,Object?)"
+        "type": "Rti Function(Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupDynamicRti": {
         "id": "function/dart:_rti::_Universe._lookupDynamicRti",
@@ -6634,7 +6687,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -6645,7 +6698,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupErasedRti": {
         "id": "function/dart:_rti::_Universe._lookupErasedRti",
@@ -6662,7 +6716,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -6673,7 +6727,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupFunctionRti": {
         "id": "function/dart:_rti::_Universe._lookupFunctionRti",
@@ -6690,16 +6745,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "returnType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6711,7 +6766,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupFunctionRti(universe, returnType, parameters) {\n      var sep, key, probe, rti, t1,\n        s = returnType._canonicalRecipe,\n        requiredPositional = parameters._requiredPositional,\n        requiredPositionalLength = requiredPositional.length,\n        optionalPositional = parameters._optionalPositional,\n        optionalPositionalLength = optionalPositional.length,\n        named = parameters._named,\n        namedLength = named.length,\n        recipe = \"(\" + A._Universe__canonicalRecipeJoin(requiredPositional);\n      if (optionalPositionalLength > 0) {\n        sep = requiredPositionalLength > 0 ? \",\" : \"\";\n        recipe += sep + \"[\" + A._Universe__canonicalRecipeJoin(optionalPositional) + \"]\";\n      }\n      if (namedLength > 0) {\n        sep = requiredPositionalLength > 0 ? \",\" : \"\";\n        recipe += sep + \"{\" + A._Universe__canonicalRecipeJoinNamed(named) + \"}\";\n      }\n      key = s + (recipe + \")\");\n      probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      rti = new A.Rti(null, null);\n      rti._kind = 11;\n      rti._primary = returnType;\n      rti._rest = parameters;\n      rti._canonicalRecipe = key;\n      t1 = A._Universe__installTypeTests(universe, rti);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,_FunctionParameters)"
+        "type": "Rti Function(Object?,Rti,_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupFutureOrRti": {
         "id": "function/dart:_rti::_Universe._lookupFutureOrRti",
@@ -6728,16 +6784,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6749,7 +6805,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupFutureOrRti(universe, baseType, normalize) {\n      var t1,\n        key = baseType._canonicalRecipe + \"/\",\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      t1 = A._Universe__createFutureOrRti(universe, baseType, key, normalize);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,bool)"
+        "type": "Rti Function(Object?,Rti,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupFutureRti": {
         "id": "function/dart:_rti::_Universe._lookupFutureRti",
@@ -6766,7 +6823,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -6775,14 +6832,15 @@
           },
           {
             "name": "base",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Rti Function(Object?,Rti)"
+        "type": "Rti Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupGenericFunctionParameterRti": {
         "id": "function/dart:_rti::_Universe._lookupGenericFunctionParameterRti",
@@ -6799,7 +6857,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -6815,7 +6873,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupGenericFunctionParameterRti(universe, index) {\n      var rti, t1,\n        key = \"\" + index + \"^\",\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      rti = new A.Rti(null, null);\n      rti._kind = 13;\n      rti._primary = index;\n      rti._canonicalRecipe = key;\n      t1 = A._Universe__installTypeTests(universe, rti);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,int)"
+        "type": "Rti Function(Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupGenericFunctionRti": {
         "id": "function/dart:_rti::_Universe._lookupGenericFunctionRti",
@@ -6832,16 +6891,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseFunctionType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6858,7 +6917,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupGenericFunctionRti(universe, baseFunctionType, bounds, normalize) {\n      var t1,\n        key = baseFunctionType._canonicalRecipe + (\"<\" + A._Universe__canonicalRecipeJoin(bounds) + \">\"),\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      t1 = A._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,Object?,bool)"
+        "type": "Rti Function(Object?,Rti,Object?,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupInterfaceRti": {
         "id": "function/dart:_rti::_Universe._lookupInterfaceRti",
@@ -6875,7 +6935,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -6896,7 +6956,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupInterfaceRti(universe, $name, $arguments) {\n      var probe, rti, t1,\n        s = $name;\n      if ($arguments.length > 0)\n        s += \"<\" + A._Universe__canonicalRecipeJoin($arguments) + \">\";\n      probe = universe.eC.get(s);\n      if (probe != null)\n        return probe;\n      rti = new A.Rti(null, null);\n      rti._kind = 9;\n      rti._primary = $name;\n      rti._rest = $arguments;\n      if ($arguments.length > 0)\n        rti._precomputed1 = $arguments[0];\n      rti._canonicalRecipe = s;\n      t1 = A._Universe__installTypeTests(universe, rti);\n      universe.eC.set(s, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,String,Object?)"
+        "type": "Rti Function(Object?,String,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupNeverRti": {
         "id": "function/dart:_rti::_Universe._lookupNeverRti",
@@ -6913,7 +6974,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -6924,7 +6985,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupQuestionRti": {
         "id": "function/dart:_rti::_Universe._lookupQuestionRti",
@@ -6941,7 +7003,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -6950,7 +7012,7 @@
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -6962,7 +7024,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupQuestionRti(universe, baseType, normalize) {\n      var t1,\n        key = baseType._canonicalRecipe + \"?\",\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      t1 = A._Universe__createQuestionRti(universe, baseType, key, normalize);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,bool)"
+        "type": "Rti Function(Object?,Rti,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupStarRti": {
         "id": "function/dart:_rti::_Universe._lookupStarRti",
@@ -6979,16 +7042,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -7000,7 +7063,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupStarRti(universe, baseType, normalize) {\n      var t1,\n        key = baseType._canonicalRecipe + \"*\",\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      t1 = A._Universe__createStarRti(universe, baseType, key, normalize);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,bool)"
+        "type": "Rti Function(Object?,Rti,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupTerminalRti": {
         "id": "function/dart:_rti::_Universe._lookupTerminalRti",
@@ -7017,7 +7081,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -7038,7 +7102,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupTerminalRti(universe, kind, key) {\n      var rti, t1,\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      rti = new A.Rti(null, null);\n      rti._kind = kind;\n      rti._canonicalRecipe = key;\n      t1 = A._Universe__installTypeTests(universe, rti);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,int,String)"
+        "type": "Rti Function(Object?,int,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupVoidRti": {
         "id": "function/dart:_rti::_Universe._lookupVoidRti",
@@ -7055,7 +7120,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -7066,7 +7131,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._parseRecipe": {
         "id": "function/dart:_rti::_Universe._parseRecipe",
@@ -7083,7 +7149,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -7097,7 +7163,7 @@
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -7109,7 +7175,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Rti Function(Object?,Object?,String,bool)"
+        "type": "Rti Function(Object?,Object?,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._recipeJoin": {
         "id": "function/dart:_rti::_Universe._recipeJoin",
@@ -7142,7 +7209,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 9,
         "code": "",
-        "type": "String Function(String,String)"
+        "type": "String Function(String,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._recipeJoin3": {
         "id": "function/dart:_rti::_Universe._recipeJoin3",
@@ -7180,7 +7248,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String,String,String)"
+        "type": "String Function(String,String,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._recipeJoin4": {
         "id": "function/dart:_rti::_Universe._recipeJoin4",
@@ -7223,7 +7292,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "String Function(String,String,String,String)"
+        "type": "String Function(String,String,String,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._recipeJoin5": {
         "id": "function/dart:_rti::_Universe._recipeJoin5",
@@ -7271,7 +7341,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "String Function(String,String,String,String,String)"
+        "type": "String Function(String,String,String,String,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.addErasedTypes": {
         "id": "function/dart:_rti::_Universe.addErasedTypes",
@@ -7304,7 +7375,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe_addErasedTypes(universe, types) {\n      return A._Utils_objectAssign(universe.eT, types);\n    }",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.addRules": {
         "id": "function/dart:_rti::_Universe.addRules",
@@ -7337,7 +7409,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe_addRules(universe, rules) {\n      return A._Utils_objectAssign(universe.tR, rules);\n    }",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.bind": {
         "id": "function/dart:_rti::_Universe.bind",
@@ -7354,7 +7427,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -7375,7 +7448,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe_bind(universe, environment, argumentsRti) {\n      var argumentsRecipe, probe, rti,\n        cache = environment._bindCache;\n      if (cache == null)\n        cache = environment._bindCache = new Map();\n      argumentsRecipe = argumentsRti._canonicalRecipe;\n      probe = cache.get(argumentsRecipe);\n      if (probe != null)\n        return probe;\n      rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]);\n      cache.set(argumentsRecipe, rti);\n      return rti;\n    }",
-        "type": "Rti Function(Object?,Rti,Rti)"
+        "type": "Rti Function(Object?,Rti,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.erasedTypes": {
         "id": "function/dart:_rti::_Universe.erasedTypes",
@@ -7403,13 +7477,14 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.eval": {
         "id": "function/dart:_rti::_Universe.eval",
         "kind": "function",
         "name": "eval",
-        "size": 307,
+        "size": 298,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_rti::_Universe",
         "children": [],
@@ -7420,7 +7495,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -7429,7 +7504,7 @@
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -7440,8 +7515,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Universe_eval(universe, recipe, normalize) {\n      var rti,\n        cache = universe.eC,\n        probe = cache.get(recipe);\n      if (probe != null)\n        return probe;\n      rti = A._Parser_parse(A._Parser_create(universe, null, recipe, normalize));\n      cache.set(recipe, rti);\n      return rti;\n    }",
-        "type": "Rti Function(Object?,String,bool)"
+        "code": "_Universe_eval(universe, recipe, normalize) {\n      var rti,\n        t1 = universe.eC,\n        probe = t1.get(recipe);\n      if (probe != null)\n        return probe;\n      rti = A._Parser_parse(A._Parser_create(universe, null, recipe, normalize));\n      t1.set(recipe, rti);\n      return rti;\n    }",
+        "type": "Rti Function(Object?,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.evalCache": {
         "id": "function/dart:_rti::_Universe.evalCache",
@@ -7469,7 +7545,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 19,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.evalInEnvironment": {
         "id": "function/dart:_rti::_Universe.evalInEnvironment",
@@ -7486,7 +7563,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -7495,19 +7572,20 @@
           },
           {
             "name": "environment",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe_evalInEnvironment(universe, environment, recipe) {\n      var probe, rti,\n        cache = environment._evalCache;\n      if (cache == null)\n        cache = environment._evalCache = new Map();\n      probe = cache.get(recipe);\n      if (probe != null)\n        return probe;\n      rti = A._Parser_parse(A._Parser_create(universe, environment, recipe, true));\n      cache.set(recipe, rti);\n      return rti;\n    }",
-        "type": "Rti Function(Object?,Rti,String)"
+        "type": "Rti Function(Object?,Rti,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.evalTypeVariable": {
         "id": "function/dart:_rti::_Universe.evalTypeVariable",
@@ -7524,7 +7602,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -7545,13 +7623,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,Rti,String)"
+        "type": "Rti Function(Object?,Rti,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.findErasedType": {
         "id": "function/dart:_rti::_Universe.findErasedType",
         "kind": "function",
         "name": "findErasedType",
-        "size": 686,
+        "size": 668,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_rti::_Universe",
         "children": [],
@@ -7562,7 +7641,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -7577,8 +7656,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Universe_findErasedType(universe, cls) {\n      var $length, erased, $arguments, i, $interface,\n        metadata = universe.eT,\n        probe = metadata[cls];\n      if (probe == null)\n        return A._Universe_eval(universe, cls, false);\n      else if (typeof probe == \"number\") {\n        $length = probe;\n        erased = A._Universe__lookupTerminalRti(universe, 5, \"#\");\n        $arguments = A._Utils_newArrayOrEmpty($length);\n        for (i = 0; i < $length; ++i)\n          $arguments[i] = erased;\n        $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments);\n        metadata[cls] = $interface;\n        return $interface;\n      } else\n        return probe;\n    }",
-        "type": "Rti Function(Object?,String)"
+        "code": "_Universe_findErasedType(universe, cls) {\n      var $length, erased, $arguments, i, $interface,\n        t1 = universe.eT,\n        probe = t1[cls];\n      if (probe == null)\n        return A._Universe_eval(universe, cls, false);\n      else if (typeof probe == \"number\") {\n        $length = probe;\n        erased = A._Universe__lookupTerminalRti(universe, 5, \"#\");\n        $arguments = A._Utils_newArrayOrEmpty($length);\n        for (i = 0; i < $length; ++i)\n          $arguments[i] = erased;\n        $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments);\n        t1[cls] = $interface;\n        return $interface;\n      } else\n        return probe;\n    }",
+        "type": "Rti Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.findRule": {
         "id": "function/dart:_rti::_Universe.findRule",
@@ -7611,7 +7691,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "_Universe_findRule(universe, targetType) {\n      var rule = universe.tR[targetType];\n      for (; typeof rule == \"string\";)\n        rule = universe.tR[rule];\n      return rule;\n    }",
-        "type": "Object? Function(Object?,String)"
+        "type": "Object? Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.findTypeParameterVariances": {
         "id": "function/dart:_rti::_Universe.findTypeParameterVariances",
@@ -7644,7 +7725,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object? Function(Object?,String)"
+        "type": "Object? Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.sharedEmptyArray": {
         "id": "function/dart:_rti::_Universe.sharedEmptyArray",
@@ -7672,7 +7754,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?)"
+        "type": "JSArray<dynamic> Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.typeParameterVariances": {
         "id": "function/dart:_rti::_Universe.typeParameterVariances",
@@ -7700,7 +7783,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.typeRules": {
         "id": "function/dart:_rti::_Universe.typeRules",
@@ -7728,7 +7812,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.arrayAt": {
         "id": "function/dart:_rti::_Utils.arrayAt",
@@ -7761,7 +7846,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 44,
         "code": "",
-        "type": "Object? Function(Object?,int)"
+        "type": "Object? Function(Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.arrayConcat": {
         "id": "function/dart:_rti::_Utils.arrayConcat",
@@ -7794,7 +7880,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?,Object?)"
+        "type": "JSArray<dynamic> Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.arrayLength": {
         "id": "function/dart:_rti::_Utils.arrayLength",
@@ -7822,7 +7909,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 35,
         "code": "",
-        "type": "int Function(Object?)"
+        "type": "int Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.arraySetAt": {
         "id": "function/dart:_rti::_Utils.arraySetAt",
@@ -7853,14 +7941,15 @@
           },
           {
             "name": "value",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 7,
         "code": "",
-        "type": "void Function(Object?,int,Object?)"
+        "type": "void Function(Object?,int,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.arraySplice": {
         "id": "function/dart:_rti::_Utils.arraySplice",
@@ -7881,7 +7970,7 @@
         "parameters": [
           {
             "name": "array",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -7893,7 +7982,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?,int)"
+        "type": "JSArray<dynamic> Function(Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asBool": {
         "id": "function/dart:_rti::_Utils.asBool",
@@ -7921,7 +8011,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 6,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asDouble": {
         "id": "function/dart:_rti::_Utils.asDouble",
@@ -7949,7 +8040,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "double Function(Object?)"
+        "type": "double Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asInt": {
         "id": "function/dart:_rti::_Utils.asInt",
@@ -7977,7 +8069,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 42,
         "code": "",
-        "type": "int Function(Object?)"
+        "type": "int Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asNum": {
         "id": "function/dart:_rti::_Utils.asNum",
@@ -8005,7 +8098,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "num Function(Object?)"
+        "type": "num Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asRti": {
         "id": "function/dart:_rti::_Utils.asRti",
@@ -8033,7 +8127,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 96,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asRtiOrNull": {
         "id": "function/dart:_rti::_Utils.asRtiOrNull",
@@ -8061,7 +8156,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Rti? Function(Object?)"
+        "type": "Rti? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asString": {
         "id": "function/dart:_rti::_Utils.asString",
@@ -8089,7 +8185,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 33,
         "code": "",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.instanceOf": {
         "id": "function/dart:_rti::_Utils.instanceOf",
@@ -8122,7 +8219,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "bool Function(Object?,Object?)"
+        "type": "bool Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.isArray": {
         "id": "function/dart:_rti::_Utils.isArray",
@@ -8150,7 +8248,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.isIdentical": {
         "id": "function/dart:_rti::_Utils.isIdentical",
@@ -8183,7 +8282,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 59,
         "code": "",
-        "type": "bool Function(Object?,Object?)"
+        "type": "bool Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.isNotIdentical": {
         "id": "function/dart:_rti::_Utils.isNotIdentical",
@@ -8216,7 +8316,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function(Object?,Object?)"
+        "type": "bool Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.isNum": {
         "id": "function/dart:_rti::_Utils.isNum",
@@ -8244,7 +8345,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.isString": {
         "id": "function/dart:_rti::_Utils.isString",
@@ -8272,7 +8374,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.mapGet": {
         "id": "function/dart:_rti::_Utils.mapGet",
@@ -8298,14 +8401,15 @@
           },
           {
             "name": "key",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 12,
         "code": "",
-        "type": "Object? Function(Object?,Object?)"
+        "type": "Object? Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.mapSet": {
         "id": "function/dart:_rti::_Utils.mapSet",
@@ -8331,19 +8435,20 @@
           },
           {
             "name": "key",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "Object?"
           },
           {
             "name": "value",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 12,
         "code": "",
-        "type": "void Function(Object?,Object?,Object?)"
+        "type": "void Function(Object?,Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.newArrayOrEmpty": {
         "id": "function/dart:_rti::_Utils.newArrayOrEmpty",
@@ -8371,7 +8476,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "_Utils_newArrayOrEmpty($length) {\n      return $length > 0 ? new Array($length) : init.typeUniverse.sEA;\n    }",
-        "type": "Object? Function(int)"
+        "type": "Object? Function(int)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.objectAssign": {
         "id": "function/dart:_rti::_Utils.objectAssign",
@@ -8404,7 +8510,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Utils_objectAssign(o, other) {\n      var i, key,\n        keys = Object.keys(other),\n        $length = keys.length;\n      for (i = 0; i < $length; ++i) {\n        key = keys[i];\n        o[key] = other[key];\n      }\n    }",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.objectKeys": {
         "id": "function/dart:_rti::_Utils.objectKeys",
@@ -8432,7 +8539,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?)"
+        "type": "JSArray<dynamic> Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.stringLessThan": {
         "id": "function/dart:_rti::_Utils.stringLessThan",
@@ -8465,7 +8573,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(String,String)"
+        "type": "bool Function(String,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.substring": {
         "id": "function/dart:_rti::_Utils.substring",
@@ -8503,7 +8612,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String,int,int)"
+        "type": "String Function(String,int,int)",
+        "functionKind": 0
       },
       "dart:_rti::_areArgumentsSubtypes": {
         "id": "function/dart:_rti::_areArgumentsSubtypes",
@@ -8556,7 +8666,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv) {\n      var i, t1, t2,\n        $length = sArgs.length;\n      for (i = 0; i < $length; ++i) {\n        t1 = sArgs[i];\n        t2 = tArgs[i];\n        if (!A._isSubtype(universe, t1, sEnv, t2, tEnv))\n          return false;\n      }\n      return true;\n    }",
-        "type": "bool Function(Object?,Object?,Object?,Object?,Object?,Object?)"
+        "type": "bool Function(Object?,Object?,Object?,Object?,Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_arrayInstanceType": {
         "id": "function/dart:_rti::_arrayInstanceType",
@@ -8584,7 +8695,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_arrayInstanceType(object) {\n      var rti = object[init.arrayRti],\n        defaultRti = type$.JSArray_dynamic;\n      if (rti == null)\n        return defaultRti;\n      if (rti.constructor !== defaultRti.constructor)\n        return defaultRti;\n      return rti;\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asBool": {
         "id": "function/dart:_rti::_asBool",
@@ -8612,7 +8724,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asBool(object) {\n      if (true === object)\n        return true;\n      if (false === object)\n        return false;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"bool\"));\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asBoolQ": {
         "id": "function/dart:_rti::_asBoolQ",
@@ -8640,7 +8753,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asBoolQ(object) {\n      if (true === object)\n        return true;\n      if (false === object)\n        return false;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"bool?\"));\n    }",
-        "type": "bool? Function(dynamic)"
+        "type": "bool? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asBoolS": {
         "id": "function/dart:_rti::_asBoolS",
@@ -8668,7 +8782,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asBoolS(object) {\n      if (true === object)\n        return true;\n      if (false === object)\n        return false;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"bool\"));\n    }",
-        "type": "bool? Function(dynamic)"
+        "type": "bool? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asDouble": {
         "id": "function/dart:_rti::_asDouble",
@@ -8696,7 +8811,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asDouble(object) {\n      if (typeof object == \"number\")\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"double\"));\n    }",
-        "type": "double Function(Object?)"
+        "type": "double Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asDoubleQ": {
         "id": "function/dart:_rti::_asDoubleQ",
@@ -8724,7 +8840,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asDoubleQ(object) {\n      if (typeof object == \"number\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"double?\"));\n    }",
-        "type": "double? Function(dynamic)"
+        "type": "double? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asDoubleS": {
         "id": "function/dart:_rti::_asDoubleS",
@@ -8752,7 +8869,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asDoubleS(object) {\n      if (typeof object == \"number\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"double\"));\n    }",
-        "type": "double? Function(dynamic)"
+        "type": "double? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asInt": {
         "id": "function/dart:_rti::_asInt",
@@ -8780,7 +8898,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asInt(object) {\n      if (typeof object == \"number\" && Math.floor(object) === object)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"int\"));\n    }",
-        "type": "int Function(Object?)"
+        "type": "int Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asIntQ": {
         "id": "function/dart:_rti::_asIntQ",
@@ -8808,7 +8927,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asIntQ(object) {\n      if (typeof object == \"number\" && Math.floor(object) === object)\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"int?\"));\n    }",
-        "type": "int? Function(dynamic)"
+        "type": "int? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asIntS": {
         "id": "function/dart:_rti::_asIntS",
@@ -8836,7 +8956,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asIntS(object) {\n      if (typeof object == \"number\" && Math.floor(object) === object)\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"int\"));\n    }",
-        "type": "int? Function(dynamic)"
+        "type": "int? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asNum": {
         "id": "function/dart:_rti::_asNum",
@@ -8864,7 +8985,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asNum(object) {\n      if (typeof object == \"number\")\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"num\"));\n    }",
-        "type": "num Function(Object?)"
+        "type": "num Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asNumQ": {
         "id": "function/dart:_rti::_asNumQ",
@@ -8892,7 +9014,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asNumQ(object) {\n      if (typeof object == \"number\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"num?\"));\n    }",
-        "type": "num? Function(dynamic)"
+        "type": "num? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asNumS": {
         "id": "function/dart:_rti::_asNumS",
@@ -8920,13 +9043,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asNumS(object) {\n      if (typeof object == \"number\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"num\"));\n    }",
-        "type": "num? Function(dynamic)"
+        "type": "num? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asObject": {
         "id": "function/dart:_rti::_asObject",
         "kind": "function",
         "name": "_asObject",
-        "size": 46,
+        "size": 154,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -8947,8 +9071,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_asObject(object) {\n      return object;\n    }",
-        "type": "Object? Function(Object?)"
+        "code": "_asObject(object) {\n      if (object != null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"Object\"));\n    }",
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asString": {
         "id": "function/dart:_rti::_asString",
@@ -8976,7 +9101,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asString(object) {\n      if (typeof object == \"string\")\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"String\"));\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asStringQ": {
         "id": "function/dart:_rti::_asStringQ",
@@ -9004,7 +9130,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asStringQ(object) {\n      if (typeof object == \"string\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"String?\"));\n    }",
-        "type": "String? Function(dynamic)"
+        "type": "String? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asStringS": {
         "id": "function/dart:_rti::_asStringS",
@@ -9032,7 +9159,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asStringS(object) {\n      if (typeof object == \"string\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"String\"));\n    }",
-        "type": "String? Function(dynamic)"
+        "type": "String? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asTop": {
         "id": "function/dart:_rti::_asTop",
@@ -9060,7 +9188,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_asTop(object) {\n      return object;\n    }",
-        "type": "Object? Function(Object?)"
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_failedAsCheck": {
         "id": "function/dart:_rti::_failedAsCheck",
@@ -9093,7 +9222,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_failedAsCheck(object, testRti) {\n      throw A.wrapException(A._TypeError$fromMessage(A._Error_compose(object, A.instanceOrFunctionType(object, testRti), A._rtiToString(testRti, null))));\n    }",
-        "type": "void Function(Object?,Rti)"
+        "type": "void Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_finishIsFn": {
         "id": "function/dart:_rti::_finishIsFn",
@@ -9131,13 +9261,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_finishIsFn(testRti, object, isFn) {\n      testRti._is = isFn;\n      return testRti._is(object);\n    }",
-        "type": "bool Function(Rti,Object?,Object?)"
+        "type": "bool Function(Rti,Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_functionRtiToString": {
         "id": "function/dart:_rti::_functionRtiToString",
         "kind": "function",
         "name": "_functionRtiToString",
-        "size": 3339,
+        "size": 3219,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -9152,7 +9283,7 @@
         "parameters": [
           {
             "name": "functionType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -9168,14 +9299,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_functionRtiToString(functionType, genericContext, bounds) {\n      var boundsLength, outerContextLength, offset, i, t1, t2, t3, typeParametersText, typeSep, t4, t5, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = \", \";\n      if (bounds != null) {\n        boundsLength = bounds.length;\n        if (genericContext == null) {\n          genericContext = A._setArrayType([], type$.JSArray_String);\n          outerContextLength = null;\n        } else\n          outerContextLength = genericContext.length;\n        offset = genericContext.length;\n        for (i = boundsLength; i > 0; --i)\n          B.JSArray_methods.add$1(genericContext, \"T\" + (offset + i));\n        for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, t3 = type$.Object, typeParametersText = \"<\", typeSep = \"\", i = 0; i < boundsLength; ++i, typeSep = _s2_) {\n          t4 = genericContext.length;\n          t5 = t4 - 1 - i;\n          if (!(t5 >= 0))\n            return A.ioore(genericContext, t5);\n          typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[t5]);\n          boundRti = bounds[i];\n          kind = boundRti._kind;\n          if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1))\n            if (!(boundRti === t2))\n              t4 = boundRti === t3;\n            else\n              t4 = true;\n          else\n            t4 = true;\n          if (!t4)\n            typeParametersText += B.JSString_methods.$add(\" extends \", A._rtiToString(boundRti, genericContext));\n        }\n        typeParametersText += \">\";\n      } else {\n        typeParametersText = \"\";\n        outerContextLength = null;\n      }\n      t1 = functionType._primary;\n      parameters = functionType._rest;\n      requiredPositional = parameters._requiredPositional;\n      requiredPositionalLength = requiredPositional.length;\n      optionalPositional = parameters._optionalPositional;\n      optionalPositionalLength = optionalPositional.length;\n      named = parameters._named;\n      namedLength = named.length;\n      returnTypeText = A._rtiToString(t1, genericContext);\n      for (argumentsText = \"\", sep = \"\", i = 0; i < requiredPositionalLength; ++i, sep = _s2_)\n        argumentsText += B.JSString_methods.$add(sep, A._rtiToString(requiredPositional[i], genericContext));\n      if (optionalPositionalLength > 0) {\n        argumentsText += sep + \"[\";\n        for (sep = \"\", i = 0; i < optionalPositionalLength; ++i, sep = _s2_)\n          argumentsText += B.JSString_methods.$add(sep, A._rtiToString(optionalPositional[i], genericContext));\n        argumentsText += \"]\";\n      }\n      if (namedLength > 0) {\n        argumentsText += sep + \"{\";\n        for (sep = \"\", i = 0; i < namedLength; i += 3, sep = _s2_) {\n          argumentsText += sep;\n          if (named[i + 1])\n            argumentsText += \"required \";\n          argumentsText += J.$add$ns(A._rtiToString(named[i + 2], genericContext), \" \") + named[i];\n        }\n        argumentsText += \"}\";\n      }\n      if (outerContextLength != null) {\n        genericContext.toString;\n        genericContext.length = outerContextLength;\n      }\n      return typeParametersText + \"(\" + argumentsText + \") => \" + A.S(returnTypeText);\n    }",
-        "type": "String Function(Rti,List<String>?,{Object? bounds})"
+        "code": "_functionRtiToString(functionType, genericContext, bounds) {\n      var boundsLength, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = \", \";\n      if (bounds != null) {\n        boundsLength = bounds.length;\n        if (genericContext == null) {\n          genericContext = A._setArrayType([], type$.JSArray_String);\n          outerContextLength = null;\n        } else\n          outerContextLength = genericContext.length;\n        offset = genericContext.length;\n        for (i = boundsLength; i > 0; --i)\n          B.JSArray_methods.add$1(genericContext, \"T\" + (offset + i));\n        for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = \"<\", typeSep = \"\", i = 0; i < boundsLength; ++i, typeSep = _s2_) {\n          t3 = genericContext.length;\n          t4 = t3 - 1 - i;\n          if (!(t4 >= 0))\n            return A.ioore(genericContext, t4);\n          typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[t4]);\n          boundRti = bounds[i];\n          kind = boundRti._kind;\n          if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1))\n            if (!(boundRti === t2))\n              t3 = false;\n            else\n              t3 = true;\n          else\n            t3 = true;\n          if (!t3)\n            typeParametersText += \" extends \" + A._rtiToString(boundRti, genericContext);\n        }\n        typeParametersText += \">\";\n      } else {\n        typeParametersText = \"\";\n        outerContextLength = null;\n      }\n      t1 = functionType._primary;\n      parameters = functionType._rest;\n      requiredPositional = parameters._requiredPositional;\n      requiredPositionalLength = requiredPositional.length;\n      optionalPositional = parameters._optionalPositional;\n      optionalPositionalLength = optionalPositional.length;\n      named = parameters._named;\n      namedLength = named.length;\n      returnTypeText = A._rtiToString(t1, genericContext);\n      for (argumentsText = \"\", sep = \"\", i = 0; i < requiredPositionalLength; ++i, sep = _s2_)\n        argumentsText += sep + A._rtiToString(requiredPositional[i], genericContext);\n      if (optionalPositionalLength > 0) {\n        argumentsText += sep + \"[\";\n        for (sep = \"\", i = 0; i < optionalPositionalLength; ++i, sep = _s2_)\n          argumentsText += sep + A._rtiToString(optionalPositional[i], genericContext);\n        argumentsText += \"]\";\n      }\n      if (namedLength > 0) {\n        argumentsText += sep + \"{\";\n        for (sep = \"\", i = 0; i < namedLength; i += 3, sep = _s2_) {\n          argumentsText += sep;\n          if (named[i + 1])\n            argumentsText += \"required \";\n          argumentsText += A._rtiToString(named[i + 2], genericContext) + \" \" + named[i];\n        }\n        argumentsText += \"}\";\n      }\n      if (outerContextLength != null) {\n        genericContext.toString;\n        genericContext.length = outerContextLength;\n      }\n      return typeParametersText + \"(\" + argumentsText + \") => \" + returnTypeText;\n    }",
+        "type": "String Function(Rti,List<String>?,{Object? bounds})",
+        "functionKind": 0
       },
       "dart:_rti::_generalAsCheckImplementation": {
         "id": "function/dart:_rti::_generalAsCheckImplementation",
         "kind": "function",
         "name": "_generalAsCheckImplementation",
-        "size": 220,
+        "size": 282,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -9196,8 +9328,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_generalAsCheckImplementation(object) {\n      var testRti = this;\n      if (object == null)\n        return object;\n      else if (testRti._is(object))\n        return object;\n      A._failedAsCheck(object, testRti);\n    }",
-        "type": "Object? Function(Object?)"
+        "code": "_generalAsCheckImplementation(object) {\n      var t1, testRti = this;\n      if (object == null) {\n        t1 = A.isNullable(testRti);\n        if (t1)\n          return object;\n      } else if (testRti._is(object))\n        return object;\n      A._failedAsCheck(object, testRti);\n    }",
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_generalIsTestImplementation": {
         "id": "function/dart:_rti::_generalIsTestImplementation",
@@ -9225,7 +9358,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_generalIsTestImplementation(object) {\n      var testRti = this;\n      if (object == null)\n        return A._nullIs(testRti);\n      return A._isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), null, testRti, null);\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_generalNullableAsCheckImplementation": {
         "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
@@ -9253,7 +9387,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_generalNullableAsCheckImplementation(object) {\n      var testRti = this;\n      if (object == null)\n        return object;\n      else if (testRti._is(object))\n        return object;\n      A._failedAsCheck(object, testRti);\n    }",
-        "type": "Object? Function(Object?)"
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_generalNullableIsTestImplementation": {
         "id": "function/dart:_rti::_generalNullableIsTestImplementation",
@@ -9281,13 +9416,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_generalNullableIsTestImplementation(object) {\n      if (object == null)\n        return true;\n      return this._primary._is(object);\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_installSpecializedAsCheck": {
         "id": "function/dart:_rti::_installSpecializedAsCheck",
         "kind": "function",
         "name": "_installSpecializedAsCheck",
-        "size": 505,
+        "size": 592,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -9297,8 +9433,8 @@
           "factory": false,
           "external": false
         },
-        "returnType": "bool",
-        "inferredReturnType": "[exact=JSBool]",
+        "returnType": "Object?",
+        "inferredReturnType": "[null|subclass=Object]",
         "parameters": [
           {
             "name": "object",
@@ -9308,14 +9444,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_installSpecializedAsCheck(object) {\n      var t1, asFn, testRti = this;\n      if (!A.isStrongTopType(testRti))\n        if (!(testRti === type$.legacy_Object))\n          t1 = testRti === type$.Object;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        asFn = A._asTop;\n      else if (testRti === type$.Object)\n        asFn = A._asObject;\n      else\n        asFn = A._generalNullableAsCheckImplementation;\n      testRti._as = asFn;\n      return testRti._as(object);\n    }",
-        "type": "bool Function(Object?)"
+        "code": "_installSpecializedAsCheck(object) {\n      var t1, testRti = this,\n        asFn = A._generalAsCheckImplementation;\n      if (!A.isStrongTopType(testRti))\n        if (!(testRti === type$.legacy_Object))\n          t1 = false;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        asFn = A._asTop;\n      else if (testRti === type$.Object)\n        asFn = A._asObject;\n      else {\n        t1 = A.isNullable(testRti);\n        if (t1)\n          asFn = A._generalNullableAsCheckImplementation;\n      }\n      testRti._as = asFn;\n      return testRti._as(object);\n    }",
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_installSpecializedIsTest": {
         "id": "function/dart:_rti::_installSpecializedIsTest",
         "kind": "function",
         "name": "_installSpecializedIsTest",
-        "size": 1476,
+        "size": 1454,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -9336,8 +9473,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_installSpecializedIsTest(object) {\n      var unstarred, isFn, $name, testRti = this,\n        t1 = type$.Object;\n      if (testRti === t1)\n        return A._finishIsFn(testRti, object, A._isObject);\n      if (!A.isStrongTopType(testRti))\n        if (!(testRti === type$.legacy_Object))\n          t1 = testRti === t1;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        return A._finishIsFn(testRti, object, A._isTop);\n      t1 = testRti._kind;\n      unstarred = t1 === 6 ? testRti._primary : testRti;\n      if (unstarred === type$.int)\n        isFn = A._isInt;\n      else if (unstarred === type$.double || unstarred === type$.num)\n        isFn = A._isNum;\n      else if (unstarred === type$.String)\n        isFn = A._isString;\n      else\n        isFn = unstarred === type$.bool ? A._isBool : null;\n      if (isFn != null)\n        return A._finishIsFn(testRti, object, isFn);\n      if (unstarred._kind === 9) {\n        $name = unstarred._primary;\n        if (unstarred._rest.every(A.isTopType)) {\n          testRti._specializedTestResource = \"$is\" + $name;\n          if ($name === \"List\")\n            return A._finishIsFn(testRti, object, A._isListTestViaProperty);\n          return A._finishIsFn(testRti, object, A._isTestViaProperty);\n        }\n      } else if (t1 === 7)\n        return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation);\n      return A._finishIsFn(testRti, object, A._generalIsTestImplementation);\n    }",
-        "type": "bool Function(Object?)"
+        "code": "_installSpecializedIsTest(object) {\n      var t1, unstarred, isFn, $name, testRti = this;\n      if (testRti === type$.Object)\n        return A._finishIsFn(testRti, object, A._isObject);\n      if (!A.isStrongTopType(testRti))\n        if (!(testRti === type$.legacy_Object))\n          t1 = false;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        return A._finishIsFn(testRti, object, A._isTop);\n      t1 = testRti._kind;\n      unstarred = t1 === 6 ? testRti._primary : testRti;\n      if (unstarred === type$.int)\n        isFn = A._isInt;\n      else if (unstarred === type$.double || unstarred === type$.num)\n        isFn = A._isNum;\n      else if (unstarred === type$.String)\n        isFn = A._isString;\n      else\n        isFn = unstarred === type$.bool ? A._isBool : null;\n      if (isFn != null)\n        return A._finishIsFn(testRti, object, isFn);\n      if (unstarred._kind === 9) {\n        $name = unstarred._primary;\n        if (unstarred._rest.every(A.isTopType)) {\n          testRti._specializedTestResource = \"$is\" + $name;\n          if ($name === \"List\")\n            return A._finishIsFn(testRti, object, A._isListTestViaProperty);\n          return A._finishIsFn(testRti, object, A._isTestViaProperty);\n        }\n      } else if (t1 === 7)\n        return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation);\n      return A._finishIsFn(testRti, object, A._generalIsTestImplementation);\n    }",
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_instanceType": {
         "id": "function/dart:_rti::_instanceType",
@@ -9354,7 +9492,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "object",
@@ -9365,7 +9503,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "_instanceType(object) {\n      var rti = object.$ti;\n      return rti != null ? rti : A._instanceTypeFromConstructor(object);\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_instanceTypeFromConstructor": {
         "id": "function/dart:_rti::_instanceTypeFromConstructor",
@@ -9382,7 +9521,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "instance",
@@ -9393,7 +9532,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_instanceTypeFromConstructor(instance) {\n      var $constructor = instance.constructor,\n        probe = $constructor.$ccache;\n      if (probe != null)\n        return probe;\n      return A._instanceTypeFromConstructorMiss(instance, $constructor);\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_instanceTypeFromConstructorMiss": {
         "id": "function/dart:_rti::_instanceTypeFromConstructorMiss",
@@ -9410,7 +9550,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "instance",
@@ -9426,7 +9566,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_instanceTypeFromConstructorMiss(instance, $constructor) {\n      var effectiveConstructor = instance instanceof A.Closure ? instance.__proto__.__proto__.constructor : $constructor,\n        rti = A._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name);\n      $constructor.$ccache = rti;\n      return rti;\n    }",
-        "type": "Rti Function(Object?,Object?)"
+        "type": "Rti Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isBool": {
         "id": "function/dart:_rti::_isBool",
@@ -9454,7 +9595,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_isBool(object) {\n      return true === object || false === object;\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isClosure": {
         "id": "function/dart:_rti::_isClosure",
@@ -9482,7 +9624,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isDartObject": {
         "id": "function/dart:_rti::_isDartObject",
@@ -9510,13 +9653,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isFunctionSubtype": {
         "id": "function/dart:_rti::_isFunctionSubtype",
         "kind": "function",
         "name": "_isFunctionSubtype",
-        "size": 2694,
+        "size": 3041,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -9536,7 +9680,7 @@
           },
           {
             "name": "s",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -9546,7 +9690,7 @@
           },
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -9557,8 +9701,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_isFunctionSubtype(universe, s, sEnv, t, tEnv) {\n      var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName;\n      if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))\n        return false;\n      sParameters = s._rest;\n      tParameters = t._rest;\n      sRequiredPositional = sParameters._requiredPositional;\n      tRequiredPositional = tParameters._requiredPositional;\n      sRequiredPositionalLength = sRequiredPositional.length;\n      tRequiredPositionalLength = tRequiredPositional.length;\n      if (sRequiredPositionalLength > tRequiredPositionalLength)\n        return false;\n      requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength;\n      sOptionalPositional = sParameters._optionalPositional;\n      tOptionalPositional = tParameters._optionalPositional;\n      sOptionalPositionalLength = sOptionalPositional.length;\n      tOptionalPositionalLength = tOptionalPositional.length;\n      if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength)\n        return false;\n      for (i = 0; i < sRequiredPositionalLength; ++i) {\n        t1 = sRequiredPositional[i];\n        if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv))\n          return false;\n      }\n      for (i = 0; i < requiredPositionalDelta; ++i) {\n        t1 = sOptionalPositional[i];\n        if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv))\n          return false;\n      }\n      for (i = 0; i < tOptionalPositionalLength; ++i) {\n        t1 = sOptionalPositional[requiredPositionalDelta + i];\n        if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv))\n          return false;\n      }\n      sNamed = sParameters._named;\n      tNamed = tParameters._named;\n      sNamedLength = sNamed.length;\n      tNamedLength = tNamed.length;\n      for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) {\n        tName = tNamed[tIndex];\n        for (; true;) {\n          if (sIndex >= sNamedLength)\n            return false;\n          sName = sNamed[sIndex];\n          sIndex += 3;\n          if (tName < sName)\n            return false;\n          if (sName < tName)\n            continue;\n          t1 = sNamed[sIndex - 1];\n          if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv))\n            return false;\n          break;\n        }\n      }\n      return true;\n    }",
-        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)"
+        "code": "_isFunctionSubtype(universe, s, sEnv, t, tEnv) {\n      var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired;\n      if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))\n        return false;\n      sParameters = s._rest;\n      tParameters = t._rest;\n      sRequiredPositional = sParameters._requiredPositional;\n      tRequiredPositional = tParameters._requiredPositional;\n      sRequiredPositionalLength = sRequiredPositional.length;\n      tRequiredPositionalLength = tRequiredPositional.length;\n      if (sRequiredPositionalLength > tRequiredPositionalLength)\n        return false;\n      requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength;\n      sOptionalPositional = sParameters._optionalPositional;\n      tOptionalPositional = tParameters._optionalPositional;\n      sOptionalPositionalLength = sOptionalPositional.length;\n      tOptionalPositionalLength = tOptionalPositional.length;\n      if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength)\n        return false;\n      for (i = 0; i < sRequiredPositionalLength; ++i) {\n        t1 = sRequiredPositional[i];\n        if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv))\n          return false;\n      }\n      for (i = 0; i < requiredPositionalDelta; ++i) {\n        t1 = sOptionalPositional[i];\n        if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv))\n          return false;\n      }\n      for (i = 0; i < tOptionalPositionalLength; ++i) {\n        t1 = sOptionalPositional[requiredPositionalDelta + i];\n        if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv))\n          return false;\n      }\n      sNamed = sParameters._named;\n      tNamed = tParameters._named;\n      sNamedLength = sNamed.length;\n      tNamedLength = tNamed.length;\n      for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) {\n        tName = tNamed[tIndex];\n        for (; true;) {\n          if (sIndex >= sNamedLength)\n            return false;\n          sName = sNamed[sIndex];\n          sIndex += 3;\n          if (tName < sName)\n            return false;\n          sIsRequired = sNamed[sIndex - 2];\n          if (sName < tName) {\n            if (sIsRequired)\n              return false;\n            continue;\n          }\n          t1 = tNamed[tIndex + 1];\n          if (sIsRequired && !t1)\n            return false;\n          t1 = sNamed[sIndex - 1];\n          if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv))\n            return false;\n          break;\n        }\n      }\n      for (; sIndex < sNamedLength;) {\n        if (sNamed[sIndex + 1])\n          return false;\n        sIndex += 3;\n      }\n      return true;\n    }",
+        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isInt": {
         "id": "function/dart:_rti::_isInt",
@@ -9586,7 +9731,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "_isInt(object) {\n      return typeof object == \"number\" && Math.floor(object) === object;\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isInterfaceSubtype": {
         "id": "function/dart:_rti::_isInterfaceSubtype",
@@ -9612,7 +9758,7 @@
           },
           {
             "name": "s",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -9622,7 +9768,7 @@
           },
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -9634,7 +9780,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_isInterfaceSubtype(universe, s, sEnv, t, tEnv) {\n      var rule, recipes, $length, supertypeArgs, i, t1, t2,\n        sName = s._primary,\n        tName = t._primary;\n      for (; sName !== tName;) {\n        rule = universe.tR[sName];\n        if (rule == null)\n          return false;\n        if (typeof rule == \"string\") {\n          sName = rule;\n          continue;\n        }\n        recipes = rule[tName];\n        if (recipes == null)\n          return false;\n        $length = recipes.length;\n        supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA;\n        for (i = 0; i < $length; ++i)\n          supertypeArgs[i] = A._Universe_evalInEnvironment(universe, s, recipes[i]);\n        return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv);\n      }\n      t1 = s._rest;\n      t2 = t._rest;\n      return A._areArgumentsSubtypes(universe, t1, null, sEnv, t2, tEnv);\n    }",
-        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)"
+        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isListTestViaProperty": {
         "id": "function/dart:_rti::_isListTestViaProperty",
@@ -9662,7 +9809,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_isListTestViaProperty(object) {\n      var tag, testRti = this;\n      if (object == null)\n        return A._nullIs(testRti);\n      if (typeof object != \"object\")\n        return false;\n      if (Array.isArray(object))\n        return true;\n      tag = testRti._specializedTestResource;\n      if (object instanceof A.Object)\n        return !!object[tag];\n      return !!J.getInterceptor$(object)[tag];\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isNum": {
         "id": "function/dart:_rti::_isNum",
@@ -9690,7 +9838,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 6,
         "code": "_isNum(object) {\n      return typeof object == \"number\";\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isObject": {
         "id": "function/dart:_rti::_isObject",
@@ -9718,7 +9867,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_isObject(object) {\n      return object != null;\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isString": {
         "id": "function/dart:_rti::_isString",
@@ -9746,13 +9896,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "_isString(object) {\n      return typeof object == \"string\";\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isSubtype": {
         "id": "function/dart:_rti::_isSubtype",
         "kind": "function",
         "name": "_isSubtype",
-        "size": 3001,
+        "size": 3597,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -9793,8 +9944,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_isSubtype(universe, s, sEnv, t, tEnv) {\n      var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound;\n      if (s === t)\n        return true;\n      if (!A.isStrongTopType(t))\n        if (!(t === type$.legacy_Object))\n          t1 = t === type$.Object;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        return true;\n      sKind = s._kind;\n      if (sKind === 4)\n        return true;\n      if (A.isStrongTopType(s))\n        return false;\n      if (s._kind !== 1)\n        t1 = s === type$.Null || s === type$.JSNull;\n      else\n        t1 = true;\n      if (t1)\n        return true;\n      leftTypeVariable = sKind === 13;\n      if (leftTypeVariable)\n        if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv))\n          return true;\n      tKind = t._kind;\n      if (sKind === 6)\n        return A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n      if (tKind === 6) {\n        t1 = t._primary;\n        return A._isSubtype(universe, s, sEnv, t1, tEnv);\n      }\n      if (sKind === 8) {\n        if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv))\n          return false;\n        return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv);\n      }\n      if (sKind === 7) {\n        t1 = A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n        return t1;\n      }\n      if (tKind === 8) {\n        if (A._isSubtype(universe, s, sEnv, t._primary, tEnv))\n          return true;\n        return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv);\n      }\n      if (tKind === 7) {\n        t1 = A._isSubtype(universe, s, sEnv, t._primary, tEnv);\n        return t1;\n      }\n      if (leftTypeVariable)\n        return false;\n      t1 = sKind !== 11;\n      if ((!t1 || sKind === 12) && t === type$.Function)\n        return true;\n      if (tKind === 12) {\n        if (s === type$.JavaScriptFunction)\n          return true;\n        if (sKind !== 12)\n          return false;\n        sBounds = s._rest;\n        tBounds = t._rest;\n        sLength = sBounds.length;\n        if (sLength !== tBounds.length)\n          return false;\n        sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);\n        tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);\n        for (i = 0; i < sLength; ++i) {\n          sBound = sBounds[i];\n          tBound = tBounds[i];\n          if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv))\n            return false;\n        }\n        return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv);\n      }\n      if (tKind === 11) {\n        if (s === type$.JavaScriptFunction)\n          return true;\n        if (t1)\n          return false;\n        return A._isFunctionSubtype(universe, s, sEnv, t, tEnv);\n      }\n      if (sKind === 9) {\n        if (tKind !== 9)\n          return false;\n        return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv);\n      }\n      return false;\n    }",
-        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)"
+        "code": "_isSubtype(universe, s, sEnv, t, tEnv) {\n      var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound;\n      if (s === t)\n        return true;\n      if (!A.isStrongTopType(t))\n        if (!(t === type$.legacy_Object))\n          t1 = false;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        return true;\n      sKind = s._kind;\n      if (sKind === 4)\n        return true;\n      if (A.isStrongTopType(s))\n        return false;\n      if (s._kind !== 1)\n        t1 = false;\n      else\n        t1 = true;\n      if (t1)\n        return true;\n      leftTypeVariable = sKind === 13;\n      if (leftTypeVariable)\n        if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv))\n          return true;\n      tKind = t._kind;\n      t1 = s === type$.Null || s === type$.JSNull;\n      if (t1) {\n        if (tKind === 8)\n          return A._isSubtype(universe, s, sEnv, t._primary, tEnv);\n        return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6;\n      }\n      if (t === type$.Object) {\n        if (sKind === 8)\n          return A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n        if (sKind === 6)\n          return A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n        return sKind !== 7;\n      }\n      if (sKind === 6)\n        return A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n      if (tKind === 6) {\n        t1 = A.Rti__getQuestionFromStar(universe, t);\n        return A._isSubtype(universe, s, sEnv, t1, tEnv);\n      }\n      if (sKind === 8) {\n        if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv))\n          return false;\n        return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv);\n      }\n      if (sKind === 7) {\n        t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv);\n        return t1 && A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n      }\n      if (tKind === 8) {\n        if (A._isSubtype(universe, s, sEnv, t._primary, tEnv))\n          return true;\n        return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv);\n      }\n      if (tKind === 7) {\n        t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv);\n        return t1 || A._isSubtype(universe, s, sEnv, t._primary, tEnv);\n      }\n      if (leftTypeVariable)\n        return false;\n      t1 = sKind !== 11;\n      if ((!t1 || sKind === 12) && t === type$.Function)\n        return true;\n      if (tKind === 12) {\n        if (s === type$.JavaScriptFunction)\n          return true;\n        if (sKind !== 12)\n          return false;\n        sBounds = s._rest;\n        tBounds = t._rest;\n        sLength = sBounds.length;\n        if (sLength !== tBounds.length)\n          return false;\n        sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);\n        tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);\n        for (i = 0; i < sLength; ++i) {\n          sBound = sBounds[i];\n          tBound = tBounds[i];\n          if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv))\n            return false;\n        }\n        return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv);\n      }\n      if (tKind === 11) {\n        if (s === type$.JavaScriptFunction)\n          return true;\n        if (t1)\n          return false;\n        return A._isFunctionSubtype(universe, s, sEnv, t, tEnv);\n      }\n      if (sKind === 9) {\n        if (tKind !== 9)\n          return false;\n        return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv);\n      }\n      return false;\n    }",
+        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isTestViaProperty": {
         "id": "function/dart:_rti::_isTestViaProperty",
@@ -9822,7 +9974,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_isTestViaProperty(object) {\n      var tag, testRti = this;\n      if (object == null)\n        return A._nullIs(testRti);\n      tag = testRti._specializedTestResource;\n      if (object instanceof A.Object)\n        return !!object[tag];\n      return !!J.getInterceptor$(object)[tag];\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isTop": {
         "id": "function/dart:_rti::_isTop",
@@ -9850,7 +10003,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_isTop(object) {\n      return true;\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_nullIs": {
         "id": "function/dart:_rti::_nullIs",
@@ -9878,13 +10032,14 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "_nullIs(testRti) {\n      var t1,\n        kind = testRti._kind;\n      if (!A.isStrongTopType(testRti))\n        if (!(testRti === type$.legacy_Object))\n          if (!(testRti === type$.legacy_Never))\n            if (kind !== 7)\n              t1 = kind === 8 && A._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull;\n            else\n              t1 = true;\n          else\n            t1 = true;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      return t1;\n    }",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_rtiArrayToString": {
         "id": "function/dart:_rti::_rtiArrayToString",
         "kind": "function",
         "name": "_rtiArrayToString",
-        "size": 241,
+        "size": 217,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -9910,8 +10065,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_rtiArrayToString(array, genericContext) {\n      var s, sep, i;\n      for (s = \"\", sep = \"\", i = 0; i < array.length; ++i, sep = \", \")\n        s += B.JSString_methods.$add(sep, A._rtiToString(array[i], genericContext));\n      return s;\n    }",
-        "type": "String Function(Object?,List<String>?)"
+        "code": "_rtiArrayToString(array, genericContext) {\n      var s, sep, i;\n      for (s = \"\", sep = \"\", i = 0; i < array.length; ++i, sep = \", \")\n        s += sep + A._rtiToString(array[i], genericContext);\n      return s;\n    }",
+        "type": "String Function(Object?,List<String>?)",
+        "functionKind": 0
       },
       "dart:_rti::_rtiBind": {
         "id": "function/dart:_rti::_rtiBind",
@@ -9928,7 +10084,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "environment",
@@ -9944,7 +10100,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Rti,Rti)"
+        "type": "Rti Function(Rti,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_rtiEval": {
         "id": "function/dart:_rti::_rtiEval",
@@ -9961,29 +10118,30 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "environment",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Rti Function(Rti,String)"
+        "type": "Rti Function(Rti,String)",
+        "functionKind": 0
       },
       "dart:_rti::_rtiToString": {
         "id": "function/dart:_rti::_rtiToString",
         "kind": "function",
         "name": "_rtiToString",
-        "size": 1597,
+        "size": 1527,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -9994,7 +10152,7 @@
           "external": false
         },
         "returnType": "String",
-        "inferredReturnType": "[null|exact=JSString]",
+        "inferredReturnType": "[exact=JSString]",
         "parameters": [
           {
             "name": "rti",
@@ -10009,8 +10167,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_rtiToString(rti, genericContext) {\n      var s, questionArgument, argumentKind, $name, $arguments, t1, t2,\n        kind = rti._kind;\n      if (kind === 5)\n        return \"erased\";\n      if (kind === 2)\n        return \"dynamic\";\n      if (kind === 3)\n        return \"void\";\n      if (kind === 1)\n        return \"Never\";\n      if (kind === 4)\n        return \"any\";\n      if (kind === 6) {\n        s = A._rtiToString(rti._primary, genericContext);\n        return s;\n      }\n      if (kind === 7) {\n        questionArgument = rti._primary;\n        s = A._rtiToString(questionArgument, genericContext);\n        argumentKind = questionArgument._kind;\n        return J.$add$ns(argumentKind === 11 || argumentKind === 12 ? B.JSString_methods.$add(\"(\", s) + \")\" : s, \"?\");\n      }\n      if (kind === 8)\n        return \"FutureOr<\" + A.S(A._rtiToString(rti._primary, genericContext)) + \">\";\n      if (kind === 9) {\n        $name = A._unminifyOrTag(rti._primary);\n        $arguments = rti._rest;\n        return $arguments.length > 0 ? $name + (\"<\" + A._rtiArrayToString($arguments, genericContext) + \">\") : $name;\n      }\n      if (kind === 11)\n        return A._functionRtiToString(rti, genericContext, null);\n      if (kind === 12)\n        return A._functionRtiToString(rti._primary, genericContext, rti._rest);\n      if (kind === 13) {\n        genericContext.toString;\n        t1 = rti._primary;\n        t2 = genericContext.length;\n        t1 = t2 - 1 - t1;\n        if (!(t1 >= 0 && t1 < t2))\n          return A.ioore(genericContext, t1);\n        return genericContext[t1];\n      }\n      return \"?\";\n    }",
-        "type": "String Function(Rti,List<String>?)"
+        "code": "_rtiToString(rti, genericContext) {\n      var s, questionArgument, argumentKind, $name, $arguments, t1, t2,\n        kind = rti._kind;\n      if (kind === 5)\n        return \"erased\";\n      if (kind === 2)\n        return \"dynamic\";\n      if (kind === 3)\n        return \"void\";\n      if (kind === 1)\n        return \"Never\";\n      if (kind === 4)\n        return \"any\";\n      if (kind === 6) {\n        s = A._rtiToString(rti._primary, genericContext);\n        return s;\n      }\n      if (kind === 7) {\n        questionArgument = rti._primary;\n        s = A._rtiToString(questionArgument, genericContext);\n        argumentKind = questionArgument._kind;\n        return (argumentKind === 11 || argumentKind === 12 ? \"(\" + s + \")\" : s) + \"?\";\n      }\n      if (kind === 8)\n        return \"FutureOr<\" + A._rtiToString(rti._primary, genericContext) + \">\";\n      if (kind === 9) {\n        $name = A._unminifyOrTag(rti._primary);\n        $arguments = rti._rest;\n        return $arguments.length > 0 ? $name + (\"<\" + A._rtiArrayToString($arguments, genericContext) + \">\") : $name;\n      }\n      if (kind === 11)\n        return A._functionRtiToString(rti, genericContext, null);\n      if (kind === 12)\n        return A._functionRtiToString(rti._primary, genericContext, rti._rest);\n      if (kind === 13) {\n        t1 = rti._primary;\n        t2 = genericContext.length;\n        t1 = t2 - 1 - t1;\n        if (!(t1 >= 0 && t1 < t2))\n          return A.ioore(genericContext, t1);\n        return genericContext[t1];\n      }\n      return \"?\";\n    }",
+        "type": "String Function(Rti,List<String>?)",
+        "functionKind": 0
       },
       "dart:_rti::_setArrayType": {
         "id": "function/dart:_rti::_setArrayType",
@@ -10043,7 +10202,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_setArrayType(target, rti) {\n      target[init.arrayRti] = rti;\n      return target;\n    }",
-        "type": "Object? Function(Object?,Object?)"
+        "type": "Object? Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_simpleSpecializedIsTest": {
         "id": "function/dart:_rti::_simpleSpecializedIsTest",
@@ -10071,7 +10231,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_substitute": {
         "id": "function/dart:_rti::_substitute",
@@ -10088,16 +10249,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -10114,7 +10275,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_substitute(universe, rti, typeArguments, depth) {\n      var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,\n        kind = rti._kind;\n      switch (kind) {\n        case 5:\n        case 1:\n        case 2:\n        case 3:\n        case 4:\n          return rti;\n        case 6:\n          baseType = rti._primary;\n          substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);\n          if (substitutedBaseType === baseType)\n            return rti;\n          return A._Universe__lookupStarRti(universe, substitutedBaseType, true);\n        case 7:\n          baseType = rti._primary;\n          substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);\n          if (substitutedBaseType === baseType)\n            return rti;\n          return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true);\n        case 8:\n          baseType = rti._primary;\n          substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);\n          if (substitutedBaseType === baseType)\n            return rti;\n          return A._Universe__lookupFutureOrRti(universe, substitutedBaseType, true);\n        case 9:\n          interfaceTypeArguments = rti._rest;\n          substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth);\n          if (substitutedInterfaceTypeArguments === interfaceTypeArguments)\n            return rti;\n          return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments);\n        case 10:\n          base = rti._primary;\n          substitutedBase = A._substitute(universe, base, typeArguments, depth);\n          $arguments = rti._rest;\n          substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth);\n          if (substitutedBase === base && substitutedArguments === $arguments)\n            return rti;\n          return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments);\n        case 11:\n          returnType = rti._primary;\n          substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth);\n          functionParameters = rti._rest;\n          substitutedFunctionParameters = A._substituteFunctionParameters(universe, functionParameters, typeArguments, depth);\n          if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters)\n            return rti;\n          return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters);\n        case 12:\n          bounds = rti._rest;\n          depth += bounds.length;\n          substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth);\n          base = rti._primary;\n          substitutedBase = A._substitute(universe, base, typeArguments, depth);\n          if (substitutedBounds === bounds && substitutedBase === base)\n            return rti;\n          return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true);\n        case 13:\n          index = rti._primary;\n          if (index < depth)\n            return rti;\n          argument = typeArguments[index - depth];\n          if (argument == null)\n            return rti;\n          return argument;\n        default:\n          throw A.wrapException(A.AssertionError$(\"Attempted to substitute unexpected RTI kind \" + kind));\n      }\n    }",
-        "type": "Rti Function(Object?,Rti,Object?,int)"
+        "type": "Rti Function(Object?,Rti,Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_substituteArray": {
         "id": "function/dart:_rti::_substituteArray",
@@ -10135,7 +10297,7 @@
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -10157,7 +10319,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_substituteArray(universe, rtiArray, typeArguments, depth) {\n      var changed, i, rti, substitutedRti,\n        $length = rtiArray.length,\n        result = A._Utils_newArrayOrEmpty($length);\n      for (changed = false, i = 0; i < $length; ++i) {\n        rti = rtiArray[i];\n        substitutedRti = A._substitute(universe, rti, typeArguments, depth);\n        if (substitutedRti !== rti)\n          changed = true;\n        result[i] = substitutedRti;\n      }\n      return changed ? result : rtiArray;\n    }",
-        "type": "Object? Function(Object?,Object?,Object?,int)"
+        "type": "Object? Function(Object?,Object?,Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_substituteFunctionParameters": {
         "id": "function/dart:_rti::_substituteFunctionParameters",
@@ -10178,7 +10341,7 @@
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -10200,7 +10363,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_substituteFunctionParameters(universe, functionParameters, typeArguments, depth) {\n      var result,\n        requiredPositional = functionParameters._requiredPositional,\n        substitutedRequiredPositional = A._substituteArray(universe, requiredPositional, typeArguments, depth),\n        optionalPositional = functionParameters._optionalPositional,\n        substitutedOptionalPositional = A._substituteArray(universe, optionalPositional, typeArguments, depth),\n        named = functionParameters._named,\n        substitutedNamed = A._substituteNamed(universe, named, typeArguments, depth);\n      if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named)\n        return functionParameters;\n      result = new A._FunctionParameters();\n      result._requiredPositional = substitutedRequiredPositional;\n      result._optionalPositional = substitutedOptionalPositional;\n      result._named = substitutedNamed;\n      return result;\n    }",
-        "type": "_FunctionParameters Function(Object?,_FunctionParameters,Object?,int)"
+        "type": "_FunctionParameters Function(Object?,_FunctionParameters,Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_substituteNamed": {
         "id": "function/dart:_rti::_substituteNamed",
@@ -10221,7 +10385,7 @@
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -10243,7 +10407,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_substituteNamed(universe, namedArray, typeArguments, depth) {\n      var changed, i, t1, t2, rti, substitutedRti,\n        $length = namedArray.length,\n        result = A._Utils_newArrayOrEmpty($length);\n      for (changed = false, i = 0; i < $length; i += 3) {\n        t1 = namedArray[i];\n        t2 = namedArray[i + 1];\n        rti = namedArray[i + 2];\n        substitutedRti = A._substitute(universe, rti, typeArguments, depth);\n        if (substitutedRti !== rti)\n          changed = true;\n        result.splice(i, 3, t1, t2, substitutedRti);\n      }\n      return changed ? result : namedArray;\n    }",
-        "type": "Object? Function(Object?,Object?,Object?,int)"
+        "type": "Object? Function(Object?,Object?,Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_theUniverse": {
         "id": "function/dart:_rti::_theUniverse",
@@ -10265,7 +10430,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 9,
         "code": "",
-        "type": "Object? Function()"
+        "type": "Object? Function()",
+        "functionKind": 0
       },
       "dart:_rti::_unminifyOrTag": {
         "id": "function/dart:_rti::_unminifyOrTag",
@@ -10293,7 +10459,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_unminifyOrTag(rawClassName) {\n      var preserved = init.mangledGlobalNames[rawClassName];\n      if (preserved != null)\n        return preserved;\n      return rawClassName;\n    }",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_rti::closureFunctionType": {
         "id": "function/dart:_rti::closureFunctionType",
@@ -10321,7 +10488,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "closureFunctionType(closure) {\n      var signature = closure.$signature;\n      if (signature != null) {\n        if (typeof signature == \"number\")\n          return A.getTypeFromTypesTable(signature);\n        return closure.$signature();\n      }\n      return null;\n    }",
-        "type": "Rti? Function(Object?)"
+        "type": "Rti? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::evalInInstance": {
         "id": "function/dart:_rti::evalInInstance",
@@ -10338,7 +10506,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "instance",
@@ -10347,14 +10515,15 @@
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,String)"
+        "type": "Rti Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::findType": {
         "id": "function/dart:_rti::findType",
@@ -10371,7 +10540,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "recipe",
@@ -10382,7 +10551,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "findType(recipe) {\n      return A._Universe_eval(init.typeUniverse, recipe, false);\n    }",
-        "type": "Rti Function(String)"
+        "type": "Rti Function(String)",
+        "functionKind": 0
       },
       "dart:_rti::getTypeFromTypesTable": {
         "id": "function/dart:_rti::getTypeFromTypesTable",
@@ -10399,7 +10569,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "index",
@@ -10410,7 +10580,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "getTypeFromTypesTable(index) {\n      var rti,\n        table = init.types,\n        type = table[index];\n      if (typeof type == \"string\") {\n        rti = A._Universe_eval(init.typeUniverse, type, false);\n        table[index] = rti;\n        return rti;\n      }\n      return type;\n    }",
-        "type": "Rti Function(int)"
+        "type": "Rti Function(int)",
+        "functionKind": 0
       },
       "dart:_rti::instanceOrFunctionType": {
         "id": "function/dart:_rti::instanceOrFunctionType",
@@ -10427,7 +10598,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "object",
@@ -10443,7 +10614,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "instanceOrFunctionType(object, testRti) {\n      var rti;\n      if (A.Rti__isUnionOfFunctionType(testRti))\n        if (object instanceof A.Closure) {\n          rti = A.closureFunctionType(object);\n          if (rti != null)\n            return rti;\n        }\n      return A.instanceType(object);\n    }",
-        "type": "Rti Function(Object?,Rti)"
+        "type": "Rti Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::instanceType": {
         "id": "function/dart:_rti::instanceType",
@@ -10460,7 +10632,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "object",
@@ -10471,7 +10643,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "instanceType(object) {\n      var rti;\n      if (object instanceof A.Object) {\n        rti = object.$ti;\n        return rti != null ? rti : A._instanceTypeFromConstructor(object);\n      }\n      if (Array.isArray(object))\n        return A._arrayInstanceType(object);\n      return A._instanceTypeFromConstructor(J.getInterceptor$(object));\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::instanceTypeName": {
         "id": "function/dart:_rti::instanceTypeName",
@@ -10488,7 +10661,7 @@
           "external": false
         },
         "returnType": "String",
-        "inferredReturnType": "[null|exact=JSString]",
+        "inferredReturnType": "[exact=JSString]",
         "parameters": [
           {
             "name": "object",
@@ -10499,7 +10672,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::isBottomType": {
         "id": "function/dart:_rti::isBottomType",
@@ -10520,14 +10694,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isFunctionType": {
         "id": "function/dart:_rti::isFunctionType",
@@ -10548,14 +10723,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isJsFunctionType": {
         "id": "function/dart:_rti::isJsFunctionType",
@@ -10576,14 +10752,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isLegacyObjectType": {
         "id": "function/dart:_rti::isLegacyObjectType",
@@ -10604,14 +10781,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 7,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isNullType": {
         "id": "function/dart:_rti::isNullType",
@@ -10632,14 +10810,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 8,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isNullable": {
         "id": "function/dart:_rti::isNullable",
@@ -10667,7 +10846,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "isNullable(t) {\n      var t1,\n        kind = t._kind;\n      if (!(t === type$.Null || t === type$.JSNull))\n        if (!A.isStrongTopType(t))\n          if (kind !== 7)\n            if (!(kind === 6 && A.isNullable(t._primary)))\n              t1 = kind === 8 && A.isNullable(t._primary);\n            else\n              t1 = true;\n          else\n            t1 = true;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      return t1;\n    }",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isNullableObjectType": {
         "id": "function/dart:_rti::isNullableObjectType",
@@ -10688,14 +10868,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isObjectType": {
         "id": "function/dart:_rti::isObjectType",
@@ -10716,14 +10897,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 10,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isStrongTopType": {
         "id": "function/dart:_rti::isStrongTopType",
@@ -10744,14 +10926,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 1,
         "code": "isStrongTopType(t) {\n      var kind = t._kind;\n      return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object;\n    }",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isSubtype": {
         "id": "function/dart:_rti::isSubtype",
@@ -10777,25 +10960,26 @@
           },
           {
             "name": "s",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(Object?,Rti,Rti)"
+        "type": "bool Function(Object?,Rti,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isTopType": {
         "id": "function/dart:_rti::isTopType",
         "kind": "function",
         "name": "isTopType",
-        "size": 225,
+        "size": 212,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -10816,8 +11000,9 @@
         ],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 5,
-        "code": "isTopType(t) {\n      var t1;\n      if (!A.isStrongTopType(t))\n        if (!(t === type$.legacy_Object))\n          t1 = t === type$.Object;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      return t1;\n    }",
-        "type": "bool Function(Rti)"
+        "code": "isTopType(t) {\n      var t1;\n      if (!A.isStrongTopType(t))\n        if (!(t === type$.legacy_Object))\n          t1 = false;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      return t1;\n    }",
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:collection::IterableBase.iterableToFullString": {
         "id": "function/dart:collection::IterableBase.iterableToFullString",
@@ -10855,7 +11040,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "IterableBase_iterableToFullString(iterable, leftDelimiter, rightDelimiter) {\n      var buffer, t1;\n      if (A._isToStringVisiting(iterable))\n        return leftDelimiter + \"...\" + rightDelimiter;\n      buffer = new A.StringBuffer(leftDelimiter);\n      B.JSArray_methods.add$1($._toStringVisiting, iterable);\n      try {\n        t1 = buffer;\n        t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, \", \");\n      } finally {\n        if (0 >= $._toStringVisiting.length)\n          return A.ioore($._toStringVisiting, -1);\n        $._toStringVisiting.pop();\n      }\n      buffer._contents += rightDelimiter;\n      t1 = buffer._contents;\n      return t1.charCodeAt(0) == 0 ? t1 : t1;\n    }",
-        "type": "String Function(Iterable<dynamic>,[String,String])"
+        "type": "String Function(Iterable<dynamic>,[String,String])",
+        "functionKind": 0
       },
       "dart:collection::ListBase.listToString": {
         "id": "function/dart:collection::ListBase.listToString",
@@ -10883,7 +11069,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(List<dynamic>)"
+        "type": "String Function(List<dynamic>)",
+        "functionKind": 0
       },
       "dart:collection::_isToStringVisiting": {
         "id": "function/dart:collection::_isToStringVisiting",
@@ -10911,7 +11098,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "_isToStringVisiting(o) {\n      var t1, i;\n      for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i)\n        if (o === $._toStringVisiting[i])\n          return true;\n      return false;\n    }",
-        "type": "bool Function(Object)"
+        "type": "bool Function(Object)",
+        "functionKind": 0
       },
       "dart:core::ArgumentError.ArgumentError": {
         "id": "function/dart:core::ArgumentError.ArgumentError",
@@ -10939,13 +11127,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function([dynamic,String?])"
+        "type": "dynamic Function([dynamic,String?])",
+        "functionKind": 3
       },
       "dart:core::ArgumentError.ArgumentError.value": {
         "id": "function/dart:core::ArgumentError.ArgumentError.value",
         "kind": "function",
         "name": "ArgumentError.value",
-        "size": 113,
+        "size": 0,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::ArgumentError",
         "children": [],
@@ -10976,8 +11165,9 @@
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
-        "code": "ArgumentError$value(value, $name, message) {\n      return new A.ArgumentError(true, value, $name, message);\n    }",
-        "type": "dynamic Function(dynamic,[String?,dynamic])"
+        "code": "",
+        "type": "dynamic Function(dynamic,[String?,dynamic])",
+        "functionKind": 3
       },
       "dart:core::ArgumentError._errorExplanation": {
         "id": "function/dart:core::ArgumentError._errorExplanation",
@@ -10999,7 +11189,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "get$_errorExplanation() {\n      return \"\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::ArgumentError._errorName": {
         "id": "function/dart:core::ArgumentError._errorName",
@@ -11021,7 +11212,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "get$_errorName() {\n      return \"Invalid argument\" + (!this._hasValue ? \"(s)\" : \"\");\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::ArgumentError.toString": {
         "id": "function/dart:core::ArgumentError.toString",
@@ -11043,7 +11235,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var _this = this,\n        $name = _this.name,\n        nameString = $name == null ? \"\" : \" (\" + $name + \")\",\n        message = _this.message,\n        messageString = message == null ? \"\" : \": \" + message,\n        prefix = _this.get$_errorName() + nameString + messageString;\n      if (!_this._hasValue)\n        return prefix;\n      return prefix + _this.get$_errorExplanation() + \": \" + A.Error_safeToString(_this.invalidValue);\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::AssertionError.AssertionError": {
         "id": "function/dart:core::AssertionError.AssertionError",
@@ -11071,7 +11264,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "AssertionError$(message) {\n      return new A.AssertionError(message);\n    }",
-        "type": "dynamic Function([Object?])"
+        "type": "dynamic Function([Object?])",
+        "functionKind": 3
       },
       "dart:core::AssertionError.toString": {
         "id": "function/dart:core::AssertionError.toString",
@@ -11093,7 +11287,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var t1 = this.message;\n      if (t1 != null)\n        return \"Assertion failed: \" + A.Error_safeToString(t1);\n      return \"Assertion failed\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::ConcurrentModificationError.ConcurrentModificationError": {
         "id": "function/dart:core::ConcurrentModificationError.ConcurrentModificationError",
@@ -11121,7 +11316,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function([Object?])"
+        "type": "dynamic Function([Object?])",
+        "functionKind": 3
       },
       "dart:core::ConcurrentModificationError.toString": {
         "id": "function/dart:core::ConcurrentModificationError.toString",
@@ -11143,7 +11339,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"Concurrent modification during iteration: \" + A.Error_safeToString(this.modifiedObject) + \".\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::CyclicInitializationError.CyclicInitializationError": {
         "id": "function/dart:core::CyclicInitializationError.CyclicInitializationError",
@@ -11164,20 +11361,21 @@
         "parameters": [
           {
             "name": "variableName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String?"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function([String?])"
+        "type": "dynamic Function([String?])",
+        "functionKind": 3
       },
       "dart:core::CyclicInitializationError.toString": {
         "id": "function/dart:core::CyclicInitializationError.toString",
         "kind": "function",
         "name": "toString",
-        "size": 231,
+        "size": 115,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::CyclicInitializationError",
         "children": [],
@@ -11192,14 +11390,15 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(_) {\n      var variableName = this.variableName;\n      return variableName == null ? \"Reading static variable during its initialization\" : \"Reading static variable '\" + variableName + \"' during its initialization\";\n    }",
-        "type": "String Function()"
+        "code": "toString$0(_) {\n      return \"Reading static variable '\" + this.variableName + \"' during its initialization\";\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::Error._objectToString": {
         "id": "function/dart:core::Error._objectToString",
         "kind": "function",
         "name": "_objectToString",
-        "size": 192,
+        "size": 187,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::Error",
         "children": [],
@@ -11220,8 +11419,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Error__objectToString(object) {\n      if (object instanceof A.Closure)\n        return object.toString$0(0);\n      return \"Instance of '\" + A.S(A.Primitives_objectTypeName(object)) + \"'\";\n    }",
-        "type": "String Function(Object)"
+        "code": "Error__objectToString(object) {\n      if (object instanceof A.Closure)\n        return object.toString$0(0);\n      return \"Instance of '\" + A.Primitives_objectTypeName(object) + \"'\";\n    }",
+        "type": "String Function(Object)",
+        "functionKind": 0
       },
       "dart:core::Error._stringToSafeString": {
         "id": "function/dart:core::Error._stringToSafeString",
@@ -11249,7 +11449,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:core::Error.safeToString": {
         "id": "function/dart:core::Error.safeToString",
@@ -11277,7 +11478,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Error_safeToString(object) {\n      if (typeof object == \"number\" || A._isBool(object) || object == null)\n        return J.toString$0$(object);\n      if (typeof object == \"string\")\n        return JSON.stringify(object);\n      return A.Error__objectToString(object);\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:core::IndexError.IndexError": {
         "id": "function/dart:core::IndexError.IndexError",
@@ -11325,13 +11527,14 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(int,dynamic,[String?,String?,int?])"
+        "type": "dynamic Function(int,dynamic,[String?,String?,int?])",
+        "functionKind": 3
       },
       "dart:core::IndexError._errorExplanation": {
         "id": "function/dart:core::IndexError._errorExplanation",
         "kind": "function",
         "name": "_errorExplanation",
-        "size": 387,
+        "size": 260,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::IndexError",
         "children": [],
@@ -11346,8 +11549,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
-        "code": "get$_errorExplanation() {\n      var t1,\n        invalidValue = A._asIntS(this.invalidValue);\n      if (typeof invalidValue !== \"number\")\n        return invalidValue.$lt();\n      if (invalidValue < 0)\n        return \": index must not be negative\";\n      t1 = this.length;\n      if (t1 === 0)\n        return \": no indices are valid\";\n      return \": index should be less than \" + t1;\n    }",
-        "type": "String Function()"
+        "code": "get$_errorExplanation() {\n      if (A._asInt(this.invalidValue) < 0)\n        return \": index must not be negative\";\n      var t1 = this.length;\n      if (t1 === 0)\n        return \": no indices are valid\";\n      return \": index should be less than \" + t1;\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::IndexError._errorName": {
         "id": "function/dart:core::IndexError._errorName",
@@ -11369,7 +11573,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "get$_errorName() {\n      return \"RangeError\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::Null.toString": {
         "id": "function/dart:core::Null.toString",
@@ -11391,7 +11596,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"null\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::NullThrownError.NullThrownError": {
         "id": "function/dart:core::NullThrownError.NullThrownError",
@@ -11413,7 +11619,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:core::NullThrownError.toString": {
         "id": "function/dart:core::NullThrownError.toString",
@@ -11435,13 +11642,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"Throw of null.\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::Object.toString": {
         "id": "function/dart:core::Object.toString",
         "kind": "function",
         "name": "toString",
-        "size": 98,
+        "size": 93,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::Object",
         "children": [],
@@ -11456,8 +11664,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(_) {\n      return \"Instance of '\" + A.S(A.Primitives_objectTypeName(this)) + \"'\";\n    }",
-        "type": "String Function()"
+        "code": "toString$0(_) {\n      return \"Instance of '\" + A.Primitives_objectTypeName(this) + \"'\";\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::RangeError.RangeError.value": {
         "id": "function/dart:core::RangeError.RangeError.value",
@@ -11490,7 +11699,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(num,[String?,String?])"
+        "type": "dynamic Function(num,[String?,String?])",
+        "functionKind": 3
       },
       "dart:core::RangeError._errorExplanation": {
         "id": "function/dart:core::RangeError._errorExplanation",
@@ -11512,7 +11722,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "get$_errorExplanation() {\n      return \"\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::RangeError._errorName": {
         "id": "function/dart:core::RangeError._errorName",
@@ -11534,7 +11745,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "get$_errorName() {\n      return \"RangeError\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::StringBuffer.StringBuffer": {
         "id": "function/dart:core::StringBuffer.StringBuffer",
@@ -11562,13 +11774,14 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function([Object])"
+        "type": "dynamic Function([Object])",
+        "functionKind": 3
       },
       "dart:core::StringBuffer._writeAll": {
         "id": "function/dart:core::StringBuffer._writeAll",
         "kind": "function",
         "name": "_writeAll",
-        "size": 560,
+        "size": 804,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::StringBuffer",
         "children": [],
@@ -11599,8 +11812,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "StringBuffer__writeAll(string, objects, separator) {\n      var iterator = new J.ArrayIterator(objects, objects.length, A._arrayInstanceType(objects)._eval$1(\"ArrayIterator<1>\"));\n      if (!iterator.moveNext$0())\n        return string;\n      if (separator.length === 0) {\n        do\n          string += A.S(iterator._current);\n        while (iterator.moveNext$0());\n      } else {\n        string += A.S(iterator._current);\n        for (; iterator.moveNext$0();)\n          string = string + separator + A.S(iterator._current);\n      }\n      return string;\n    }",
-        "type": "String Function(String,Iterable<dynamic>,String)"
+        "code": "StringBuffer__writeAll(string, objects, separator) {\n      var t2,\n        t1 = A._arrayInstanceType(objects),\n        iterator = new J.ArrayIterator(objects, objects.length, t1._eval$1(\"ArrayIterator<1>\"));\n      if (!iterator.moveNext$0())\n        return string;\n      if (separator.length === 0) {\n        t1 = t1._precomputed1;\n        do {\n          t2 = iterator._current;\n          string += A.S(t2 == null ? t1._as(t2) : t2);\n        } while (iterator.moveNext$0());\n      } else {\n        t2 = iterator._current;\n        string += A.S(t2 == null ? t1._precomputed1._as(t2) : t2);\n        for (t1 = t1._precomputed1; iterator.moveNext$0();) {\n          t2 = iterator._current;\n          string = string + separator + A.S(t2 == null ? t1._as(t2) : t2);\n        }\n      }\n      return string;\n    }",
+        "type": "String Function(String,Iterable<dynamic>,String)",
+        "functionKind": 0
       },
       "dart:core::StringBuffer._writeOne": {
         "id": "function/dart:core::StringBuffer._writeOne",
@@ -11633,7 +11847,8 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "String Function(String,Object?)"
+        "type": "String Function(String,Object?)",
+        "functionKind": 0
       },
       "dart:core::StringBuffer._writeString": {
         "id": "function/dart:core::StringBuffer._writeString",
@@ -11661,7 +11876,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(String)"
+        "type": "void Function(String)",
+        "functionKind": 2
       },
       "dart:core::StringBuffer.length": {
         "id": "function/dart:core::StringBuffer.length",
@@ -11683,7 +11899,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "get$length(_) {\n      return this._contents.length;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:core::StringBuffer.toString": {
         "id": "function/dart:core::StringBuffer.toString",
@@ -11705,7 +11922,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "toString$0(_) {\n      var t1 = this._contents;\n      return t1.charCodeAt(0) == 0 ? t1 : t1;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::StringBuffer.write": {
         "id": "function/dart:core::StringBuffer.write",
@@ -11733,7 +11951,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 2
       },
       "dart:core::StringBuffer.writeAll": {
         "id": "function/dart:core::StringBuffer.writeAll",
@@ -11766,7 +11985,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Iterable<dynamic>,[String])"
+        "type": "void Function(Iterable<dynamic>,[String])",
+        "functionKind": 2
       },
       "dart:core::UnsupportedError.UnsupportedError": {
         "id": "function/dart:core::UnsupportedError.UnsupportedError",
@@ -11794,7 +12014,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "UnsupportedError$(message) {\n      return new A.UnsupportedError(message);\n    }",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:core::UnsupportedError.toString": {
         "id": "function/dart:core::UnsupportedError.toString",
@@ -11816,7 +12037,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"Unsupported operation: \" + this.message;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::bool.toString": {
         "id": "function/dart:core::bool.toString",
@@ -11838,7 +12060,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::print": {
         "id": "function/dart:core::print",
@@ -11866,7 +12089,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 0
       },
       "hello_world.dart::main": {
         "id": "function/hello_world.dart::main",
@@ -11888,7 +12112,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "main() {\n      A.printString(\"Hello, World!\");\n    }",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 0
       }
     },
     "typedef": {},
@@ -11977,66 +12202,6 @@
         "code": "",
         "type": "void Function(String)?"
       },
-      "dart:_js_embedded_names::RtiUniverseFieldNames.erasedTypes": {
-        "id": "field/dart:_js_embedded_names::RtiUniverseFieldNames.erasedTypes",
-        "kind": "field",
-        "name": "erasedTypes",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"eT\")",
-        "code": "",
-        "type": "String"
-      },
-      "dart:_js_embedded_names::RtiUniverseFieldNames.evalCache": {
-        "id": "field/dart:_js_embedded_names::RtiUniverseFieldNames.evalCache",
-        "kind": "field",
-        "name": "evalCache",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"eC\")",
-        "code": "",
-        "type": "String"
-      },
-      "dart:_js_embedded_names::RtiUniverseFieldNames.sharedEmptyArray": {
-        "id": "field/dart:_js_embedded_names::RtiUniverseFieldNames.sharedEmptyArray",
-        "kind": "field",
-        "name": "sharedEmptyArray",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"sEA\")",
-        "code": "",
-        "type": "String"
-      },
-      "dart:_js_embedded_names::RtiUniverseFieldNames.typeParameterVariances": {
-        "id": "field/dart:_js_embedded_names::RtiUniverseFieldNames.typeParameterVariances",
-        "kind": "field",
-        "name": "typeParameterVariances",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"tPV\")",
-        "code": "",
-        "type": "String"
-      },
-      "dart:_js_embedded_names::RtiUniverseFieldNames.typeRules": {
-        "id": "field/dart:_js_embedded_names::RtiUniverseFieldNames.typeRules",
-        "kind": "field",
-        "name": "typeRules",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"tR\")",
-        "code": "",
-        "type": "String"
-      },
       "dart:_js_helper::BoundClosure._interceptor": {
         "id": "field/dart:_js_helper::BoundClosure._interceptor",
         "kind": "field",
@@ -12109,6 +12274,66 @@
         "code": "",
         "type": "dynamic"
       },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames.erasedTypes": {
+        "id": "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.erasedTypes",
+        "kind": "field",
+        "name": "erasedTypes",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "children": [],
+        "inferredType": "Value([exact=JSString], value: \"eT\")",
+        "code": "",
+        "type": "String"
+      },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames.evalCache": {
+        "id": "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.evalCache",
+        "kind": "field",
+        "name": "evalCache",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "children": [],
+        "inferredType": "Value([exact=JSString], value: \"eC\")",
+        "code": "",
+        "type": "String"
+      },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames.sharedEmptyArray": {
+        "id": "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.sharedEmptyArray",
+        "kind": "field",
+        "name": "sharedEmptyArray",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "children": [],
+        "inferredType": "Value([exact=JSString], value: \"sEA\")",
+        "code": "",
+        "type": "String"
+      },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeParameterVariances": {
+        "id": "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeParameterVariances",
+        "kind": "field",
+        "name": "typeParameterVariances",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "children": [],
+        "inferredType": "Value([exact=JSString], value: \"tPV\")",
+        "code": "",
+        "type": "String"
+      },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeRules": {
+        "id": "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeRules",
+        "kind": "field",
+        "name": "typeRules",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "children": [],
+        "inferredType": "Value([exact=JSString], value: \"tR\")",
+        "code": "",
+        "type": "String"
+      },
       "dart:_rti::Rti._as": {
         "id": "field/dart:_rti::Rti._as",
         "kind": "field",
@@ -12429,7 +12654,7 @@
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::CyclicInitializationError",
         "children": [],
-        "inferredType": "[null|exact=JSString]",
+        "inferredType": "[exact=JSString]",
         "code": "",
         "type": "String?"
       },
@@ -12546,7 +12771,7 @@
       "B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n": {
         "id": "constant/B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 131,
         "outputUnit": "outputUnit/main",
         "code": "B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n"
@@ -12554,7 +12779,7 @@
       "B.Interceptor_methods = J.Interceptor.prototype;\n": {
         "id": "constant/B.Interceptor_methods = J.Interceptor.prototype;\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 49,
         "outputUnit": "outputUnit/main",
         "code": "B.Interceptor_methods = J.Interceptor.prototype;\n"
@@ -12562,7 +12787,7 @@
       "B.JSArray_methods = J.JSArray.prototype;\n": {
         "id": "constant/B.JSArray_methods = J.JSArray.prototype;\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 41,
         "outputUnit": "outputUnit/main",
         "code": "B.JSArray_methods = J.JSArray.prototype;\n"
@@ -12570,7 +12795,7 @@
       "B.JSString_methods = J.JSString.prototype;\n": {
         "id": "constant/B.JSString_methods = J.JSString.prototype;\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 43,
         "outputUnit": "outputUnit/main",
         "code": "B.JSString_methods = J.JSString.prototype;\n"
@@ -12578,7 +12803,7 @@
       "B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n": {
         "id": "constant/B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 59,
         "outputUnit": "outputUnit/main",
         "code": "B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n"
@@ -14867,10 +15092,6 @@
       {
         "id": "function/dart:_js_helper::Primitives.objectTypeName",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
       }
     ],
     "function/dart:_interceptors::JSArray.add": [
@@ -15219,10 +15440,6 @@
     ],
     "function/dart:_interceptors::JSString.+": [
       {
-        "id": "function/dart:_js_helper::wrapException",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._bind",
         "mask": null
       },
@@ -15361,10 +15578,6 @@
       {
         "id": "function/dart:_rti::instanceType",
         "mask": null
-      },
-      {
-        "id": "function/dart:core::ArgumentError.ArgumentError.value",
-        "mask": null
       }
     ],
     "function/dart:_internal::LateError.toString": [
@@ -15469,10 +15682,6 @@
       {
         "id": "function/dart:_js_helper::Primitives.objectTypeName",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::Closure._computeSignatureFunctionNewRti": [
@@ -15481,302 +15690,14 @@
         "mask": null
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::wrapException",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::Closure.cspForwardCall": [
       {
         "id": "function/dart:_js_helper::BoundClosure.receiverOf",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::Closure.cspForwardInterceptedCall": [
@@ -15797,162 +15718,18 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::wrapException",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::Closure.forwardCallTo": [
       {
         "id": "function/dart:_js_helper::BoundClosure.receiverFieldName",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_js_helper::BoundClosure.receiverFieldName",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_js_helper::BoundClosure.receiverFieldName",
@@ -15975,10 +15752,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._bind",
         "mask": null
       },
@@ -16335,10 +16108,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._bind",
         "mask": null
       },
@@ -16721,22 +16490,10 @@
         "mask": "[subclass=Object]"
       },
       {
-        "id": "function/dart:_js_helper::_AssertionError.toString",
-        "mask": "[subclass=Object]"
-      },
-      {
-        "id": "function/dart:_js_helper::wrapException",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Error.toString",
         "mask": "[subclass=Object]"
       },
       {
-        "id": "function/dart:core::ArgumentError.ArgumentError.value",
-        "mask": null
-      },
-      {
         "id": "function/dart:core::ArgumentError.toString",
         "mask": "[subclass=Object]"
       },
@@ -16783,36 +16540,6 @@
         "mask": null
       }
     ],
-    "function/dart:_js_helper::_AssertionError.toString": [
-      {
-        "id": "field/dart:core::AssertionError.message",
-        "mask": null
-      },
-      {
-        "id": "function/dart:core::Error.safeToString",
-        "mask": null
-      }
-    ],
-    "function/dart:_js_helper::assertThrow": [
-      {
-        "id": "function/dart:_js_helper::_AssertionError._AssertionError",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::_AssertionError._AssertionError",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_js_helper::wrapException",
-        "mask": null
-      }
-    ],
-    "function/dart:_js_helper::boolConversionCheck": [
-      {
-        "id": "function/dart:_js_helper::assertThrow",
-        "mask": null
-      }
-    ],
     "function/dart:_js_helper::closureFromTearOff": [
       {
         "id": "function/dart:_js_helper::Closure.fromTearOff",
@@ -17091,10 +16818,6 @@
         "mask": "[null|subclass=Object]"
       },
       {
-        "id": "function/dart:_js_helper::_AssertionError.toString",
-        "mask": "[null|subclass=Object]"
-      },
-      {
         "id": "function/dart:_rti::_Error.toString",
         "mask": "[null|subclass=Object]"
       },
@@ -17315,10 +17038,6 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::throwExpression",
         "mask": null
       }
@@ -18329,10 +18048,6 @@
     ],
     "function/dart:_rti::_Error.compose": [
       {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_rtiToString",
         "mask": null
       },
@@ -18480,17 +18195,17 @@
     "function/dart:_rti::_Parser.handleDigit": [
       {
         "id": "function/dart:_recipe_syntax::Recipe.digitValue",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_recipe_syntax::Recipe.digitValue",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_recipe_syntax::Recipe.digitValue",
         "mask": null
       },
       {
+        "id": "function/dart:_recipe_syntax::Recipe.digitValue",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_recipe_syntax::Recipe.digitValue",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_recipe_syntax::Recipe.isDigit",
         "mask": null
       },
@@ -18499,14 +18214,6 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Parser.charCodeAt",
         "mask": null
       },
@@ -18516,143 +18223,11 @@
       },
       {
         "id": "function/dart:_rti::_Parser.push",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Parser.push",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
+        "mask": "inlined"
       }
     ],
     "function/dart:_rti::_Parser.handleExtendedOperations": [
@@ -19909,14 +19484,6 @@
     ],
     "function/dart:_rti::_Parser.toType": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Parser.indexToType",
         "mask": null
       },
@@ -19942,11 +19509,11 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.asString",
@@ -19971,138 +19538,6 @@
       {
         "id": "function/dart:_rti::_Utils.isString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_Parser.toTypes": [
@@ -20235,14 +19670,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._getCanonicalRecipe",
         "mask": null
       },
@@ -20260,10 +19687,6 @@
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
         "mask": null
       },
       {
@@ -20275,7 +19698,7 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_Utils.arrayLength",
+        "id": "function/dart:_rti::_Utils.arrayAt",
         "mask": "inlined"
       },
       {
@@ -20283,6 +19706,10 @@
         "mask": null
       },
       {
+        "id": "function/dart:_rti::_Utils.arrayLength",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_rti::_Utils.asBool",
         "mask": null
       },
@@ -20305,138 +19732,6 @@
       {
         "id": "function/dart:_rti::_Utils.asString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_Universe._canonicalRecipeOfAny": [
@@ -22899,14 +22194,6 @@
     ],
     "function/dart:_rti::_Universe.findErasedType": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfErased",
         "mask": null
       },
@@ -22956,11 +22243,11 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.isNum",
@@ -22973,147 +22260,11 @@
       {
         "id": "function/dart:_rti::_Utils.newArrayOrEmpty",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_Universe.findRule": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
+        "id": "function/dart:_rti::_Universe._findRule",
         "mask": null
       },
       {
@@ -23122,10 +22273,6 @@
       },
       {
         "id": "function/dart:_rti::_Universe._findRule",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_Universe._findRule",
         "mask": "inlined"
       },
       {
@@ -23147,138 +22294,6 @@
       {
         "id": "function/dart:_rti::_Utils.isString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_Universe.findTypeParameterVariances": [
@@ -23595,14 +22610,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -23615,144 +22622,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isNum",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isNum",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asDoubleQ": [
@@ -23761,14 +22636,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -23781,144 +22648,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isNum",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isNum",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asDoubleS": [
@@ -23927,14 +22662,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -23947,144 +22674,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isNum",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isNum",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asInt": [
@@ -24093,14 +22688,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -24113,144 +22700,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isInt",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isInt",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asIntQ": [
@@ -24259,14 +22714,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -24279,144 +22726,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isInt",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isInt",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asIntS": [
@@ -24425,14 +22740,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -24445,144 +22752,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isInt",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isInt",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asNum": [
@@ -24591,14 +22766,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -24611,144 +22778,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isNum",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isNum",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asNumQ": [
@@ -24757,11 +22792,29 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
+        "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._eval",
+        "id": "function/dart:_rti::_Utils.asNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asNum",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_isNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isNum",
+        "mask": "inlined"
+      }
+    ],
+    "function/dart:_rti::_asNumS": [
+      {
+        "id": "function/dart:_js_helper::wrapException",
         "mask": null
       },
       {
@@ -24777,147 +22830,15 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isNum",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isNum",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
-    "function/dart:_rti::_asNumS": [
+    "function/dart:_rti::_asObject": [
       {
         "id": "function/dart:_js_helper::wrapException",
         "mask": null
@@ -24935,164 +22856,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_Utils.asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asNum",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
-      }
-    ],
-    "function/dart:_rti::_asObject": [
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_arrayInstanceType",
         "mask": null
       },
@@ -25231,14 +22994,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -25251,144 +23006,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isString",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asStringQ": [
@@ -25397,14 +23020,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -25417,144 +23032,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isString",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asStringS": [
@@ -25563,14 +23046,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -25583,144 +23058,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isString",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_failedAsCheck": [
@@ -25801,14 +23144,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_interceptors::JSString.+",
-        "mask": "[null|exact=JSString]"
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::ioore",
         "mask": null
       },
@@ -25878,18 +23213,6 @@
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
         "mask": null
       },
       {
@@ -25901,6 +23224,30 @@
         "mask": "inlined"
       },
       {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayLength",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayLength",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayLength",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_rti::_Utils.arrayLength",
         "mask": "inlined"
       },
@@ -25909,18 +23256,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_Utils.arrayLength",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayLength",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayLength",
-        "mask": "inlined"
-      },
-      {
         "id": "function/dart:_rti::_Utils.asBool",
         "mask": null
       },
@@ -25934,6 +23269,18 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asRti",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asRti",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asRti",
         "mask": null
       },
       {
@@ -25941,26 +23288,14 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asString",
-        "mask": "inlined"
-      },
-      {
         "id": "function/dart:_rti::_Utils.asString",
         "mask": null
       },
       {
+        "id": "function/dart:_rti::_Utils.asString",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_rti::_Utils.isIdentical",
         "mask": null
       },
@@ -26140,11 +23475,11 @@
       },
       {
         "id": "function/dart:_rti::Rti._isCheck",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::Rti._isCheck",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
@@ -26289,6 +23624,10 @@
       {
         "id": "function/dart:_rti::instanceType",
         "mask": null
+      },
+      {
+        "id": "function/dart:_rti::isNullable",
+        "mask": null
       }
     ],
     "function/dart:_rti::_generalIsTestImplementation": [
@@ -26331,11 +23670,7 @@
     ],
     "function/dart:_rti::_generalNullableAsCheckImplementation": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
+        "id": "function/dart:_rti::Rti._isCheck",
         "mask": null
       },
       {
@@ -26343,7 +23678,7 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::Rti._isCheck",
+        "id": "function/dart:_rti::_Utils.asRti",
         "mask": null
       },
       {
@@ -26351,144 +23686,8 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_Utils.asRti",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_failedAsCheck",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_generalNullableIsTestImplementation": [
@@ -26703,6 +23902,10 @@
         "mask": null
       },
       {
+        "id": "function/dart:_rti::isNullable",
+        "mask": null
+      },
+      {
         "id": "function/dart:_rti::isObjectType",
         "mask": null
       },
@@ -27039,14 +24242,6 @@
     ],
     "function/dart:_rti::_instanceTypeFromConstructorMiss": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Universe.findErasedType",
         "mask": null
       },
@@ -27055,110 +24250,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isClosure",
         "mask": null
       },
@@ -27167,40 +24258,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
+        "id": "function/dart:_rti::_theUniverse",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_theUniverse",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_theUniverse",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_isClosure": [
@@ -27631,14 +24694,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._getInterfaceName",
         "mask": "inlined"
       },
@@ -27656,17 +24711,17 @@
       },
       {
         "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
-        "mask": "inlined"
-      },
-      {
         "id": "function/dart:_rti::Rti._getPrimary",
         "mask": null
       },
@@ -27696,11 +24751,11 @@
       },
       {
         "id": "function/dart:_rti::_Universe.findTypeParameterVariances",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Universe.findTypeParameterVariances",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Universe.sharedEmptyArray",
@@ -27716,14 +24771,10 @@
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayLength",
         "mask": null
       },
       {
@@ -27731,6 +24782,10 @@
         "mask": "inlined"
       },
       {
+        "id": "function/dart:_rti::_Utils.arrayLength",
+        "mask": null
+      },
+      {
         "id": "function/dart:_rti::_Utils.arraySetAt",
         "mask": null
       },
@@ -27740,17 +24795,17 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asString",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asString",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asString",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_Utils.asString",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asString",
-        "mask": "inlined"
-      },
-      {
         "id": "function/dart:_rti::_Utils.isString",
         "mask": "inlined"
       },
@@ -27760,151 +24815,19 @@
       },
       {
         "id": "function/dart:_rti::_Utils.newArrayOrEmpty",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.newArrayOrEmpty",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_areArgumentsSubtypes",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_theUniverse",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_isListTestViaProperty": [
@@ -27913,14 +24836,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._getSpecializedTestResource",
         "mask": null
       },
@@ -27930,11 +24845,11 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.instanceOf",
@@ -27949,110 +24864,6 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isDartObject",
         "mask": null
       },
@@ -28061,36 +24872,8 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_nullIs",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_isSubtype": [
@@ -28120,11 +24903,11 @@
       },
       {
         "id": "function/dart:_rti::Rti._getFutureOrArgument",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::Rti._getFutureOrArgument",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::Rti._getFutureOrArgument",
@@ -28199,6 +24982,10 @@
         "mask": "inlined"
       },
       {
+        "id": "function/dart:_rti::Rti._getQuestionFromStar",
+        "mask": null
+      },
+      {
         "id": "function/dart:_rti::Rti._getRest",
         "mask": null
       },
@@ -28208,10 +24995,6 @@
       },
       {
         "id": "function/dart:_rti::Rti._getStarArgument",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._getStarArgument",
         "mask": "inlined"
       },
       {
@@ -28219,22 +25002,26 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
+        "id": "function/dart:_rti::Rti._getStarArgument",
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
         "mask": null
       },
       {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_rti::_Utils.arrayConcat",
         "mask": null
       },
@@ -28248,11 +25035,11 @@
       },
       {
         "id": "function/dart:_rti::_Utils.arrayLength",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.arrayLength",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.arrayLength",
@@ -28501,14 +25288,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._getSpecializedTestResource",
         "mask": null
       },
@@ -28518,118 +25297,18 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.instanceOf",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
+        "id": "function/dart:_rti::_isDartObject",
         "mask": null
       },
       {
@@ -28637,40 +25316,8 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_isDartObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_nullIs",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_nullIs": [
@@ -28885,10 +25532,6 @@
     ],
     "function/dart:_rti::_rtiArrayToString": [
       {
-        "id": "function/dart:_interceptors::JSString.+",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Utils.arrayAt",
         "mask": null
       },
@@ -28947,18 +25590,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_interceptors::JSString.+",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_interceptors::JSString.+",
-        "mask": "[null|exact=JSString]"
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::ioore",
         "mask": null
       },
@@ -28980,11 +25611,11 @@
       },
       {
         "id": "function/dart:_rti::Rti._getGenericFunctionBase",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::Rti._getGenericFunctionBase",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::Rti._getGenericFunctionBounds",
@@ -30335,27 +26966,15 @@
     ],
     "function/dart:_rti::getTypeFromTypesTable": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Universe.eval",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arraySetAt",
         "mask": "inlined"
       },
       {
@@ -30363,6 +26982,10 @@
         "mask": null
       },
       {
+        "id": "function/dart:_rti::_Utils.arraySetAt",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_rti::_Utils.asRti",
         "mask": null
       },
@@ -30387,130 +27010,6 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_theUniverse",
         "mask": null
       },
@@ -30521,26 +27020,10 @@
       {
         "id": "function/dart:_rti::findType",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::instanceOrFunctionType": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._isUnionOfFunctionType",
         "mask": null
       },
@@ -30549,110 +27032,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isClosure",
         "mask": null
       },
@@ -30661,52 +27040,16 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::closureFunctionType",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::instanceType",
         "mask": null
       }
     ],
     "function/dart:_rti::instanceType": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Utils.asRti",
         "mask": null
       },
@@ -30727,106 +27070,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_instanceType",
         "mask": null
       },
@@ -30839,44 +27082,12 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isDartObject",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isDartObject",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::isBottomType": [
@@ -31967,10 +28178,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::StaticClosure.toString",
         "mask": "[subclass=Closure]"
       }
@@ -32173,7 +28380,7 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_asIntS",
+        "id": "function/dart:_rti::_asInt",
         "mask": null
       }
     ],
@@ -32189,10 +28396,6 @@
       {
         "id": "function/dart:_js_helper::Primitives.objectTypeName",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
       }
     ],
     "function/dart:core::StringBuffer._writeAll": [
@@ -32201,6 +28404,10 @@
         "mask": null
       },
       {
+        "id": "field/dart:_rti::Rti._precomputed1",
+        "mask": null
+      },
+      {
         "id": "function/dart:_interceptors::ArrayIterator.ArrayIterator",
         "mask": null
       },
@@ -32504,8 +28711,8 @@
       "id": "outputUnit/main",
       "kind": "outputUnit",
       "name": "main",
-      "size": 91189,
-      "filename": "hello_world",
+      "size": 90362,
+      "filename": "hello_world.js",
       "imports": []
     }
   ],
@@ -32514,11 +28721,11 @@
   "dump_minor_version": 1,
   "program": {
     "entrypoint": "function/hello_world.dart::main",
-    "size": 91189,
+    "size": 90362,
     "dart2jsVersion": null,
-    "compilationMoment": "2022-04-19 11:35:28.623405",
-    "compilationDuration": 1461256,
-    "toJsonDuration": 2000,
+    "compilationMoment": "2022-05-26 21:08:43.608041",
+    "compilationDuration": 3177312,
+    "toJsonDuration": 3000,
     "dumpInfoDuration": 0,
     "noSuchMethodEnabled": false,
     "isRuntimeTypeUsed": false,
diff --git a/pkg/dart2js_info/test/hello_world_deferred/hello_world_deferred.js.info.json b/pkg/dart2js_info/test/hello_world_deferred/hello_world_deferred.js.info.json
index bfa9884..cc4f282 100644
--- a/pkg/dart2js_info/test/hello_world_deferred/hello_world_deferred.js.info.json
+++ b/pkg/dart2js_info/test/hello_world_deferred/hello_world_deferred.js.info.json
@@ -15,7 +15,7 @@
         "id": "library/dart:_interceptors::",
         "kind": "library",
         "name": "_interceptors",
-        "size": 9095,
+        "size": 8502,
         "children": [
           "class/dart:_interceptors::ArrayIterator",
           "class/dart:_interceptors::Interceptor",
@@ -38,11 +38,10 @@
         "id": "library/dart:_internal::",
         "kind": "library",
         "name": "dart._internal",
-        "size": 1080,
+        "size": 284,
         "children": [
           "class/dart:_internal::LateError",
           "class/dart:_internal::NotNullableError",
-          "class/dart:_internal::ReachabilityError",
           "field/dart:_internal::printToZone",
           "function/dart:_internal::checkNotNullable",
           "function/dart:_internal::makeListFixedLength",
@@ -51,21 +50,11 @@
         ],
         "canonicalUri": "dart:_internal"
       },
-      "dart:_js_embedded_names::": {
-        "id": "library/dart:_js_embedded_names::",
-        "kind": "library",
-        "name": "dart2js._embedded_names",
-        "size": 0,
-        "children": [
-          "class/dart:_js_embedded_names::RtiUniverseFieldNames"
-        ],
-        "canonicalUri": "dart:_js_embedded_names"
-      },
       "dart:_js_helper::": {
         "id": "library/dart:_js_helper::",
         "kind": "library",
         "name": "_js_helper",
-        "size": 47708,
+        "size": 47353,
         "children": [
           "class/dart:_js_helper::BoundClosure",
           "class/dart:_js_helper::Closure",
@@ -157,11 +146,21 @@
         ],
         "canonicalUri": "dart:_js_primitives"
       },
+      "dart:_js_shared_embedded_names::": {
+        "id": "library/dart:_js_shared_embedded_names::",
+        "kind": "library",
+        "name": "<unnamed>",
+        "size": 0,
+        "children": [
+          "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames"
+        ],
+        "canonicalUri": "dart:_js_shared_embedded_names"
+      },
       "dart:_late_helper::": {
         "id": "library/dart:_late_helper::",
         "kind": "library",
         "name": "_late_helper",
-        "size": 593,
+        "size": 560,
         "children": [
           "class/dart:_late_helper::_Cell",
           "function/dart:_late_helper::throwLateFieldADI"
@@ -171,7 +170,7 @@
       "dart:_recipe_syntax::": {
         "id": "library/dart:_recipe_syntax::",
         "kind": "library",
-        "name": "dart2js._recipe_syntax",
+        "name": "js_shared._recipe_syntax",
         "size": 0,
         "children": [
           "class/dart:_recipe_syntax::Recipe"
@@ -182,7 +181,7 @@
         "id": "library/dart:_rti::",
         "kind": "library",
         "name": "rti",
-        "size": 52949,
+        "size": 52862,
         "children": [
           "class/dart:_rti::Rti",
           "class/dart:_rti::TypeRule",
@@ -251,7 +250,6 @@
           "function/dart:_rti::_theUniverse",
           "function/dart:_rti::_unminifyOrTag",
           "function/dart:_rti::closureFunctionType",
-          "function/dart:_rti::createRuntimeType",
           "function/dart:_rti::evalInInstance",
           "function/dart:_rti::findType",
           "function/dart:_rti::getTypeFromTypesTable",
@@ -276,7 +274,7 @@
         "id": "library/dart:async::",
         "kind": "library",
         "name": "dart.async",
-        "size": 41204,
+        "size": 41039,
         "children": [
           "class/dart:async::AsyncError",
           "class/dart:async::Completer",
@@ -329,7 +327,7 @@
         "id": "library/dart:collection::",
         "kind": "library",
         "name": "dart.collection",
-        "size": 7914,
+        "size": 7950,
         "children": [
           "class/dart:collection::IterableBase",
           "class/dart:collection::LinkedHashMap",
@@ -353,7 +351,7 @@
         "id": "library/dart:core::",
         "kind": "library",
         "name": "dart.core",
-        "size": 9042,
+        "size": 8591,
         "children": [
           "class/dart:core::ArgumentError",
           "class/dart:core::AssertionError",
@@ -399,7 +397,7 @@
         "children": [
           "function/hello_world_deferred.dart::main"
         ],
-        "canonicalUri": "file:///Users/markzipan/Projects/dart-sdk/sdk/pkg/dart2js_info/test/hello_world_deferred/hello_world_deferred.dart"
+        "canonicalUri": "file:///usr/local/google/home/natebiggs/dart-sdk/sdk/pkg/dart2js_info/test/hello_world_deferred/hello_world_deferred.dart"
       }
     },
     "class": {
@@ -421,7 +419,7 @@
         "id": "class/dart:_interceptors::ArrayIterator",
         "kind": "class",
         "name": "ArrayIterator",
-        "size": 798,
+        "size": 863,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_interceptors::",
         "modifiers": {
@@ -441,7 +439,7 @@
         "id": "class/dart:_interceptors::Interceptor",
         "kind": "class",
         "name": "Interceptor",
-        "size": 358,
+        "size": 353,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_interceptors::",
         "modifiers": {
@@ -561,7 +559,7 @@
         "id": "class/dart:_interceptors::JSString",
         "kind": "class",
         "name": "JSString",
-        "size": 806,
+        "size": 697,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_interceptors::",
         "modifiers": {
@@ -659,7 +657,7 @@
         "id": "class/dart:_internal::NotNullableError",
         "kind": "class",
         "name": "NotNullableError",
-        "size": 349,
+        "size": 0,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_internal::",
         "modifiers": {
@@ -667,49 +665,14 @@
         },
         "children": [
           "field/dart:_internal::NotNullableError._name",
-          "function/dart:_internal::NotNullableError.NotNullableError",
-          "function/dart:_internal::NotNullableError.toString"
-        ]
-      },
-      "dart:_internal::ReachabilityError": {
-        "id": "class/dart:_internal::ReachabilityError",
-        "kind": "class",
-        "name": "ReachabilityError",
-        "size": 241,
-        "outputUnit": "outputUnit/main",
-        "parent": "library/dart:_internal::",
-        "modifiers": {
-          "abstract": false
-        },
-        "children": [
-          "field/dart:_internal::ReachabilityError._message",
-          "function/dart:_internal::ReachabilityError.ReachabilityError",
-          "function/dart:_internal::ReachabilityError.toString"
-        ]
-      },
-      "dart:_js_embedded_names::RtiUniverseFieldNames": {
-        "id": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "kind": "class",
-        "name": "RtiUniverseFieldNames",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "library/dart:_js_embedded_names::",
-        "modifiers": {
-          "abstract": false
-        },
-        "children": [
-          "field/dart:_js_embedded_names::RtiUniverseFieldNames.erasedTypes",
-          "field/dart:_js_embedded_names::RtiUniverseFieldNames.evalCache",
-          "field/dart:_js_embedded_names::RtiUniverseFieldNames.sharedEmptyArray",
-          "field/dart:_js_embedded_names::RtiUniverseFieldNames.typeParameterVariances",
-          "field/dart:_js_embedded_names::RtiUniverseFieldNames.typeRules"
+          "function/dart:_internal::NotNullableError.NotNullableError"
         ]
       },
       "dart:_js_helper::BoundClosure": {
         "id": "class/dart:_js_helper::BoundClosure",
         "kind": "class",
         "name": "BoundClosure",
-        "size": 717,
+        "size": 707,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "modifiers": {
@@ -784,7 +747,7 @@
         "id": "class/dart:_js_helper::DeferredNotLoadedError",
         "kind": "class",
         "name": "DeferredNotLoadedError",
-        "size": 269,
+        "size": 264,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "modifiers": {
@@ -858,7 +821,7 @@
         "id": "class/dart:_js_helper::JsNoSuchMethodError",
         "kind": "class",
         "name": "JsNoSuchMethodError",
-        "size": 669,
+        "size": 654,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "modifiers": {
@@ -927,7 +890,7 @@
         "id": "class/dart:_js_helper::NullError",
         "kind": "class",
         "name": "NullError",
-        "size": 397,
+        "size": 392,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "modifiers": {
@@ -1110,11 +1073,29 @@
           "function/dart:_js_helper::_StackTrace.toString"
         ]
       },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames": {
+        "id": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "kind": "class",
+        "name": "RtiUniverseFieldNames",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "library/dart:_js_shared_embedded_names::",
+        "modifiers": {
+          "abstract": false
+        },
+        "children": [
+          "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.erasedTypes",
+          "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.evalCache",
+          "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.sharedEmptyArray",
+          "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeParameterVariances",
+          "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeRules"
+        ]
+      },
       "dart:_late_helper::_Cell": {
         "id": "class/dart:_late_helper::_Cell",
         "kind": "class",
         "name": "_Cell",
-        "size": 343,
+        "size": 315,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_late_helper::",
         "modifiers": {
@@ -1177,7 +1158,6 @@
           "function/dart:_rti::Rti._getBindCache",
           "function/dart:_rti::Rti._getBindingArguments",
           "function/dart:_rti::Rti._getBindingBase",
-          "function/dart:_rti::Rti._getCachedRuntimeType",
           "function/dart:_rti::Rti._getCanonicalRecipe",
           "function/dart:_rti::Rti._getEvalCache",
           "function/dart:_rti::Rti._getFunctionParameters",
@@ -1201,7 +1181,6 @@
           "function/dart:_rti::Rti._isUnionOfFunctionType",
           "function/dart:_rti::Rti._setAsCheckFunction",
           "function/dart:_rti::Rti._setBindCache",
-          "function/dart:_rti::Rti._setCachedRuntimeType",
           "function/dart:_rti::Rti._setCanonicalRecipe",
           "function/dart:_rti::Rti._setEvalCache",
           "function/dart:_rti::Rti._setIsTestFunction",
@@ -1312,16 +1291,14 @@
         "id": "class/dart:_rti::_Type",
         "kind": "class",
         "name": "_Type",
-        "size": 161,
+        "size": 0,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "modifiers": {
           "abstract": false
         },
         "children": [
-          "field/dart:_rti::_Type._rti",
-          "function/dart:_rti::_Type._Type",
-          "function/dart:_rti::_Type.toString"
+          "field/dart:_rti::_Type._rti"
         ]
       },
       "dart:_rti::_TypeError": {
@@ -1504,7 +1481,7 @@
         "id": "class/dart:async::Future",
         "kind": "class",
         "name": "Future",
-        "size": 1890,
+        "size": 1924,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:async::",
         "modifiers": {
@@ -1565,7 +1542,7 @@
         "id": "class/dart:async::_AsyncAwaitCompleter",
         "kind": "class",
         "name": "_AsyncAwaitCompleter",
-        "size": 860,
+        "size": 842,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:async::",
         "modifiers": {
@@ -1650,7 +1627,7 @@
         "id": "class/dart:async::_Future",
         "kind": "class",
         "name": "_Future",
-        "size": 14011,
+        "size": 13804,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:async::",
         "modifiers": {
@@ -1699,7 +1676,7 @@
         "id": "class/dart:async::_FutureListener",
         "kind": "class",
         "name": "_FutureListener",
-        "size": 1615,
+        "size": 1618,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:async::",
         "modifiers": {
@@ -1734,7 +1711,7 @@
         "id": "class/dart:async::_RootZone",
         "kind": "class",
         "name": "_RootZone",
-        "size": 1901,
+        "size": 1919,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:async::",
         "modifiers": {
@@ -1938,7 +1915,7 @@
         "id": "class/dart:collection::_LinkedHashSet",
         "kind": "class",
         "name": "_LinkedHashSet",
-        "size": 3477,
+        "size": 3448,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:collection::",
         "modifiers": {
@@ -1994,7 +1971,7 @@
         "id": "class/dart:collection::_LinkedHashSetIterator",
         "kind": "class",
         "name": "_LinkedHashSetIterator",
-        "size": 947,
+        "size": 1012,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:collection::",
         "modifiers": {
@@ -2094,7 +2071,7 @@
         "id": "class/dart:core::CyclicInitializationError",
         "kind": "class",
         "name": "CyclicInitializationError",
-        "size": 413,
+        "size": 297,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:core::",
         "modifiers": {
@@ -2158,7 +2135,7 @@
         "id": "class/dart:core::IndexError",
         "kind": "class",
         "name": "IndexError",
-        "size": 745,
+        "size": 618,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:core::",
         "modifiers": {
@@ -2222,7 +2199,7 @@
         "id": "class/dart:core::Object",
         "kind": "class",
         "name": "Object",
-        "size": 396,
+        "size": 391,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:core::",
         "modifiers": {
@@ -2520,13 +2497,14 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(JSArray<ArrayIterator.E>)"
+        "type": "dynamic Function(JSArray<ArrayIterator.E>)",
+        "functionKind": 3
       },
       "dart:_interceptors::ArrayIterator.current": {
         "id": "function/dart:_interceptors::ArrayIterator.current",
         "kind": "function",
         "name": "current",
-        "size": 49,
+        "size": 114,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_interceptors::ArrayIterator",
         "children": [],
@@ -2541,8 +2519,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
-        "code": "get$current() {\n      return this._current;\n    }",
-        "type": "ArrayIterator.E Function()"
+        "code": "get$current() {\n      var t1 = this._current;\n      return t1 == null ? this.$ti._precomputed1._as(t1) : t1;\n    }",
+        "type": "ArrayIterator.E Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::ArrayIterator.moveNext": {
         "id": "function/dart:_interceptors::ArrayIterator.moveNext",
@@ -2564,7 +2543,8 @@
         "sideEffects": "SideEffects(reads anything; writes field)",
         "inlinedCount": 0,
         "code": "moveNext$0() {\n      var t2, _this = this,\n        t1 = _this._iterable,\n        $length = t1.length;\n      if (_this._length !== $length)\n        throw A.wrapException(A.throwConcurrentModificationError(t1));\n      t2 = _this._index;\n      if (t2 >= $length) {\n        _this.set$_current(null);\n        return false;\n      }\n      _this.set$_current(t1[t2]);\n      ++_this._index;\n      return true;\n    }",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::Interceptor.==": {
         "id": "function/dart:_interceptors::Interceptor.==",
@@ -2592,7 +2572,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "$eq(receiver, other) {\n      return receiver === other;\n    }",
-        "type": "bool Function(Object)"
+        "type": "bool Function(Object)",
+        "functionKind": 2
       },
       "dart:_interceptors::Interceptor.hashCode": {
         "id": "function/dart:_interceptors::Interceptor.hashCode",
@@ -2614,13 +2595,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "get$hashCode(receiver) {\n      return A.Primitives_objectHashCode(receiver);\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::Interceptor.toString": {
         "id": "function/dart:_interceptors::Interceptor.toString",
         "kind": "function",
         "name": "toString",
-        "size": 109,
+        "size": 104,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_interceptors::Interceptor",
         "children": [],
@@ -2635,8 +2617,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(receiver) {\n      return \"Instance of '\" + A.S(A.Primitives_objectTypeName(receiver)) + \"'\";\n    }",
-        "type": "String Function()"
+        "code": "toString$0(receiver) {\n      return \"Instance of '\" + A.Primitives_objectTypeName(receiver) + \"'\";\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.JSArray.fixed": {
         "id": "function/dart:_interceptors::JSArray.JSArray.fixed",
@@ -2664,7 +2647,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "JSArray_JSArray$fixed($length, $E) {\n      if ($length < 0 || $length > 4294967295)\n        throw A.wrapException(new A.RangeError(0, 4294967295, true, $length, \"length\", \"Invalid value\"));\n      return J.JSArray_markFixedList(A._setArrayType(new Array($length), $E._eval$1(\"JSArray<0>\")), $E);\n    }",
-        "type": "JSArray<#A> Function<#A extends Object?>(int)"
+        "type": "JSArray<#A> Function<#A extends Object?>(int)",
+        "functionKind": 3
       },
       "dart:_interceptors::JSArray.JSArray.growable": {
         "id": "function/dart:_interceptors::JSArray.JSArray.growable",
@@ -2692,7 +2676,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "JSArray_JSArray$growable($length, $E) {\n      if ($length < 0)\n        throw A.wrapException(A.ArgumentError$(\"Length must be a non-negative integer: \" + $length, null));\n      return A._setArrayType(new Array($length), $E._eval$1(\"JSArray<0>\"));\n    }",
-        "type": "JSArray<#A> Function<#A extends Object?>(int)"
+        "type": "JSArray<#A> Function<#A extends Object?>(int)",
+        "functionKind": 3
       },
       "dart:_interceptors::JSArray.JSArray.markFixed": {
         "id": "function/dart:_interceptors::JSArray.JSArray.markFixed",
@@ -2720,7 +2705,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "JSArray<#A> Function<#A extends Object?>(dynamic)"
+        "type": "JSArray<#A> Function<#A extends Object?>(dynamic)",
+        "functionKind": 3
       },
       "dart:_interceptors::JSArray.JSArray.markGrowable": {
         "id": "function/dart:_interceptors::JSArray.JSArray.markGrowable",
@@ -2748,7 +2734,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "JSArray<#A> Function<#A extends Object?>(dynamic)"
+        "type": "JSArray<#A> Function<#A extends Object?>(dynamic)",
+        "functionKind": 3
       },
       "dart:_interceptors::JSArray.JSArray.typed": {
         "id": "function/dart:_interceptors::JSArray.JSArray.typed",
@@ -2776,7 +2763,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "JSArray<#A> Function<#A extends Object?>(dynamic)"
+        "type": "JSArray<#A> Function<#A extends Object?>(dynamic)",
+        "functionKind": 3
       },
       "dart:_interceptors::JSArray.[]=": {
         "id": "function/dart:_interceptors::JSArray.[]=",
@@ -2809,7 +2797,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "$indexSet(receiver, index, value) {\n      A._arrayInstanceType(receiver)._precomputed1._as(value);\n      if (!!receiver.immutable$list)\n        A.throwExpression(A.UnsupportedError$(\"indexed set\"));\n      if (!(index >= 0 && index < receiver.length))\n        throw A.wrapException(A.diagnoseIndexError(receiver, index));\n      receiver[index] = value;\n    }",
-        "type": "void Function(int,Object?)"
+        "type": "void Function(int,Object?)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.add": {
         "id": "function/dart:_interceptors::JSArray.add",
@@ -2837,7 +2826,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "add$1(receiver, value) {\n      A._arrayInstanceType(receiver)._precomputed1._as(value);\n      if (!!receiver.fixed$length)\n        A.throwExpression(A.UnsupportedError$(\"add\"));\n      receiver.push(value);\n    }",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.checkGrowable": {
         "id": "function/dart:_interceptors::JSArray.checkGrowable",
@@ -2865,7 +2855,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.checkMutable": {
         "id": "function/dart:_interceptors::JSArray.checkMutable",
@@ -2893,7 +2884,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.hashCode": {
         "id": "function/dart:_interceptors::JSArray.hashCode",
@@ -2915,7 +2907,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "get$hashCode(receiver) {\n      return A.Primitives_objectHashCode(receiver);\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.isFixedLength": {
         "id": "function/dart:_interceptors::JSArray.isFixedLength",
@@ -2943,7 +2936,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(JSArray<dynamic>)"
+        "type": "bool Function(JSArray<dynamic>)",
+        "functionKind": 0
       },
       "dart:_interceptors::JSArray.isGrowable": {
         "id": "function/dart:_interceptors::JSArray.isGrowable",
@@ -2971,7 +2965,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(JSArray<dynamic>)"
+        "type": "bool Function(JSArray<dynamic>)",
+        "functionKind": 0
       },
       "dart:_interceptors::JSArray.isMutable": {
         "id": "function/dart:_interceptors::JSArray.isMutable",
@@ -2999,7 +2994,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(JSArray<dynamic>)"
+        "type": "bool Function(JSArray<dynamic>)",
+        "functionKind": 0
       },
       "dart:_interceptors::JSArray.isUnmodifiable": {
         "id": "function/dart:_interceptors::JSArray.isUnmodifiable",
@@ -3027,7 +3023,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(JSArray<dynamic>)"
+        "type": "bool Function(JSArray<dynamic>)",
+        "functionKind": 0
       },
       "dart:_interceptors::JSArray.iterator": {
         "id": "function/dart:_interceptors::JSArray.iterator",
@@ -3049,7 +3046,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "get$iterator(receiver) {\n      return new J.ArrayIterator(receiver, receiver.length, A._arrayInstanceType(receiver)._eval$1(\"ArrayIterator<1>\"));\n    }",
-        "type": "Iterator<JSArray.E> Function()"
+        "type": "Iterator<JSArray.E> Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.join": {
         "id": "function/dart:_interceptors::JSArray.join",
@@ -3077,7 +3075,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "join$1(receiver, separator) {\n      var i,\n        list = A.List_List$filled(receiver.length, \"\", type$.String);\n      for (i = 0; i < receiver.length; ++i)\n        this.$indexSet(list, i, A.S(receiver[i]));\n      return list.join(separator);\n    }",
-        "type": "String Function([String])"
+        "type": "String Function([String])",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.length": {
         "id": "function/dart:_interceptors::JSArray.length",
@@ -3099,7 +3098,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "get$length(receiver) {\n      return receiver.length;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSArray.markFixedList": {
         "id": "function/dart:_interceptors::JSArray.markFixedList",
@@ -3127,7 +3127,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "JSArray_markFixedList(list, $T) {\n      list.fixed$length = Array;\n      return list;\n    }",
-        "type": "List<#A> Function<#A extends Object?>(List<#A>)"
+        "type": "List<#A> Function<#A extends Object?>(List<#A>)",
+        "functionKind": 0
       },
       "dart:_interceptors::JSArray.toString": {
         "id": "function/dart:_interceptors::JSArray.toString",
@@ -3149,7 +3150,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      return A.IterableBase_iterableToFullString(receiver, \"[\", \"]\");\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSBool.hashCode": {
         "id": "function/dart:_interceptors::JSBool.hashCode",
@@ -3171,7 +3173,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "get$hashCode(receiver) {\n      return receiver ? 519018 : 218159;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSBool.toString": {
         "id": "function/dart:_interceptors::JSBool.toString",
@@ -3193,7 +3196,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      return String(receiver);\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSNull.==": {
         "id": "function/dart:_interceptors::JSNull.==",
@@ -3221,7 +3225,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "$eq(receiver, other) {\n      return null == other;\n    }",
-        "type": "bool Function(Object)"
+        "type": "bool Function(Object)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSNull.hashCode": {
         "id": "function/dart:_interceptors::JSNull.hashCode",
@@ -3243,7 +3248,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "get$hashCode(receiver) {\n      return 0;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSNull.toString": {
         "id": "function/dart:_interceptors::JSNull.toString",
@@ -3265,7 +3271,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      return \"null\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSNumber._shrBothPositive": {
         "id": "function/dart:_interceptors::JSNumber._shrBothPositive",
@@ -3293,7 +3300,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_shrBothPositive$1(receiver, other) {\n      return other > 31 ? 0 : receiver >>> other;\n    }",
-        "type": "num Function(num)"
+        "type": "num Function(num)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSNumber._shrOtherPositive": {
         "id": "function/dart:_interceptors::JSNumber._shrOtherPositive",
@@ -3321,7 +3329,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_shrOtherPositive$1(receiver, other) {\n      var t1;\n      if (receiver > 0)\n        t1 = this._shrBothPositive$1(receiver, other);\n      else {\n        t1 = other > 31 ? 31 : other;\n        t1 = receiver >> t1 >>> 0;\n      }\n      return t1;\n    }",
-        "type": "num Function(num)"
+        "type": "num Function(num)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSNumber.hashCode": {
         "id": "function/dart:_interceptors::JSNumber.hashCode",
@@ -3343,7 +3352,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "get$hashCode(receiver) {\n      var absolute, floorLog2, factor, scaled,\n        intValue = receiver | 0;\n      if (receiver === intValue)\n        return intValue & 536870911;\n      absolute = Math.abs(receiver);\n      floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0;\n      factor = Math.pow(2, floorLog2);\n      scaled = absolute < 1 ? absolute / factor : factor / absolute;\n      return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSNumber.toString": {
         "id": "function/dart:_interceptors::JSNumber.toString",
@@ -3365,13 +3375,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      if (receiver === 0 && 1 / receiver < 0)\n        return \"-0.0\";\n      else\n        return \"\" + receiver;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSString.+": {
         "id": "function/dart:_interceptors::JSString.+",
         "kind": "function",
         "name": "+",
-        "size": 169,
+        "size": 60,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_interceptors::JSString",
         "children": [],
@@ -3386,14 +3397,15 @@
         "parameters": [
           {
             "name": "other",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
-        "code": "$add(receiver, other) {\n      if (typeof other != \"string\")\n        throw A.wrapException(A.ArgumentError$value(other, null, null));\n      return receiver + other;\n    }",
-        "type": "String Function(String)"
+        "code": "$add(receiver, other) {\n      return receiver + other;\n    }",
+        "type": "String Function(String)",
+        "functionKind": 2
       },
       "dart:_interceptors::JSString.hashCode": {
         "id": "function/dart:_interceptors::JSString.hashCode",
@@ -3415,7 +3427,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "get$hashCode(receiver) {\n      var t1, hash, i;\n      for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) {\n        hash = hash + receiver.charCodeAt(i) & 536870911;\n        hash = hash + ((hash & 524287) << 10) & 536870911;\n        hash ^= hash >> 6;\n      }\n      hash = hash + ((hash & 67108863) << 3) & 536870911;\n      hash ^= hash >> 11;\n      return hash + ((hash & 16383) << 15) & 536870911;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSString.isEmpty": {
         "id": "function/dart:_interceptors::JSString.isEmpty",
@@ -3437,7 +3450,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSString.length": {
         "id": "function/dart:_interceptors::JSString.length",
@@ -3459,7 +3473,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "get$length(receiver) {\n      return receiver.length;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::JSString.toString": {
         "id": "function/dart:_interceptors::JSString.toString",
@@ -3481,7 +3496,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      return receiver;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::LegacyJavaScriptObject.hashCode": {
         "id": "function/dart:_interceptors::LegacyJavaScriptObject.hashCode",
@@ -3503,7 +3519,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "get$hashCode(receiver) {\n      return 0;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_interceptors::LegacyJavaScriptObject.toString": {
         "id": "function/dart:_interceptors::LegacyJavaScriptObject.toString",
@@ -3525,7 +3542,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(receiver) {\n      return String(receiver);\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_internal::LateError.LateError.fieldADI": {
         "id": "function/dart:_internal::LateError.LateError.fieldADI",
@@ -3546,14 +3564,15 @@
         "parameters": [
           {
             "name": "fieldName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:_internal::LateError.LateError.localNI": {
         "id": "function/dart:_internal::LateError.LateError.localNI",
@@ -3581,7 +3600,8 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:_internal::LateError.toString": {
         "id": "function/dart:_internal::LateError.toString",
@@ -3603,7 +3623,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"LateInitializationError: \" + this.__internal$_message;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_internal::NotNullableError.NotNullableError": {
         "id": "function/dart:_internal::NotNullableError.NotNullableError",
@@ -3631,85 +3652,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(String)"
-      },
-      "dart:_internal::NotNullableError.toString": {
-        "id": "function/dart:_internal::NotNullableError.toString",
-        "kind": "function",
-        "name": "toString",
-        "size": 164,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_internal::NotNullableError",
-        "children": [],
-        "modifiers": {
-          "static": false,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "String",
-        "inferredReturnType": "[exact=JSString]",
-        "parameters": [],
-        "sideEffects": "SideEffects(reads field; writes anything)",
-        "inlinedCount": 0,
-        "code": "toString$0(_) {\n      return \"Null is not a valid value for '\" + this._name + \"' of type '\" + A.createRuntimeType(this.$ti._precomputed1).toString$0(0) + \"'\";\n    }",
-        "type": "String Function()"
-      },
-      "dart:_internal::ReachabilityError.ReachabilityError": {
-        "id": "function/dart:_internal::ReachabilityError.ReachabilityError",
-        "kind": "function",
-        "name": "ReachabilityError",
-        "size": 84,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_internal::ReachabilityError",
-        "children": [],
-        "modifiers": {
-          "static": false,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "dynamic",
-        "inferredReturnType": "[exact=ReachabilityError]",
-        "parameters": [
-          {
-            "name": "_message",
-            "type": "Value([exact=JSString], value: \"`null` encountered as the result from expression with type `Never`.\")",
-            "declaredType": "String?"
-          }
-        ],
-        "sideEffects": "SideEffects(reads nothing; writes nothing)",
-        "inlinedCount": 0,
-        "code": "ReachabilityError$(_message) {\n      return new A.ReachabilityError(_message);\n    }",
-        "type": "dynamic Function([String?])"
-      },
-      "dart:_internal::ReachabilityError.toString": {
-        "id": "function/dart:_internal::ReachabilityError.toString",
-        "kind": "function",
-        "name": "toString",
-        "size": 84,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_internal::ReachabilityError",
-        "children": [],
-        "modifiers": {
-          "static": false,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "String",
-        "inferredReturnType": "[exact=JSString]",
-        "parameters": [],
-        "sideEffects": "SideEffects(reads field; writes anything)",
-        "inlinedCount": 0,
-        "code": "toString$0(_) {\n      return \"ReachabilityError: \" + this.__internal$_message;\n    }",
-        "type": "String Function()"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:_internal::checkNotNullable": {
         "id": "function/dart:_internal::checkNotNullable",
         "kind": "function",
         "name": "checkNotNullable",
-        "size": 184,
+        "size": 62,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_internal::",
         "children": [],
@@ -3720,11 +3670,11 @@
           "external": false
         },
         "returnType": "#A/*free*/",
-        "inferredReturnType": "[null|subclass=Object]",
+        "inferredReturnType": "[subclass=Object]",
         "parameters": [
           {
             "name": "value",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "checkNotNullable.T"
           },
           {
@@ -3735,8 +3685,9 @@
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
-        "code": "checkNotNullable(value, $name, $T) {\n      if (value == null)\n        throw A.wrapException(new A.NotNullableError($name, $T._eval$1(\"NotNullableError<0>\")));\n      return value;\n    }",
-        "type": "#A Function<#A extends Object>(#A,String)"
+        "code": "checkNotNullable(value, $name, $T) {\n      return value;\n    }",
+        "type": "#A Function<#A extends Object>(#A,String)",
+        "functionKind": 0
       },
       "dart:_internal::makeListFixedLength": {
         "id": "function/dart:_internal::makeListFixedLength",
@@ -3764,7 +3715,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "List<#A> Function<#A extends Object?>(List<#A>)"
+        "type": "List<#A> Function<#A extends Object?>(List<#A>)",
+        "functionKind": 0
       },
       "dart:_internal::printToConsole": {
         "id": "function/dart:_internal::printToConsole",
@@ -3792,7 +3744,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(String)"
+        "type": "void Function(String)",
+        "functionKind": 0
       },
       "dart:_internal::unsafeCast": {
         "id": "function/dart:_internal::unsafeCast",
@@ -3820,7 +3773,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "#A Function<#A extends Object?>(dynamic)"
+        "type": "#A Function<#A extends Object?>(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.==": {
         "id": "function/dart:_js_helper::BoundClosure.==",
@@ -3848,7 +3802,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "$eq(_, other) {\n      if (other == null)\n        return false;\n      if (this === other)\n        return true;\n      if (!(other instanceof A.BoundClosure))\n        return false;\n      return this.$_target === other.$_target && this._receiver === other._receiver;\n    }",
-        "type": "bool Function(Object)"
+        "type": "bool Function(Object)",
+        "functionKind": 2
       },
       "dart:_js_helper::BoundClosure.BoundClosure": {
         "id": "function/dart:_js_helper::BoundClosure.BoundClosure",
@@ -3881,7 +3836,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "dynamic Function(dynamic,dynamic)"
+        "type": "dynamic Function(dynamic,dynamic)",
+        "functionKind": 3
       },
       "dart:_js_helper::BoundClosure._computeFieldNamed": {
         "id": "function/dart:_js_helper::BoundClosure._computeFieldNamed",
@@ -3909,7 +3865,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "BoundClosure__computeFieldNamed(fieldName) {\n      var t1, i, $name,\n        template = new A.BoundClosure(\"receiver\", \"interceptor\"),\n        names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template), type$.nullable_Object);\n      for (t1 = names.length, i = 0; i < t1; ++i) {\n        $name = names[i];\n        if (template[$name] === fieldName)\n          return $name;\n      }\n      throw A.wrapException(A.ArgumentError$(\"Field name \" + fieldName + \" not found.\", null));\n    }",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure._name": {
         "id": "function/dart:_js_helper::BoundClosure._name",
@@ -3931,7 +3888,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::BoundClosure._target": {
         "id": "function/dart:_js_helper::BoundClosure._target",
@@ -3953,7 +3911,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "Object Function()"
+        "type": "Object Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::BoundClosure.evalRecipe": {
         "id": "function/dart:_js_helper::BoundClosure.evalRecipe",
@@ -3970,7 +3929,7 @@
           "external": false
         },
         "returnType": "dynamic",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "closure",
@@ -3986,7 +3945,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "BoundClosure_evalRecipe(closure, recipe) {\n      return A._Universe_evalInEnvironment(init.typeUniverse, A.instanceType(closure._receiver), recipe);\n    }",
-        "type": "dynamic Function(BoundClosure,String)"
+        "type": "dynamic Function(BoundClosure,String)",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.hashCode": {
         "id": "function/dart:_js_helper::BoundClosure.hashCode",
@@ -4008,7 +3968,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "get$hashCode(_) {\n      return (A.objectHashCode(this._receiver) ^ A.Primitives_objectHashCode(this.$_target)) >>> 0;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::BoundClosure.interceptorFieldName": {
         "id": "function/dart:_js_helper::BoundClosure.interceptorFieldName",
@@ -4030,7 +3991,8 @@
         "sideEffects": "SideEffects(reads static; writes static)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.interceptorOf": {
         "id": "function/dart:_js_helper::BoundClosure.interceptorOf",
@@ -4058,7 +4020,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "BoundClosure_interceptorOf(closure) {\n      return closure._interceptor;\n    }",
-        "type": "dynamic Function(BoundClosure)"
+        "type": "dynamic Function(BoundClosure)",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.receiverFieldName": {
         "id": "function/dart:_js_helper::BoundClosure.receiverFieldName",
@@ -4080,7 +4043,8 @@
         "sideEffects": "SideEffects(reads static; writes static)",
         "inlinedCount": 3,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.receiverOf": {
         "id": "function/dart:_js_helper::BoundClosure.receiverOf",
@@ -4108,13 +4072,14 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "BoundClosure_receiverOf(closure) {\n      return closure._receiver;\n    }",
-        "type": "dynamic Function(BoundClosure)"
+        "type": "dynamic Function(BoundClosure)",
+        "functionKind": 0
       },
       "dart:_js_helper::BoundClosure.toString": {
         "id": "function/dart:_js_helper::BoundClosure.toString",
         "kind": "function",
         "name": "toString",
-        "size": 153,
+        "size": 143,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::BoundClosure",
         "children": [],
@@ -4129,14 +4094,15 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(_) {\n      return \"Closure '\" + A.S(this.$_name) + \"' of \" + (\"Instance of '\" + A.S(A.Primitives_objectTypeName(this._receiver)) + \"'\");\n    }",
-        "type": "String Function()"
+        "code": "toString$0(_) {\n      return \"Closure '\" + this.$_name + \"' of \" + (\"Instance of '\" + A.Primitives_objectTypeName(this._receiver) + \"'\");\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::Closure._computeSignatureFunctionNewRti": {
         "id": "function/dart:_js_helper::Closure._computeSignatureFunctionNewRti",
         "kind": "function",
         "name": "_computeSignatureFunctionNewRti",
-        "size": 596,
+        "size": 573,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::Closure",
         "children": [],
@@ -4151,30 +4117,31 @@
         "parameters": [
           {
             "name": "functionType",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
             "name": "isStatic",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           },
           {
             "name": "isIntercepted",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) {\n      if (typeof functionType == \"number\")\n        return functionType;\n      if (typeof functionType == \"string\") {\n        if (A.boolConversionCheck(isStatic))\n          throw A.wrapException(\"Cannot compute signature for static tearoff.\");\n        return function(recipe, evalOnReceiver) {\n          return function() {\n            return evalOnReceiver(this, recipe);\n          };\n        }(functionType, A.BoundClosure_evalRecipe);\n      }\n      throw A.wrapException(\"Error in functionType of tearoff\");\n    }",
-        "type": "dynamic Function(Object,bool,bool)"
+        "code": "Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) {\n      if (typeof functionType == \"number\")\n        return functionType;\n      if (typeof functionType == \"string\") {\n        if (isStatic)\n          throw A.wrapException(\"Cannot compute signature for static tearoff.\");\n        return function(recipe, evalOnReceiver) {\n          return function() {\n            return evalOnReceiver(this, recipe);\n          };\n        }(functionType, A.BoundClosure_evalRecipe);\n      }\n      throw A.wrapException(\"Error in functionType of tearoff\");\n    }",
+        "type": "dynamic Function(Object,bool,bool)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.cspForwardCall": {
         "id": "function/dart:_js_helper::Closure.cspForwardCall",
         "kind": "function",
         "name": "cspForwardCall",
-        "size": 1644,
+        "size": 1621,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::Closure",
         "children": [],
@@ -4194,12 +4161,12 @@
           },
           {
             "name": "needsDirectAccess",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           },
           {
             "name": "stubName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String?"
           },
           {
@@ -4210,14 +4177,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) {\n      var getReceiver = A.BoundClosure_receiverOf;\n      switch (A.boolConversionCheck(needsDirectAccess) ? -1 : arity) {\n        case 0:\n          return function(entry, receiverOf) {\n            return function() {\n              return receiverOf(this)[entry]();\n            };\n          }(stubName, getReceiver);\n        case 1:\n          return function(entry, receiverOf) {\n            return function(a) {\n              return receiverOf(this)[entry](a);\n            };\n          }(stubName, getReceiver);\n        case 2:\n          return function(entry, receiverOf) {\n            return function(a, b) {\n              return receiverOf(this)[entry](a, b);\n            };\n          }(stubName, getReceiver);\n        case 3:\n          return function(entry, receiverOf) {\n            return function(a, b, c) {\n              return receiverOf(this)[entry](a, b, c);\n            };\n          }(stubName, getReceiver);\n        case 4:\n          return function(entry, receiverOf) {\n            return function(a, b, c, d) {\n              return receiverOf(this)[entry](a, b, c, d);\n            };\n          }(stubName, getReceiver);\n        case 5:\n          return function(entry, receiverOf) {\n            return function(a, b, c, d, e) {\n              return receiverOf(this)[entry](a, b, c, d, e);\n            };\n          }(stubName, getReceiver);\n        default:\n          return function(f, receiverOf) {\n            return function() {\n              return f.apply(receiverOf(this), arguments);\n            };\n          }($function, getReceiver);\n      }\n    }",
-        "type": "dynamic Function(int,bool,String?,dynamic)"
+        "code": "Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) {\n      var getReceiver = A.BoundClosure_receiverOf;\n      switch (needsDirectAccess ? -1 : arity) {\n        case 0:\n          return function(entry, receiverOf) {\n            return function() {\n              return receiverOf(this)[entry]();\n            };\n          }(stubName, getReceiver);\n        case 1:\n          return function(entry, receiverOf) {\n            return function(a) {\n              return receiverOf(this)[entry](a);\n            };\n          }(stubName, getReceiver);\n        case 2:\n          return function(entry, receiverOf) {\n            return function(a, b) {\n              return receiverOf(this)[entry](a, b);\n            };\n          }(stubName, getReceiver);\n        case 3:\n          return function(entry, receiverOf) {\n            return function(a, b, c) {\n              return receiverOf(this)[entry](a, b, c);\n            };\n          }(stubName, getReceiver);\n        case 4:\n          return function(entry, receiverOf) {\n            return function(a, b, c, d) {\n              return receiverOf(this)[entry](a, b, c, d);\n            };\n          }(stubName, getReceiver);\n        case 5:\n          return function(entry, receiverOf) {\n            return function(a, b, c, d, e) {\n              return receiverOf(this)[entry](a, b, c, d, e);\n            };\n          }(stubName, getReceiver);\n        default:\n          return function(f, receiverOf) {\n            return function() {\n              return f.apply(receiverOf(this), arguments);\n            };\n          }($function, getReceiver);\n      }\n    }",
+        "type": "dynamic Function(int,bool,String?,dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.cspForwardInterceptedCall": {
         "id": "function/dart:_js_helper::Closure.cspForwardInterceptedCall",
         "kind": "function",
         "name": "cspForwardInterceptedCall",
-        "size": 2256,
+        "size": 2233,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::Closure",
         "children": [],
@@ -4237,12 +4205,12 @@
           },
           {
             "name": "needsDirectAccess",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           },
           {
             "name": "stubName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String?"
           },
           {
@@ -4253,14 +4221,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) {\n      var getReceiver = A.BoundClosure_receiverOf,\n        getInterceptor = A.BoundClosure_interceptorOf;\n      switch (A.boolConversionCheck(needsDirectAccess) ? -1 : arity) {\n        case 0:\n          throw A.wrapException(new A.RuntimeError(\"Intercepted function with no arguments.\"));\n        case 1:\n          return function(entry, interceptorOf, receiverOf) {\n            return function() {\n              return interceptorOf(this)[entry](receiverOf(this));\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 2:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a) {\n              return interceptorOf(this)[entry](receiverOf(this), a);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 3:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 4:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 5:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c, d) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c, d);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 6:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c, d, e) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        default:\n          return function(f, interceptorOf, receiverOf) {\n            return function() {\n              var a = [receiverOf(this)];\n              Array.prototype.push.apply(a, arguments);\n              return f.apply(interceptorOf(this), a);\n            };\n          }($function, getInterceptor, getReceiver);\n      }\n    }",
-        "type": "dynamic Function(int,bool,String?,dynamic)"
+        "code": "Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) {\n      var getReceiver = A.BoundClosure_receiverOf,\n        getInterceptor = A.BoundClosure_interceptorOf;\n      switch (needsDirectAccess ? -1 : arity) {\n        case 0:\n          throw A.wrapException(new A.RuntimeError(\"Intercepted function with no arguments.\"));\n        case 1:\n          return function(entry, interceptorOf, receiverOf) {\n            return function() {\n              return interceptorOf(this)[entry](receiverOf(this));\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 2:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a) {\n              return interceptorOf(this)[entry](receiverOf(this), a);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 3:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 4:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 5:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c, d) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c, d);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        case 6:\n          return function(entry, interceptorOf, receiverOf) {\n            return function(a, b, c, d, e) {\n              return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e);\n            };\n          }(stubName, getInterceptor, getReceiver);\n        default:\n          return function(f, interceptorOf, receiverOf) {\n            return function() {\n              var a = [receiverOf(this)];\n              Array.prototype.push.apply(a, arguments);\n              return f.apply(interceptorOf(this), a);\n            };\n          }($function, getInterceptor, getReceiver);\n      }\n    }",
+        "type": "dynamic Function(int,bool,String?,dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.forwardCallTo": {
         "id": "function/dart:_js_helper::Closure.forwardCallTo",
         "kind": "function",
         "name": "forwardCallTo",
-        "size": 377,
+        "size": 354,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::Closure",
         "children": [],
@@ -4275,7 +4244,7 @@
         "parameters": [
           {
             "name": "stubName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -4285,19 +4254,20 @@
           },
           {
             "name": "isIntercepted",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           },
           {
             "name": "needsDirectAccess",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) {\n      var arity, t1;\n      if (A.boolConversionCheck(isIntercepted))\n        return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess);\n      arity = $function.length;\n      t1 = A.Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function);\n      return t1;\n    }",
-        "type": "dynamic Function(String,dynamic,bool,bool)"
+        "code": "Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) {\n      var arity, t1;\n      if (isIntercepted)\n        return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess);\n      arity = $function.length;\n      t1 = A.Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function);\n      return t1;\n    }",
+        "type": "dynamic Function(String,dynamic,bool,bool)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.forwardInterceptedCallTo": {
         "id": "function/dart:_js_helper::Closure.forwardInterceptedCallTo",
@@ -4318,7 +4288,7 @@
         "parameters": [
           {
             "name": "stubName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -4328,20 +4298,21 @@
           },
           {
             "name": "needsDirectAccess",
-            "type": "[null|subtype=bool]",
+            "type": "[subtype=bool]",
             "declaredType": "bool"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess) {\n      var arity, t1;\n      if ($.BoundClosure__interceptorFieldNameCache == null)\n        $.BoundClosure__interceptorFieldNameCache = A.BoundClosure__computeFieldNamed(\"interceptor\");\n      if ($.BoundClosure__receiverFieldNameCache == null)\n        $.BoundClosure__receiverFieldNameCache = A.BoundClosure__computeFieldNamed(\"receiver\");\n      arity = $function.length;\n      t1 = A.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function);\n      return t1;\n    }",
-        "type": "dynamic Function(String,dynamic,bool)"
+        "type": "dynamic Function(String,dynamic,bool)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.fromTearOff": {
         "id": "function/dart:_js_helper::Closure.fromTearOff",
         "kind": "function",
         "name": "fromTearOff",
-        "size": 2339,
+        "size": 2300,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::Closure",
         "children": [],
@@ -4362,8 +4333,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Closure_fromTearOff(parameters) {\n      var $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName,\n        container = parameters.co,\n        isStatic = parameters.iS,\n        isIntercepted = parameters.iI,\n        needsDirectAccess = parameters.nDA,\n        applyTrampolineIndex = parameters.aI,\n        funsOrNames = parameters.fs,\n        callNames = parameters.cs,\n        $name = funsOrNames[0],\n        callName = callNames[0],\n        $function = container[$name],\n        t1 = parameters.fT;\n      t1.toString;\n      A.boolConversionCheck(isStatic);\n      $prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype);\n      $prototype.$initialize = $prototype.constructor;\n      if (isStatic)\n        $constructor = function static_tear_off() {\n          this.$initialize();\n        };\n      else\n        $constructor = function tear_off(a, b) {\n          this.$initialize(a, b);\n        };\n      $prototype.constructor = $constructor;\n      $constructor.prototype = $prototype;\n      $prototype.$_name = $name;\n      $prototype.$_target = $function;\n      t2 = !isStatic;\n      if (t2)\n        trampoline = A.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess);\n      else {\n        $prototype.$static_name = $name;\n        trampoline = $function;\n      }\n      $prototype.$signature = A.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted);\n      $prototype[callName] = trampoline;\n      for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) {\n        stub = funsOrNames[i];\n        if (typeof stub == \"string\") {\n          stub0 = container[stub];\n          stubName = stub;\n          stub = stub0;\n        } else\n          stubName = \"\";\n        stubCallName = callNames[i];\n        if (stubCallName != null) {\n          if (t2)\n            stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess);\n          $prototype[stubCallName] = stub;\n        }\n        if (i === applyTrampolineIndex)\n          applyTrampoline = stub;\n      }\n      $prototype[\"call*\"] = applyTrampoline;\n      $prototype.$requiredArgCount = parameters.rC;\n      $prototype.$defaultValues = parameters.dV;\n      return $constructor;\n    }",
-        "type": "dynamic Function(Object?)"
+        "code": "Closure_fromTearOff(parameters) {\n      var $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName,\n        container = parameters.co,\n        isStatic = parameters.iS,\n        isIntercepted = parameters.iI,\n        needsDirectAccess = parameters.nDA,\n        applyTrampolineIndex = parameters.aI,\n        funsOrNames = parameters.fs,\n        callNames = parameters.cs,\n        $name = funsOrNames[0],\n        callName = callNames[0],\n        $function = container[$name],\n        t1 = parameters.fT;\n      t1.toString;\n      $prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype);\n      $prototype.$initialize = $prototype.constructor;\n      if (isStatic)\n        $constructor = function static_tear_off() {\n          this.$initialize();\n        };\n      else\n        $constructor = function tear_off(a, b) {\n          this.$initialize(a, b);\n        };\n      $prototype.constructor = $constructor;\n      $constructor.prototype = $prototype;\n      $prototype.$_name = $name;\n      $prototype.$_target = $function;\n      t2 = !isStatic;\n      if (t2)\n        trampoline = A.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess);\n      else {\n        $prototype.$static_name = $name;\n        trampoline = $function;\n      }\n      $prototype.$signature = A.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted);\n      $prototype[callName] = trampoline;\n      for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) {\n        stub = funsOrNames[i];\n        if (typeof stub == \"string\") {\n          stub0 = container[stub];\n          stubName = stub;\n          stub = stub0;\n        } else\n          stubName = \"\";\n        stubCallName = callNames[i];\n        if (stubCallName != null) {\n          if (t2)\n            stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess);\n          $prototype[stubCallName] = stub;\n        }\n        if (i === applyTrampolineIndex)\n          applyTrampoline = stub;\n      }\n      $prototype[\"call*\"] = applyTrampoline;\n      $prototype.$requiredArgCount = parameters.rC;\n      $prototype.$defaultValues = parameters.dV;\n      return $constructor;\n    }",
+        "type": "dynamic Function(Object?)",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.isCsp": {
         "id": "function/dart:_js_helper::Closure.isCsp",
@@ -4385,7 +4357,8 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::Closure.toString": {
         "id": "function/dart:_js_helper::Closure.toString",
@@ -4407,7 +4380,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var $constructor = this.constructor,\n        $name = $constructor == null ? null : $constructor.name;\n      return \"Closure '\" + A.unminifyOrTag($name == null ? \"unknown\" : $name) + \"'\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::DeferredNotLoadedError.DeferredNotLoadedError": {
         "id": "function/dart:_js_helper::DeferredNotLoadedError.DeferredNotLoadedError",
@@ -4428,20 +4402,21 @@
         "parameters": [
           {
             "name": "libraryName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:_js_helper::DeferredNotLoadedError.toString": {
         "id": "function/dart:_js_helper::DeferredNotLoadedError.toString",
         "kind": "function",
         "name": "toString",
-        "size": 100,
+        "size": 95,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::DeferredNotLoadedError",
         "children": [],
@@ -4456,8 +4431,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(_) {\n      return \"Deferred library \" + A.S(this.libraryName) + \" was not loaded.\";\n    }",
-        "type": "String Function()"
+        "code": "toString$0(_) {\n      return \"Deferred library \" + this.libraryName + \" was not loaded.\";\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::ExceptionAndStackTrace.ExceptionAndStackTrace": {
         "id": "function/dart:_js_helper::ExceptionAndStackTrace.ExceptionAndStackTrace",
@@ -4483,14 +4459,15 @@
           },
           {
             "name": "stackTrace",
-            "type": "[null|subtype=StackTrace]",
+            "type": "[subtype=StackTrace]",
             "declaredType": "StackTrace"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(dynamic,StackTrace)"
+        "type": "dynamic Function(dynamic,StackTrace)",
+        "functionKind": 3
       },
       "dart:_js_helper::JsLinkedHashMap.JsLinkedHashMap": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.JsLinkedHashMap",
@@ -4512,7 +4489,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:_js_helper::JsLinkedHashMap.[]": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.[]",
@@ -4540,7 +4518,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "$index(_, key) {\n      var strings, cell, t1, nums, _null = null;\n      if (typeof key == \"string\") {\n        strings = this.__js_helper$_strings;\n        if (strings == null)\n          return _null;\n        cell = strings[key];\n        t1 = cell == null ? _null : cell.hashMapCellValue;\n        return t1;\n      } else if (typeof key == \"number\" && (key & 0x3fffffff) === key) {\n        nums = this.__js_helper$_nums;\n        if (nums == null)\n          return _null;\n        cell = nums[key];\n        t1 = cell == null ? _null : cell.hashMapCellValue;\n        return t1;\n      } else\n        return this.internalGet$1(key);\n    }",
-        "type": "JsLinkedHashMap.V? Function(Object?)"
+        "type": "JsLinkedHashMap.V? Function(Object?)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap.[]=": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.[]=",
@@ -4573,7 +4552,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "$indexSet(_, key, value) {\n      var strings, nums, rest, hash, bucket, index, _this = this,\n        t1 = _this.$ti;\n      t1._precomputed1._as(key);\n      t1._rest[1]._as(value);\n      if (typeof key == \"string\") {\n        strings = _this.__js_helper$_strings;\n        _this.__js_helper$_addHashTableEntry$3(strings == null ? _this.__js_helper$_strings = _this._newHashTable$0() : strings, key, value);\n      } else if (typeof key == \"number\" && (key & 0x3fffffff) === key) {\n        nums = _this.__js_helper$_nums;\n        _this.__js_helper$_addHashTableEntry$3(nums == null ? _this.__js_helper$_nums = _this._newHashTable$0() : nums, key, value);\n      } else {\n        rest = _this.__js_helper$_rest;\n        if (rest == null)\n          rest = _this.__js_helper$_rest = _this._newHashTable$0();\n        hash = J.get$hashCode$(key) & 0x3fffffff;\n        bucket = rest[hash];\n        if (bucket == null)\n          rest[hash] = [_this.__js_helper$_newLinkedCell$2(key, value)];\n        else {\n          index = _this.internalFindBucketIndex$2(bucket, key);\n          if (index >= 0)\n            bucket[index].hashMapCellValue = value;\n          else\n            bucket.push(_this.__js_helper$_newLinkedCell$2(key, value));\n        }\n      }\n    }",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap._addHashTableEntry": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._addHashTableEntry",
@@ -4611,7 +4591,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "__js_helper$_addHashTableEntry$3(table, key, value) {\n      var cell,\n        t1 = this.$ti;\n      t1._precomputed1._as(key);\n      t1._rest[1]._as(value);\n      cell = table[key];\n      if (cell == null)\n        table[key] = this.__js_helper$_newLinkedCell$2(key, value);\n      else\n        cell.hashMapCellValue = value;\n    }",
-        "type": "void Function(dynamic,Object?,Object?)"
+        "type": "void Function(dynamic,Object?,Object?)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap._deleteTableEntry": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._deleteTableEntry",
@@ -4644,7 +4625,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(dynamic,dynamic)"
+        "type": "void Function(dynamic,dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap._getBucket": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._getBucket",
@@ -4677,7 +4659,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "List<LinkedHashMapCell>? Function(dynamic,dynamic)"
+        "type": "List<LinkedHashMapCell>? Function(dynamic,dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap._getTableBucket": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._getTableBucket",
@@ -4710,7 +4693,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "List<LinkedHashMapCell>? Function(dynamic,dynamic)"
+        "type": "List<LinkedHashMapCell>? Function(dynamic,dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap._getTableCell": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._getTableCell",
@@ -4743,7 +4727,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "LinkedHashMapCell? Function(dynamic,dynamic)"
+        "type": "LinkedHashMapCell? Function(dynamic,dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap._isNumericKey": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._isNumericKey",
@@ -4771,7 +4756,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(dynamic)"
+        "type": "bool Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::JsLinkedHashMap._isStringKey": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._isStringKey",
@@ -4799,7 +4785,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(dynamic)"
+        "type": "bool Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::JsLinkedHashMap._modified": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._modified",
@@ -4821,7 +4808,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap._newHashTable": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._newHashTable",
@@ -4843,7 +4831,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_newHashTable$0() {\n      var table = Object.create(null);\n      table[\"<non-identifier-key>\"] = table;\n      delete table[\"<non-identifier-key>\"];\n      return table;\n    }",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap._newLinkedCell": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._newLinkedCell",
@@ -4876,7 +4865,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 0,
         "code": "__js_helper$_newLinkedCell$2(key, value) {\n      var _this = this,\n        t1 = _this.$ti,\n        cell = new A.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value));\n      if (_this.__js_helper$_first == null)\n        _this.__js_helper$_first = _this.__js_helper$_last = cell;\n      else\n        _this.__js_helper$_last = _this.__js_helper$_last.__js_helper$_next = cell;\n      ++_this.__js_helper$_length;\n      _this.__js_helper$_modifications = _this.__js_helper$_modifications + 1 & 1073741823;\n      return cell;\n    }",
-        "type": "LinkedHashMapCell Function(Object?,Object?)"
+        "type": "LinkedHashMapCell Function(Object?,Object?)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap._setTableEntry": {
         "id": "function/dart:_js_helper::JsLinkedHashMap._setTableEntry",
@@ -4914,7 +4904,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "",
-        "type": "void Function(dynamic,dynamic,dynamic)"
+        "type": "void Function(dynamic,dynamic,dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap.forEach": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.forEach",
@@ -4942,7 +4933,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "forEach$1(_, action) {\n      var cell, modifications, _this = this;\n      _this.$ti._eval$1(\"~(1,2)\")._as(action);\n      cell = _this.__js_helper$_first;\n      modifications = _this.__js_helper$_modifications;\n      for (; cell != null;) {\n        action.call$2(cell.hashMapCellKey, cell.hashMapCellValue);\n        if (modifications !== _this.__js_helper$_modifications)\n          throw A.wrapException(A.ConcurrentModificationError$(_this));\n        cell = cell.__js_helper$_next;\n      }\n    }",
-        "type": "void Function(void Function(JsLinkedHashMap.K,JsLinkedHashMap.V))"
+        "type": "void Function(void Function(JsLinkedHashMap.K,JsLinkedHashMap.V))",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap.internalComputeHashCode": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.internalComputeHashCode",
@@ -4970,7 +4962,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "int Function(dynamic)"
+        "type": "int Function(dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap.internalFindBucketIndex": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.internalFindBucketIndex",
@@ -5003,7 +4996,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "internalFindBucketIndex$2(bucket, key) {\n      var $length, i;\n      if (bucket == null)\n        return -1;\n      $length = bucket.length;\n      for (i = 0; i < $length; ++i)\n        if (J.$eq$(bucket[i].hashMapCellKey, key))\n          return i;\n      return -1;\n    }",
-        "type": "int Function(dynamic,dynamic)"
+        "type": "int Function(dynamic,dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap.internalGet": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.internalGet",
@@ -5031,7 +5025,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "internalGet$1(key) {\n      var bucket, index,\n        rest = this.__js_helper$_rest;\n      if (rest == null)\n        return null;\n      bucket = rest[J.get$hashCode$(key) & 0x3fffffff];\n      index = this.internalFindBucketIndex$2(bucket, key);\n      if (index < 0)\n        return null;\n      return bucket[index].hashMapCellValue;\n    }",
-        "type": "JsLinkedHashMap.V? Function(Object?)"
+        "type": "JsLinkedHashMap.V? Function(Object?)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap.internalSet": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.internalSet",
@@ -5064,7 +5059,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap.keys": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.keys",
@@ -5086,7 +5082,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Iterable<JsLinkedHashMap.K> Function()"
+        "type": "Iterable<JsLinkedHashMap.K> Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap.length": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.length",
@@ -5108,7 +5105,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "get$length(_) {\n      return this.__js_helper$_length;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::JsLinkedHashMap.toString": {
         "id": "function/dart:_js_helper::JsLinkedHashMap.toString",
@@ -5130,7 +5128,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return A.MapBase_mapToString(this);\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::JsNoSuchMethodError.JsNoSuchMethodError": {
         "id": "function/dart:_js_helper::JsNoSuchMethodError.JsNoSuchMethodError",
@@ -5151,7 +5150,7 @@
         "parameters": [
           {
             "name": "_message",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -5163,13 +5162,14 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "JsNoSuchMethodError$(_message, match) {\n      var t1 = match == null,\n        t2 = t1 ? null : match.method;\n      return new A.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver);\n    }",
-        "type": "dynamic Function(String,dynamic)"
+        "type": "dynamic Function(String,dynamic)",
+        "functionKind": 3
       },
       "dart:_js_helper::JsNoSuchMethodError.toString": {
         "id": "function/dart:_js_helper::JsNoSuchMethodError.toString",
         "kind": "function",
         "name": "toString",
-        "size": 443,
+        "size": 428,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::JsNoSuchMethodError",
         "children": [],
@@ -5184,8 +5184,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(_) {\n      var t2, _this = this,\n        _s38_ = \"NoSuchMethodError: method not found: '\",\n        t1 = _this._method;\n      if (t1 == null)\n        return \"NoSuchMethodError: \" + A.S(_this.__js_helper$_message);\n      t2 = _this._receiver;\n      if (t2 == null)\n        return _s38_ + t1 + \"' (\" + A.S(_this.__js_helper$_message) + \")\";\n      return _s38_ + t1 + \"' on '\" + t2 + \"' (\" + A.S(_this.__js_helper$_message) + \")\";\n    }",
-        "type": "String Function()"
+        "code": "toString$0(_) {\n      var t2, _this = this,\n        _s38_ = \"NoSuchMethodError: method not found: '\",\n        t1 = _this._method;\n      if (t1 == null)\n        return \"NoSuchMethodError: \" + _this.__js_helper$_message;\n      t2 = _this._receiver;\n      if (t2 == null)\n        return _s38_ + t1 + \"' (\" + _this.__js_helper$_message + \")\";\n      return _s38_ + t1 + \"' on '\" + t2 + \"' (\" + _this.__js_helper$_message + \")\";\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::LinkedHashMapCell.LinkedHashMapCell": {
         "id": "function/dart:_js_helper::LinkedHashMapCell.LinkedHashMapCell",
@@ -5218,7 +5219,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(dynamic,dynamic)"
+        "type": "dynamic Function(dynamic,dynamic)",
+        "functionKind": 3
       },
       "dart:_js_helper::LinkedHashMapKeyIterable.LinkedHashMapKeyIterable": {
         "id": "function/dart:_js_helper::LinkedHashMapKeyIterable.LinkedHashMapKeyIterable",
@@ -5246,7 +5248,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(JsLinkedHashMap<dynamic,dynamic>)"
+        "type": "dynamic Function(JsLinkedHashMap<dynamic,dynamic>)",
+        "functionKind": 3
       },
       "dart:_js_helper::LinkedHashMapKeyIterable.length": {
         "id": "function/dart:_js_helper::LinkedHashMapKeyIterable.length",
@@ -5268,7 +5271,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::NullError.NullError": {
         "id": "function/dart:_js_helper::NullError.NullError",
@@ -5289,7 +5293,7 @@
         "parameters": [
           {
             "name": "_message",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -5301,13 +5305,14 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "dynamic Function(String,dynamic)"
+        "type": "dynamic Function(String,dynamic)",
+        "functionKind": 3
       },
       "dart:_js_helper::NullError.toString": {
         "id": "function/dart:_js_helper::NullError.toString",
         "kind": "function",
         "name": "toString",
-        "size": 217,
+        "size": 212,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::NullError",
         "children": [],
@@ -5322,8 +5327,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(_) {\n      var t1 = this._method;\n      if (t1 == null)\n        return \"NoSuchMethodError: \" + A.S(this.__js_helper$_message);\n      return \"NoSuchMethodError: method not found: '\" + t1 + \"' on null\";\n    }",
-        "type": "String Function()"
+        "code": "toString$0(_) {\n      var t1 = this._method;\n      if (t1 == null)\n        return \"NoSuchMethodError: \" + this.__js_helper$_message;\n      return \"NoSuchMethodError: method not found: '\" + t1 + \"' on null\";\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::NullThrownFromJavaScriptException.NullThrownFromJavaScriptException": {
         "id": "function/dart:_js_helper::NullThrownFromJavaScriptException.NullThrownFromJavaScriptException",
@@ -5351,7 +5357,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 3
       },
       "dart:_js_helper::NullThrownFromJavaScriptException.toString": {
         "id": "function/dart:_js_helper::NullThrownFromJavaScriptException.toString",
@@ -5373,7 +5380,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"Throw of null ('\" + (this._irritant === null ? \"null\" : \"undefined\") + \"' from JavaScript)\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::Primitives._computeIdentityHashCodeProperty": {
         "id": "function/dart:_js_helper::Primitives._computeIdentityHashCodeProperty",
@@ -5395,7 +5403,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object Function()"
+        "type": "Object Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives._objectTypeNameNewRti": {
         "id": "function/dart:_js_helper::Primitives._objectTypeNameNewRti",
@@ -5412,7 +5421,7 @@
           "external": false
         },
         "returnType": "String",
-        "inferredReturnType": "[null|exact=JSString]",
+        "inferredReturnType": "[exact=JSString]",
         "parameters": [
           {
             "name": "object",
@@ -5423,7 +5432,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Primitives__objectTypeNameNewRti(object) {\n      var interceptor, dispatchName, t1, $constructor, constructorName;\n      if (object instanceof A.Object)\n        return A._rtiToString(A.instanceType(object), null);\n      interceptor = J.getInterceptor$(object);\n      if (interceptor === B.Interceptor_methods || interceptor === B.JavaScriptObject_methods || type$.UnknownJavaScriptObject._is(object)) {\n        dispatchName = B.C_JS_CONST(object);\n        t1 = dispatchName !== \"Object\" && dispatchName !== \"\";\n        if (t1)\n          return dispatchName;\n        $constructor = object.constructor;\n        if (typeof $constructor == \"function\") {\n          constructorName = $constructor.name;\n          if (typeof constructorName == \"string\")\n            t1 = constructorName !== \"Object\" && constructorName !== \"\";\n          else\n            t1 = false;\n          if (t1)\n            return constructorName;\n        }\n      }\n      return A._rtiToString(A.instanceType(object), null);\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives._saneNativeClassName": {
         "id": "function/dart:_js_helper::Primitives._saneNativeClassName",
@@ -5451,7 +5461,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(dynamic)"
+        "type": "bool Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives.extractStackTrace": {
         "id": "function/dart:_js_helper::Primitives.extractStackTrace",
@@ -5468,7 +5479,7 @@
           "external": false
         },
         "returnType": "StackTrace",
-        "inferredReturnType": "[null|subtype=StackTrace]",
+        "inferredReturnType": "[subtype=StackTrace]",
         "parameters": [
           {
             "name": "error",
@@ -5479,7 +5490,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "StackTrace Function(Error)"
+        "type": "StackTrace Function(Error)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives.flattenString": {
         "id": "function/dart:_js_helper::Primitives.flattenString",
@@ -5507,7 +5519,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives.objectHashCode": {
         "id": "function/dart:_js_helper::Primitives.objectHashCode",
@@ -5535,7 +5548,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Primitives_objectHashCode(object) {\n      var hash,\n        property = $.Primitives__identityHashCodeProperty;\n      if (property == null)\n        property = $.Primitives__identityHashCodeProperty = Symbol(\"identityHashCode\");\n      hash = object[property];\n      if (hash == null) {\n        hash = Math.random() * 0x3fffffff | 0;\n        object[property] = hash;\n      }\n      return hash;\n    }",
-        "type": "int Function(dynamic)"
+        "type": "int Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives.objectToHumanReadableString": {
         "id": "function/dart:_js_helper::Primitives.objectToHumanReadableString",
@@ -5563,7 +5577,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives.objectTypeName": {
         "id": "function/dart:_js_helper::Primitives.objectTypeName",
@@ -5580,7 +5595,7 @@
           "external": false
         },
         "returnType": "String",
-        "inferredReturnType": "[null|exact=JSString]",
+        "inferredReturnType": "[exact=JSString]",
         "parameters": [
           {
             "name": "object",
@@ -5591,7 +5606,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Primitives_objectTypeName(object) {\n      return A.Primitives__objectTypeNameNewRti(object);\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_js_helper::Primitives.stringConcatUnchecked": {
         "id": "function/dart:_js_helper::Primitives.stringConcatUnchecked",
@@ -5624,7 +5640,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 11,
         "code": "",
-        "type": "String Function(String,String)"
+        "type": "String Function(String,String)",
+        "functionKind": 0
       },
       "dart:_js_helper::RuntimeError.RuntimeError": {
         "id": "function/dart:_js_helper::RuntimeError.RuntimeError",
@@ -5652,7 +5669,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 3
       },
       "dart:_js_helper::RuntimeError.toString": {
         "id": "function/dart:_js_helper::RuntimeError.toString",
@@ -5674,13 +5692,14 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"RuntimeError: \" + this.message;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::S": {
         "id": "function/dart:_js_helper::S",
         "kind": "function",
         "name": "S",
-        "size": 550,
+        "size": 407,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "children": [],
@@ -5701,8 +5720,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "S(value) {\n      var result;\n      if (typeof value == \"string\")\n        return value;\n      if (typeof value == \"number\") {\n        if (value !== 0)\n          return \"\" + value;\n      } else if (true === value)\n        return \"true\";\n      else if (false === value)\n        return \"false\";\n      else if (value == null)\n        return \"null\";\n      result = J.toString$0$(value);\n      if (typeof result != \"string\")\n        throw A.wrapException(A.ArgumentError$value(value, \"object\", \"toString method returned 'null'\"));\n      return result;\n    }",
-        "type": "String Function(dynamic)"
+        "code": "S(value) {\n      var result;\n      if (typeof value == \"string\")\n        return value;\n      if (typeof value == \"number\") {\n        if (value !== 0)\n          return \"\" + value;\n      } else if (true === value)\n        return \"true\";\n      else if (false === value)\n        return \"false\";\n      else if (value == null)\n        return \"null\";\n      result = J.toString$0$(value);\n      return result;\n    }",
+        "type": "String Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::StaticClosure.StaticClosure": {
         "id": "function/dart:_js_helper::StaticClosure.StaticClosure",
@@ -5724,7 +5744,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:_js_helper::StaticClosure.toString": {
         "id": "function/dart:_js_helper::StaticClosure.toString",
@@ -5746,7 +5767,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var $name = this.$static_name;\n      if ($name == null)\n        return \"Closure of unknown static method\";\n      return \"Closure '\" + A.unminifyOrTag($name) + \"'\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::TypeErrorDecoder.TypeErrorDecoder": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.TypeErrorDecoder",
@@ -5799,7 +5821,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(int,int,int,int,int,String)"
+        "type": "dynamic Function(int,int,int,int,int,String)",
+        "functionKind": 3
       },
       "dart:_js_helper::TypeErrorDecoder.buildJavaScriptObject": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.buildJavaScriptObject",
@@ -5821,7 +5844,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::TypeErrorDecoder.buildJavaScriptObjectWithNonClosure": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.buildJavaScriptObjectWithNonClosure",
@@ -5843,7 +5867,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::TypeErrorDecoder.extractPattern": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.extractPattern",
@@ -5871,7 +5896,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "TypeErrorDecoder_extractPattern(message) {\n      var match, $arguments, argumentsExpr, expr, method, receiver;\n      message = A.quoteStringForRegExp(message.replace(String({}), \"$receiver$\"));\n      match = message.match(/\\\\\\$[a-zA-Z]+\\\\\\$/g);\n      if (match == null)\n        match = A._setArrayType([], type$.JSArray_String);\n      $arguments = match.indexOf(\"\\\\$arguments\\\\$\");\n      argumentsExpr = match.indexOf(\"\\\\$argumentsExpr\\\\$\");\n      expr = match.indexOf(\"\\\\$expr\\\\$\");\n      method = match.indexOf(\"\\\\$method\\\\$\");\n      receiver = match.indexOf(\"\\\\$receiver\\\\$\");\n      return new A.TypeErrorDecoder(message.replace(new RegExp(\"\\\\\\\\\\\\$arguments\\\\\\\\\\\\$\", \"g\"), \"((?:x|[^x])*)\").replace(new RegExp(\"\\\\\\\\\\\\$argumentsExpr\\\\\\\\\\\\$\", \"g\"), \"((?:x|[^x])*)\").replace(new RegExp(\"\\\\\\\\\\\\$expr\\\\\\\\\\\\$\", \"g\"), \"((?:x|[^x])*)\").replace(new RegExp(\"\\\\\\\\\\\\$method\\\\\\\\\\\\$\", \"g\"), \"((?:x|[^x])*)\").replace(new RegExp(\"\\\\\\\\\\\\$receiver\\\\\\\\\\\\$\", \"g\"), \"((?:x|[^x])*)\"), $arguments, argumentsExpr, expr, method, receiver);\n    }",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::TypeErrorDecoder.matchTypeError": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.matchTypeError",
@@ -5899,7 +5925,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "matchTypeError$1(message) {\n      var result, t1, _this = this,\n        match = new RegExp(_this._pattern).exec(message);\n      if (match == null)\n        return null;\n      result = Object.create(null);\n      t1 = _this._arguments;\n      if (t1 !== -1)\n        result.arguments = match[t1 + 1];\n      t1 = _this._argumentsExpr;\n      if (t1 !== -1)\n        result.argumentsExpr = match[t1 + 1];\n      t1 = _this._expr;\n      if (t1 !== -1)\n        result.expr = match[t1 + 1];\n      t1 = _this._method;\n      if (t1 !== -1)\n        result.method = match[t1 + 1];\n      t1 = _this._receiver;\n      if (t1 !== -1)\n        result.receiver = match[t1 + 1];\n      return result;\n    }",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::TypeErrorDecoder.provokeCallErrorOn": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.provokeCallErrorOn",
@@ -5927,7 +5954,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "TypeErrorDecoder_provokeCallErrorOn(expression) {\n      return function($expr$) {\n        var $argumentsExpr$ = \"$arguments$\";\n        try {\n          $expr$.$method$($argumentsExpr$);\n        } catch (e) {\n          return e.message;\n        }\n      }(expression);\n    }",
-        "type": "String Function(dynamic)"
+        "type": "String Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::TypeErrorDecoder.provokeCallErrorOnNull": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.provokeCallErrorOnNull",
@@ -5949,7 +5977,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::TypeErrorDecoder.provokeCallErrorOnUndefined": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.provokeCallErrorOnUndefined",
@@ -5971,7 +6000,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::TypeErrorDecoder.provokePropertyErrorOn": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.provokePropertyErrorOn",
@@ -5999,7 +6029,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "TypeErrorDecoder_provokePropertyErrorOn(expression) {\n      return function($expr$) {\n        try {\n          $expr$.$method$;\n        } catch (e) {\n          return e.message;\n        }\n      }(expression);\n    }",
-        "type": "String Function(dynamic)"
+        "type": "String Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::TypeErrorDecoder.provokePropertyErrorOnNull": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.provokePropertyErrorOnNull",
@@ -6021,7 +6052,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::TypeErrorDecoder.provokePropertyErrorOnUndefined": {
         "id": "function/dart:_js_helper::TypeErrorDecoder.provokePropertyErrorOnUndefined",
@@ -6043,7 +6075,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::UnknownJsTypeError.UnknownJsTypeError": {
         "id": "function/dart:_js_helper::UnknownJsTypeError.UnknownJsTypeError",
@@ -6071,7 +6104,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:_js_helper::UnknownJsTypeError.toString": {
         "id": "function/dart:_js_helper::UnknownJsTypeError.toString",
@@ -6093,7 +6127,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var t1 = this.__js_helper$_message;\n      return t1.length === 0 ? \"Error\" : \"Error: \" + t1;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::_AssertionError._AssertionError": {
         "id": "function/dart:_js_helper::_AssertionError._AssertionError",
@@ -6114,14 +6149,15 @@
         "parameters": [
           {
             "name": "message",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(Object)"
+        "type": "dynamic Function(Object)",
+        "functionKind": 3
       },
       "dart:_js_helper::_AssertionError.toString": {
         "id": "function/dart:_js_helper::_AssertionError.toString",
@@ -6143,7 +6179,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"Assertion failed: \" + A.Error_safeToString(this.message);\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::_StackTrace._StackTrace": {
         "id": "function/dart:_js_helper::_StackTrace._StackTrace",
@@ -6171,7 +6208,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 3
       },
       "dart:_js_helper::_StackTrace.toString": {
         "id": "function/dart:_js_helper::_StackTrace.toString",
@@ -6193,7 +6231,8 @@
         "sideEffects": "SideEffects(reads anything; writes field)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var trace,\n        t1 = this._trace;\n      if (t1 != null)\n        return t1;\n      t1 = this._exception;\n      trace = t1 !== null && typeof t1 === \"object\" ? t1.stack : null;\n      return this._trace = trace == null ? \"\" : trace;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::_computeBaseUrl": {
         "id": "function/dart:_js_helper::_computeBaseUrl",
@@ -6215,7 +6254,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::_computeCrossOrigin": {
         "id": "function/dart:_js_helper::_computeCrossOrigin",
@@ -6237,7 +6277,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "_computeCrossOrigin() {\n      var currentScript = init.currentScript;\n      if (currentScript == null)\n        return null;\n      return currentScript.crossOrigin;\n    }",
-        "type": "String? Function()"
+        "type": "String? Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::_computeCspNonce": {
         "id": "function/dart:_js_helper::_computeCspNonce",
@@ -6259,7 +6300,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_computeCspNonce() {\n      var nonce,\n        currentScript = init.currentScript;\n      if (currentScript == null)\n        return null;\n      nonce = currentScript.nonce;\n      return nonce != null && nonce !== \"\" ? nonce : currentScript.getAttribute(\"nonce\");\n    }",
-        "type": "String? Function()"
+        "type": "String? Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::_computePolicy": {
         "id": "function/dart:_js_helper::_computePolicy",
@@ -6281,13 +6323,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_computePolicy() {\n      var newPolicy,\n        policyOptions = {createScriptURL: url => url},\n        policyFactory = self.trustedTypes;\n      if (policyFactory == null)\n        return policyOptions;\n      newPolicy = policyFactory.createPolicy(\"dart:deferred-loading\", policyOptions);\n      return newPolicy == null ? policyOptions : newPolicy;\n    }",
-        "type": "Object Function()"
+        "type": "Object Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::_computeThisScript": {
         "id": "function/dart:_js_helper::_computeThisScript",
         "kind": "function",
         "name": "_computeThisScript",
-        "size": 285,
+        "size": 262,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "children": [],
@@ -6302,8 +6345,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_computeThisScript() {\n      var currentScript = init.currentScript;\n      if (currentScript != null)\n        return String(currentScript.src);\n      if (A.boolConversionCheck(!self.window && !!self.postMessage))\n        return A._computeThisScriptFromTrace();\n      return null;\n    }",
-        "type": "String? Function()"
+        "code": "_computeThisScript() {\n      var currentScript = init.currentScript;\n      if (currentScript != null)\n        return String(currentScript.src);\n      if (!self.window && !!self.postMessage)\n        return A._computeThisScriptFromTrace();\n      return null;\n    }",
+        "type": "String? Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::_computeThisScriptFromTrace": {
         "id": "function/dart:_js_helper::_computeThisScriptFromTrace",
@@ -6325,7 +6369,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_computeThisScriptFromTrace() {\n      var matches,\n        stack = new Error().stack;\n      if (stack == null) {\n        stack = function() {\n          try {\n            throw new Error();\n          } catch (e) {\n            return e.stack;\n          }\n        }();\n        if (stack == null)\n          throw A.wrapException(A.UnsupportedError$(\"No stack trace\"));\n      }\n      matches = stack.match(new RegExp(\"^ *at [^(]*\\\\((.*):[0-9]*:[0-9]*\\\\)$\", \"m\"));\n      if (matches != null)\n        return matches[1];\n      matches = stack.match(new RegExp(\"^[^@]*@(.*):[0-9]*$\", \"m\"));\n      if (matches != null)\n        return matches[1];\n      throw A.wrapException(A.UnsupportedError$('Cannot extract URI from \"' + stack + '\"'));\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::_encodeURIComponent": {
         "id": "function/dart:_js_helper::_encodeURIComponent",
@@ -6353,7 +6398,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::_getBasedScriptUrl": {
         "id": "function/dart:_js_helper::_getBasedScriptUrl",
@@ -6381,7 +6427,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object Function(String)"
+        "type": "Object Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::_isWorker": {
         "id": "function/dart:_js_helper::_isWorker",
@@ -6403,13 +6450,14 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::_loadHunk": {
         "id": "function/dart:_js_helper::_loadHunk",
         "kind": "function",
         "name": "_loadHunk",
-        "size": 5803,
+        "size": 5703,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "children": [
@@ -6437,14 +6485,15 @@
           },
           {
             "name": "loadId",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_loadHunk(hunkName, loadId) {\n      var uriAsString, deferredLibraryLoader, failure, jsSuccess, jsFailure, error, stackTrace, base, encodedComponent, trustedScriptUri, completer, t1, exception, xhr, script,\n        future = $.$get$_loadingLibraries().$index(0, hunkName);\n      B.JSArray_methods.add$1($._eventLog, \" - _loadHunk: \" + hunkName);\n      if (future != null) {\n        B.JSArray_methods.add$1($._eventLog, \"reuse: \" + hunkName);\n        return future.then$1$1(new A._loadHunk_closure(), type$.Null);\n      }\n      base = $.$get$_thisScriptBaseUrl();\n      encodedComponent = self.encodeURIComponent(hunkName);\n      trustedScriptUri = $.$get$_deferredLoadingTrustedTypesPolicy().createScriptURL(A.S(base) + \"/\" + A.S(encodedComponent));\n      uriAsString = trustedScriptUri.toString();\n      B.JSArray_methods.add$1($._eventLog, \" - download: \" + hunkName + \" from \" + A.S(uriAsString));\n      deferredLibraryLoader = self.dartDeferredLibraryLoader;\n      completer = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_Null), type$._AsyncCompleter_Null);\n      t1 = new A._loadHunk_success(hunkName, completer);\n      failure = new A._loadHunk_failure(hunkName, completer, uriAsString);\n      jsSuccess = A.convertDartClosureToJS(t1, 0);\n      jsFailure = A.convertDartClosureToJS(new A._loadHunk_closure0(failure), 1);\n      if (typeof deferredLibraryLoader === \"function\")\n        try {\n          deferredLibraryLoader(uriAsString, jsSuccess, jsFailure, loadId);\n        } catch (exception) {\n          error = A.unwrapException(exception);\n          stackTrace = A.getTraceFromException(exception);\n          failure.call$3(error, \"invoking dartDeferredLibraryLoader hook\", stackTrace);\n        }\n      else if (A.boolConversionCheck(!self.window && !!self.postMessage)) {\n        xhr = new XMLHttpRequest();\n        xhr.open(\"GET\", uriAsString);\n        xhr.addEventListener(\"load\", A.convertDartClosureToJS(new A._loadHunk_closure1(xhr, failure, t1), 1), false);\n        xhr.addEventListener(\"error\", new A._loadHunk_closure2(failure), false);\n        xhr.addEventListener(\"abort\", new A._loadHunk_closure3(failure), false);\n        xhr.send();\n      } else {\n        script = document.createElement(\"script\");\n        script.type = \"text/javascript\";\n        script.src = trustedScriptUri;\n        t1 = $.$get$_cspNonce();\n        if (t1 != null && t1 !== \"\") {\n          script.nonce = t1;\n          script.setAttribute(\"nonce\", $.$get$_cspNonce());\n        }\n        t1 = $.$get$_crossOrigin();\n        if (t1 != null && t1 !== \"\")\n          script.crossOrigin = t1;\n        script.addEventListener(\"load\", jsSuccess, false);\n        script.addEventListener(\"error\", jsFailure, false);\n        document.body.appendChild(script);\n      }\n      t1 = completer.future;\n      $.$get$_loadingLibraries().$indexSet(0, hunkName, t1);\n      return t1;\n    }",
-        "type": "Future<Null> Function(String,String)"
+        "code": "_loadHunk(hunkName, loadId) {\n      var uriAsString, deferredLibraryLoader, failure, jsSuccess, jsFailure, error, stackTrace, base, encodedComponent, t1, completer, t2, exception, xhr, script,\n        future = $.$get$_loadingLibraries().$index(0, hunkName);\n      B.JSArray_methods.add$1($._eventLog, \" - _loadHunk: \" + hunkName);\n      if (future != null) {\n        B.JSArray_methods.add$1($._eventLog, \"reuse: \" + hunkName);\n        return future.then$1$1(new A._loadHunk_closure(), type$.Null);\n      }\n      base = $.$get$_thisScriptBaseUrl();\n      encodedComponent = self.encodeURIComponent(hunkName);\n      t1 = $.$get$_deferredLoadingTrustedTypesPolicy().createScriptURL(base + encodedComponent);\n      uriAsString = t1.toString();\n      B.JSArray_methods.add$1($._eventLog, \" - download: \" + hunkName + \" from \" + A.S(uriAsString));\n      deferredLibraryLoader = self.dartDeferredLibraryLoader;\n      completer = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_Null), type$._AsyncCompleter_Null);\n      t2 = new A._loadHunk_success(hunkName, completer);\n      failure = new A._loadHunk_failure(hunkName, completer, uriAsString);\n      jsSuccess = A.convertDartClosureToJS(t2, 0);\n      jsFailure = A.convertDartClosureToJS(new A._loadHunk_closure0(failure), 1);\n      if (typeof deferredLibraryLoader === \"function\")\n        try {\n          deferredLibraryLoader(uriAsString, jsSuccess, jsFailure, loadId);\n        } catch (exception) {\n          error = A.unwrapException(exception);\n          stackTrace = A.getTraceFromException(exception);\n          failure.call$3(error, \"invoking dartDeferredLibraryLoader hook\", stackTrace);\n        }\n      else if (!self.window && !!self.postMessage) {\n        xhr = new XMLHttpRequest();\n        xhr.open(\"GET\", uriAsString);\n        xhr.addEventListener(\"load\", A.convertDartClosureToJS(new A._loadHunk_closure1(xhr, failure, t2), 1), false);\n        xhr.addEventListener(\"error\", new A._loadHunk_closure2(failure), false);\n        xhr.addEventListener(\"abort\", new A._loadHunk_closure3(failure), false);\n        xhr.send();\n      } else {\n        script = document.createElement(\"script\");\n        script.type = \"text/javascript\";\n        script.src = t1;\n        t1 = $.$get$_cspNonce();\n        if (t1 != null && t1 !== \"\") {\n          script.nonce = t1;\n          script.setAttribute(\"nonce\", $.$get$_cspNonce());\n        }\n        t1 = $.$get$_crossOrigin();\n        if (t1 != null && t1 !== \"\")\n          script.crossOrigin = t1;\n        script.addEventListener(\"load\", jsSuccess, false);\n        script.addEventListener(\"error\", jsFailure, false);\n        document.body.appendChild(script);\n      }\n      t1 = completer.future;\n      $.$get$_loadingLibraries().$indexSet(0, hunkName, t1);\n      return t1;\n    }",
+        "type": "Future<Null> Function(String,String)",
+        "functionKind": 0
       },
       "dart:_js_helper::_loadHunk._loadHunk_closure.call": {
         "id": "function/dart:_js_helper::_loadHunk._loadHunk_closure.call",
@@ -6472,7 +6521,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "call$1(_) {\n      type$.Null._as(_);\n      return null;\n    }",
-        "type": "Null Function(Null)"
+        "type": "Null Function(Null)",
+        "functionKind": 2
       },
       "dart:_js_helper::_loadHunk._loadHunk_closure.call%0": {
         "id": "function/dart:_js_helper::_loadHunk._loadHunk_closure.call%0",
@@ -6500,7 +6550,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(error) {\n      this.failure.call$3(A.unwrapException(error), \"js-failure-wrapper\", A.getTraceFromException(error));\n    }",
-        "type": "Null Function(dynamic)"
+        "type": "Null Function(dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::_loadHunk._loadHunk_closure.call%1": {
         "id": "function/dart:_js_helper::_loadHunk._loadHunk_closure.call%1",
@@ -6528,7 +6579,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1($event) {\n      var code, error, stackTrace, exception, _this = this,\n        t1 = _this.xhr,\n        $status = t1.status;\n      if ($status !== 200)\n        _this.failure.call$3(\"Request status: \" + $status, \"worker xhr\", null);\n      code = t1.responseText;\n      try {\n        new Function(code)();\n        _this.success.call$0();\n      } catch (exception) {\n        error = A.unwrapException(exception);\n        stackTrace = A.getTraceFromException(exception);\n        _this.failure.call$3(error, \"evaluating the code in worker xhr\", stackTrace);\n      }\n    }",
-        "type": "Null Function(dynamic)"
+        "type": "Null Function(dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::_loadHunk._loadHunk_closure.call%2": {
         "id": "function/dart:_js_helper::_loadHunk._loadHunk_closure.call%2",
@@ -6556,7 +6608,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(e) {\n      this.failure.call$3(e, \"xhr error handler\", null);\n    }",
-        "type": "Null Function(dynamic)"
+        "type": "Null Function(dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::_loadHunk._loadHunk_closure.call%3": {
         "id": "function/dart:_js_helper::_loadHunk._loadHunk_closure.call%3",
@@ -6584,13 +6637,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(e) {\n      this.failure.call$3(e, \"xhr abort handler\", null);\n    }",
-        "type": "Null Function(dynamic)"
+        "type": "Null Function(dynamic)",
+        "functionKind": 2
       },
       "dart:_js_helper::_loadHunk._loadHunk_failure.call": {
         "id": "function/dart:_js_helper::_loadHunk._loadHunk_failure.call",
         "kind": "function",
         "name": "call",
-        "size": 582,
+        "size": 577,
         "outputUnit": "outputUnit/main",
         "parent": "closure/dart:_js_helper::_loadHunk._loadHunk_failure",
         "children": [],
@@ -6621,8 +6675,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "call$3(error, context, stackTrace) {\n      var t1;\n      type$.nullable_StackTrace._as(stackTrace);\n      t1 = this.hunkName;\n      B.JSArray_methods.add$1($._eventLog, \" - download failed: \" + t1 + \" (context: \" + context + \")\");\n      $.$get$_loadingLibraries().$indexSet(0, t1, null);\n      if (stackTrace == null)\n        stackTrace = A.StackTrace_current();\n      this.completer.completeError$2(new A.DeferredLoadException(\"Loading \" + A.S(this.uriAsString) + \" failed: \" + A.S(error) + \"\\nevent log:\\n\" + B.JSArray_methods.join$1($._eventLog, \"\\n\") + \"\\n\"), stackTrace);\n    }",
-        "type": "void Function(dynamic,String,StackTrace?)"
+        "code": "call$3(error, context, stackTrace) {\n      var t1;\n      type$.nullable_StackTrace._as(stackTrace);\n      t1 = this.hunkName;\n      B.JSArray_methods.add$1($._eventLog, \" - download failed: \" + t1 + \" (context: \" + context + \")\");\n      $.$get$_loadingLibraries().$indexSet(0, t1, null);\n      if (stackTrace == null)\n        stackTrace = A.StackTrace_current();\n      this.completer.completeError$2(new A.DeferredLoadException(\"Loading \" + this.uriAsString + \" failed: \" + A.S(error) + \"\\nevent log:\\n\" + B.JSArray_methods.join$1($._eventLog, \"\\n\") + \"\\n\"), stackTrace);\n    }",
+        "type": "void Function(dynamic,String,StackTrace?)",
+        "functionKind": 2
       },
       "dart:_js_helper::_loadHunk._loadHunk_success.call": {
         "id": "function/dart:_js_helper::_loadHunk._loadHunk_success.call",
@@ -6644,13 +6699,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      B.JSArray_methods.add$1($._eventLog, \" - download success: \" + this.hunkName);\n      this.completer.complete$1(null);\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::_unwrapNonDartException": {
         "id": "function/dart:_js_helper::_unwrapNonDartException",
         "kind": "function",
         "name": "_unwrapNonDartException",
-        "size": 4326,
+        "size": 4323,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "children": [],
@@ -6661,7 +6717,7 @@
           "external": false
         },
         "returnType": "Object",
-        "inferredReturnType": "[null|subclass=Object]",
+        "inferredReturnType": "[subclass=Object]",
         "parameters": [
           {
             "name": "ex",
@@ -6671,8 +6727,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_unwrapNonDartException(ex) {\n      var message, number, ieErrorCode, t1, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, _null = null;\n      if (!(\"message\" in ex))\n        return ex;\n      message = ex.message;\n      if (\"number\" in ex && typeof ex.number == \"number\") {\n        number = ex.number;\n        ieErrorCode = number & 65535;\n        if ((B.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10)\n          switch (ieErrorCode) {\n            case 438:\n              return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A.S(message) + \" (Error \" + ieErrorCode + \")\", _null));\n            case 445:\n            case 5007:\n              t1 = A.S(message);\n              return A.saveStackTrace(ex, new A.NullError(t1 + \" (Error \" + ieErrorCode + \")\", _null));\n          }\n      }\n      if (ex instanceof TypeError) {\n        nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern();\n        notClosure = $.$get$TypeErrorDecoder_notClosurePattern();\n        nullCall = $.$get$TypeErrorDecoder_nullCallPattern();\n        nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern();\n        undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern();\n        undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern();\n        nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern();\n        $.$get$TypeErrorDecoder_nullLiteralPropertyPattern();\n        undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern();\n        undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern();\n        match = nsme.matchTypeError$1(message);\n        if (match != null)\n          return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asStringS(message), match));\n        else {\n          match = notClosure.matchTypeError$1(message);\n          if (match != null) {\n            match.method = \"call\";\n            return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asStringS(message), match));\n          } else {\n            match = nullCall.matchTypeError$1(message);\n            if (match == null) {\n              match = nullLiteralCall.matchTypeError$1(message);\n              if (match == null) {\n                match = undefCall.matchTypeError$1(message);\n                if (match == null) {\n                  match = undefLiteralCall.matchTypeError$1(message);\n                  if (match == null) {\n                    match = nullProperty.matchTypeError$1(message);\n                    if (match == null) {\n                      match = nullLiteralCall.matchTypeError$1(message);\n                      if (match == null) {\n                        match = undefProperty.matchTypeError$1(message);\n                        if (match == null) {\n                          match = undefLiteralProperty.matchTypeError$1(message);\n                          t1 = match != null;\n                        } else\n                          t1 = true;\n                      } else\n                        t1 = true;\n                    } else\n                      t1 = true;\n                  } else\n                    t1 = true;\n                } else\n                  t1 = true;\n              } else\n                t1 = true;\n            } else\n              t1 = true;\n            if (t1) {\n              A._asStringS(message);\n              return A.saveStackTrace(ex, new A.NullError(message, match == null ? _null : match.method));\n            }\n          }\n        }\n        return A.saveStackTrace(ex, new A.UnknownJsTypeError(typeof message == \"string\" ? message : \"\"));\n      }\n      if (ex instanceof RangeError) {\n        if (typeof message == \"string\" && message.indexOf(\"call stack\") !== -1)\n          return new A.StackOverflowError();\n        message = function(ex) {\n          try {\n            return String(ex);\n          } catch (e) {\n          }\n          return null;\n        }(ex);\n        return A.saveStackTrace(ex, new A.ArgumentError(false, _null, _null, typeof message == \"string\" ? message.replace(/^RangeError:\\s*/, \"\") : message));\n      }\n      if (typeof InternalError == \"function\" && ex instanceof InternalError)\n        if (typeof message == \"string\" && message === \"too much recursion\")\n          return new A.StackOverflowError();\n      return ex;\n    }",
-        "type": "Object Function(Object)"
+        "code": "_unwrapNonDartException(ex) {\n      var message, number, ieErrorCode, t1, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, _null = null;\n      if (!(\"message\" in ex))\n        return ex;\n      message = ex.message;\n      if (\"number\" in ex && typeof ex.number == \"number\") {\n        number = ex.number;\n        ieErrorCode = number & 65535;\n        if ((B.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10)\n          switch (ieErrorCode) {\n            case 438:\n              return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A.S(message) + \" (Error \" + ieErrorCode + \")\", _null));\n            case 445:\n            case 5007:\n              t1 = A.S(message);\n              return A.saveStackTrace(ex, new A.NullError(t1 + \" (Error \" + ieErrorCode + \")\", _null));\n          }\n      }\n      if (ex instanceof TypeError) {\n        nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern();\n        notClosure = $.$get$TypeErrorDecoder_notClosurePattern();\n        nullCall = $.$get$TypeErrorDecoder_nullCallPattern();\n        nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern();\n        undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern();\n        undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern();\n        nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern();\n        $.$get$TypeErrorDecoder_nullLiteralPropertyPattern();\n        undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern();\n        undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern();\n        match = nsme.matchTypeError$1(message);\n        if (match != null)\n          return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match));\n        else {\n          match = notClosure.matchTypeError$1(message);\n          if (match != null) {\n            match.method = \"call\";\n            return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match));\n          } else {\n            match = nullCall.matchTypeError$1(message);\n            if (match == null) {\n              match = nullLiteralCall.matchTypeError$1(message);\n              if (match == null) {\n                match = undefCall.matchTypeError$1(message);\n                if (match == null) {\n                  match = undefLiteralCall.matchTypeError$1(message);\n                  if (match == null) {\n                    match = nullProperty.matchTypeError$1(message);\n                    if (match == null) {\n                      match = nullLiteralCall.matchTypeError$1(message);\n                      if (match == null) {\n                        match = undefProperty.matchTypeError$1(message);\n                        if (match == null) {\n                          match = undefLiteralProperty.matchTypeError$1(message);\n                          t1 = match != null;\n                        } else\n                          t1 = true;\n                      } else\n                        t1 = true;\n                    } else\n                      t1 = true;\n                  } else\n                    t1 = true;\n                } else\n                  t1 = true;\n              } else\n                t1 = true;\n            } else\n              t1 = true;\n            if (t1) {\n              A._asString(message);\n              return A.saveStackTrace(ex, new A.NullError(message, match == null ? _null : match.method));\n            }\n          }\n        }\n        return A.saveStackTrace(ex, new A.UnknownJsTypeError(typeof message == \"string\" ? message : \"\"));\n      }\n      if (ex instanceof RangeError) {\n        if (typeof message == \"string\" && message.indexOf(\"call stack\") !== -1)\n          return new A.StackOverflowError();\n        message = function(ex) {\n          try {\n            return String(ex);\n          } catch (e) {\n          }\n          return null;\n        }(ex);\n        return A.saveStackTrace(ex, new A.ArgumentError(false, _null, _null, typeof message == \"string\" ? message.replace(/^RangeError:\\s*/, \"\") : message));\n      }\n      if (typeof InternalError == \"function\" && ex instanceof InternalError)\n        if (typeof message == \"string\" && message === \"too much recursion\")\n          return new A.StackOverflowError();\n      return ex;\n    }",
+        "type": "Object Function(Object)",
+        "functionKind": 0
       },
       "dart:_js_helper::assertThrow": {
         "id": "function/dart:_js_helper::assertThrow",
@@ -6700,7 +6757,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "assertThrow(message) {\n      throw A.wrapException(new A._AssertionError(message));\n    }",
-        "type": "void Function(Object)"
+        "type": "void Function(Object)",
+        "functionKind": 0
       },
       "dart:_js_helper::boolConversionCheck": {
         "id": "function/dart:_js_helper::boolConversionCheck",
@@ -6728,7 +6786,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "boolConversionCheck(value) {\n      if (value == null)\n        A.assertThrow(\"boolean expression must not be null\");\n      return value;\n    }",
-        "type": "bool Function(dynamic)"
+        "type": "bool Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::checkDeferredIsLoaded": {
         "id": "function/dart:_js_helper::checkDeferredIsLoaded",
@@ -6756,7 +6815,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "checkDeferredIsLoaded(loadId) {\n      if (!$.$get$_loadedLibraries().contains$1(0, loadId))\n        throw A.wrapException(new A.DeferredNotLoadedError(loadId));\n    }",
-        "type": "void Function(String)"
+        "type": "void Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::closureFromTearOff": {
         "id": "function/dart:_js_helper::closureFromTearOff",
@@ -6784,7 +6844,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "closureFromTearOff(parameters) {\n      return A.Closure_fromTearOff(parameters);\n    }",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::constructorNameFallback": {
         "id": "function/dart:_js_helper::constructorNameFallback",
@@ -6812,7 +6873,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(dynamic)"
+        "type": "String Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::contains": {
         "id": "function/dart:_js_helper::contains",
@@ -6845,7 +6907,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(String,String)"
+        "type": "bool Function(String,String)",
+        "functionKind": 0
       },
       "dart:_js_helper::convertDartClosureToJS": {
         "id": "function/dart:_js_helper::convertDartClosureToJS",
@@ -6878,7 +6941,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "convertDartClosureToJS(closure, arity) {\n      var $function = closure.$identity;\n      if (!!$function)\n        return $function;\n      $function = function(closure, arity, invoke) {\n        return function(a1, a2, a3, a4) {\n          return invoke(closure, arity, a1, a2, a3, a4);\n        };\n      }(closure, arity, A.invokeClosure);\n      closure.$identity = $function;\n      return $function;\n    }",
-        "type": "dynamic Function(dynamic,int)"
+        "type": "dynamic Function(dynamic,int)",
+        "functionKind": 0
       },
       "dart:_js_helper::diagnoseIndexError": {
         "id": "function/dart:_js_helper::diagnoseIndexError",
@@ -6911,7 +6975,8 @@
         "sideEffects": "SideEffects(reads anything; writes field)",
         "inlinedCount": 0,
         "code": "diagnoseIndexError(indexable, index) {\n      var $length, _s5_ = \"index\";\n      if (!A._isInt(index))\n        return new A.ArgumentError(true, index, _s5_, null);\n      $length = J.get$length$as(indexable);\n      if (index < 0 || index >= $length)\n        return new A.IndexError($length, true, index, _s5_, \"Index out of range\");\n      return new A.RangeError(null, null, true, index, _s5_, \"Value not in range\");\n    }",
-        "type": "Error Function(dynamic,dynamic)"
+        "type": "Error Function(dynamic,dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::getTraceFromException": {
         "id": "function/dart:_js_helper::getTraceFromException",
@@ -6928,7 +6993,7 @@
           "external": false
         },
         "returnType": "StackTrace",
-        "inferredReturnType": "[null|subtype=StackTrace]",
+        "inferredReturnType": "[subtype=StackTrace]",
         "parameters": [
           {
             "name": "exception",
@@ -6939,13 +7004,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "getTraceFromException(exception) {\n      var trace;\n      if (exception instanceof A.ExceptionAndStackTrace)\n        return exception.stackTrace;\n      if (exception == null)\n        return new A._StackTrace(exception);\n      trace = exception.$cachedTrace;\n      if (trace != null)\n        return trace;\n      return exception.$cachedTrace = new A._StackTrace(exception);\n    }",
-        "type": "StackTrace Function(dynamic)"
+        "type": "StackTrace Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::invokeClosure": {
         "id": "function/dart:_js_helper::invokeClosure",
         "kind": "function",
         "name": "invokeClosure",
-        "size": 571,
+        "size": 570,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "children": [],
@@ -6991,8 +7057,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) {\n      type$.Function._as(closure);\n      switch (A._asIntS(numberOfArguments)) {\n        case 0:\n          return closure.call$0();\n        case 1:\n          return closure.call$1(arg1);\n        case 2:\n          return closure.call$2(arg1, arg2);\n        case 3:\n          return closure.call$3(arg1, arg2, arg3);\n        case 4:\n          return closure.call$4(arg1, arg2, arg3, arg4);\n      }\n      throw A.wrapException(new A._Exception(\"Unsupported number of arguments for wrapped closure\"));\n    }",
-        "type": "dynamic Function(Function,int,dynamic,dynamic,dynamic,dynamic)"
+        "code": "invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) {\n      type$.Function._as(closure);\n      switch (A._asInt(numberOfArguments)) {\n        case 0:\n          return closure.call$0();\n        case 1:\n          return closure.call$1(arg1);\n        case 2:\n          return closure.call$2(arg1, arg2);\n        case 3:\n          return closure.call$3(arg1, arg2, arg3);\n        case 4:\n          return closure.call$4(arg1, arg2, arg3, arg4);\n      }\n      throw A.wrapException(new A._Exception(\"Unsupported number of arguments for wrapped closure\"));\n    }",
+        "type": "dynamic Function(Function,int,dynamic,dynamic,dynamic,dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::ioore": {
         "id": "function/dart:_js_helper::ioore",
@@ -7025,7 +7092,8 @@
         "sideEffects": "SideEffects(reads anything; writes field)",
         "inlinedCount": 0,
         "code": "ioore(receiver, index) {\n      if (receiver == null)\n        J.get$length$as(receiver);\n      throw A.wrapException(A.diagnoseIndexError(receiver, index));\n    }",
-        "type": "dynamic Function(dynamic,dynamic)"
+        "type": "dynamic Function(dynamic,dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::jsonEncodeNative": {
         "id": "function/dart:_js_helper::jsonEncodeNative",
@@ -7053,7 +7121,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::loadDeferredLibrary": {
         "id": "function/dart:_js_helper::loadDeferredLibrary",
@@ -7086,7 +7155,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "loadDeferredLibrary(loadId) {\n      var t1, uris, hashes, index2uri, index2hash, i, index, total, waitingForLoad, isHunkLoaded, _box_0 = {},\n        indexes = init.deferredLibraryParts[loadId];\n      if (indexes == null)\n        return A.Future_Future$value(null, type$.Null);\n      t1 = type$.JSArray_String;\n      uris = A._setArrayType([], t1);\n      hashes = A._setArrayType([], t1);\n      index2uri = init.deferredPartUris;\n      index2hash = init.deferredPartHashes;\n      for (i = 0; i < indexes.length; ++i) {\n        index = indexes[i];\n        B.JSArray_methods.add$1(uris, index2uri[index]);\n        B.JSArray_methods.add$1(hashes, index2hash[index]);\n      }\n      total = hashes.length;\n      waitingForLoad = A.List_List$filled(total, true, type$.bool);\n      _box_0.nextHunkToInitialize = 0;\n      isHunkLoaded = init.isHunkLoaded;\n      t1 = new A.loadDeferredLibrary_initializeSomeLoadedHunks(_box_0, total, waitingForLoad, uris, hashes, init.isHunkInitialized, isHunkLoaded, init.initializeLoadedHunk);\n      return A.Future_wait(A.List_List$generate(total, new A.loadDeferredLibrary_loadAndInitialize(isHunkLoaded, hashes, waitingForLoad, uris, loadId, t1), type$.Future_dynamic), type$.dynamic).then$1$1(new A.loadDeferredLibrary_closure(_box_0, t1, total, loadId), type$.Null);\n    }",
-        "type": "Future<Null> Function(String)"
+        "type": "Future<Null> Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::loadDeferredLibrary.loadDeferredLibrary_closure.call": {
         "id": "function/dart:_js_helper::loadDeferredLibrary.loadDeferredLibrary_closure.call",
@@ -7114,7 +7184,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(_) {\n      type$.List_dynamic._as(_);\n      this.initializeSomeLoadedHunks.call$0();\n      $.$get$_loadedLibraries().add$1(0, this.loadId);\n    }",
-        "type": "Null Function(List<dynamic>)"
+        "type": "Null Function(List<dynamic>)",
+        "functionKind": 2
       },
       "dart:_js_helper::loadDeferredLibrary.loadDeferredLibrary_initializeSomeLoadedHunks.call": {
         "id": "function/dart:_js_helper::loadDeferredLibrary.loadDeferredLibrary_initializeSomeLoadedHunks.call",
@@ -7136,7 +7207,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      var t1, i, t2, t3, t4, t5, t6, t7, t8, t9, uri, hash, _this = this;\n      for (t1 = _this._box_0, i = t1.nextHunkToInitialize, t2 = _this.total, t3 = _this.initializer, t4 = _this.isHunkLoaded, t5 = _this.isHunkInitialized, t6 = _this.uris, t7 = _this.hashes, t8 = _this.waitingForLoad, t9 = t8.length; i < t2; ++i) {\n        if (!(i < t9))\n          return A.ioore(t8, i);\n        if (t8[i])\n          return;\n        ++t1.nextHunkToInitialize;\n        if (!(i < t6.length))\n          return A.ioore(t6, i);\n        uri = t6[i];\n        if (!(i < t7.length))\n          return A.ioore(t7, i);\n        hash = t7[i];\n        if (t5(hash)) {\n          B.JSArray_methods.add$1($._eventLog, \" - already initialized: \" + uri + \" (\" + hash + \")\");\n          continue;\n        }\n        if (t4(hash)) {\n          B.JSArray_methods.add$1($._eventLog, \" - initialize: \" + uri + \" (\" + hash + \")\");\n          t3(hash);\n        } else {\n          B.JSArray_methods.add$1($._eventLog, \" - missing hunk: \" + uri + \" (\" + hash + \")\");\n          if (!(i < t6.length))\n            return A.ioore(t6, i);\n          throw A.wrapException(A.DeferredLoadException$(\"Loading \" + t6[i] + \" failed: the code with hash '\" + hash + \"' was not loaded.\\nevent log:\\n\" + B.JSArray_methods.join$1($._eventLog, \"\\n\") + \"\\n\"));\n        }\n      }\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:_js_helper::loadDeferredLibrary.loadDeferredLibrary_loadAndInitialize.call": {
         "id": "function/dart:_js_helper::loadDeferredLibrary.loadDeferredLibrary_loadAndInitialize.call",
@@ -7164,7 +7236,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(i) {\n      var _this = this,\n        t1 = _this.hashes;\n      if (!(i < t1.length))\n        return A.ioore(t1, i);\n      if (_this.isHunkLoaded(t1[i])) {\n        B.JSArray_methods.$indexSet(_this.waitingForLoad, i, false);\n        return A.Future_Future$value(null, type$.dynamic);\n      }\n      t1 = _this.uris;\n      if (!(i < t1.length))\n        return A.ioore(t1, i);\n      return A._loadHunk(t1[i], _this.loadId).then$1$1(new A.loadDeferredLibrary_loadAndInitialize_closure(_this.waitingForLoad, i, _this.initializeSomeLoadedHunks), type$.dynamic);\n    }",
-        "type": "Future<dynamic> Function(int)"
+        "type": "Future<dynamic> Function(int)",
+        "functionKind": 2
       },
       "dart:_js_helper::loadDeferredLibrary.loadDeferredLibrary_loadAndInitialize_closure.call": {
         "id": "function/dart:_js_helper::loadDeferredLibrary.loadDeferredLibrary_loadAndInitialize_closure.call",
@@ -7192,7 +7265,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(_) {\n      type$.Null._as(_);\n      B.JSArray_methods.$indexSet(this.waitingForLoad, this.i, false);\n      this.initializeSomeLoadedHunks.call$0();\n    }",
-        "type": "Null Function(Null)"
+        "type": "Null Function(Null)",
+        "functionKind": 2
       },
       "dart:_js_helper::objectHashCode": {
         "id": "function/dart:_js_helper::objectHashCode",
@@ -7220,7 +7294,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "objectHashCode(object) {\n      if (object == null || typeof object != \"object\")\n        return J.get$hashCode$(object);\n      else\n        return A.Primitives_objectHashCode(object);\n    }",
-        "type": "int Function(dynamic)"
+        "type": "int Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::quoteStringForRegExp": {
         "id": "function/dart:_js_helper::quoteStringForRegExp",
@@ -7248,7 +7323,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "quoteStringForRegExp(string) {\n      if (/[[\\]{}()*+?.\\\\^$|]/.test(string))\n        return string.replace(/[[\\]{}()*+?.\\\\^$|]/g, \"\\\\$&\");\n      return string;\n    }",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::requiresPreamble": {
         "id": "function/dart:_js_helper::requiresPreamble",
@@ -7270,7 +7346,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::saveStackTrace": {
         "id": "function/dart:_js_helper::saveStackTrace",
@@ -7287,7 +7364,7 @@
           "external": false
         },
         "returnType": "Object",
-        "inferredReturnType": "[null|subclass=Object]",
+        "inferredReturnType": "[subclass=Object]",
         "parameters": [
           {
             "name": "ex",
@@ -7303,7 +7380,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "saveStackTrace(ex, error) {\n      if (type$.Error._is(error))\n        if (error.$thrownJsError == null)\n          error.$thrownJsError = ex;\n      return error;\n    }",
-        "type": "Object Function(Object,Object)"
+        "type": "Object Function(Object,Object)",
+        "functionKind": 0
       },
       "dart:_js_helper::throwConcurrentModificationError": {
         "id": "function/dart:_js_helper::throwConcurrentModificationError",
@@ -7331,7 +7409,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "throwConcurrentModificationError(collection) {\n      throw A.wrapException(A.ConcurrentModificationError$(collection));\n    }",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::throwCyclicInit": {
         "id": "function/dart:_js_helper::throwCyclicInit",
@@ -7359,7 +7438,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "throwCyclicInit(staticName) {\n      throw A.wrapException(new A.CyclicInitializationError(staticName));\n    }",
-        "type": "void Function(String)"
+        "type": "void Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::throwExpression": {
         "id": "function/dart:_js_helper::throwExpression",
@@ -7387,7 +7467,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "throwExpression(ex) {\n      throw A.wrapException(ex);\n    }",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::toStringWrapper": {
         "id": "function/dart:_js_helper::toStringWrapper",
@@ -7404,12 +7485,13 @@
           "external": false
         },
         "returnType": "dynamic",
-        "inferredReturnType": "[null|exact=JSString]",
+        "inferredReturnType": "[exact=JSString]",
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toStringWrapper() {\n      return J.toString$0$(this.dartException);\n    }",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 0
       },
       "dart:_js_helper::tryStringifyException": {
         "id": "function/dart:_js_helper::tryStringifyException",
@@ -7437,7 +7519,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String? Function(dynamic)"
+        "type": "String? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_helper::unminifyOrTag": {
         "id": "function/dart:_js_helper::unminifyOrTag",
@@ -7465,13 +7548,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "unminifyOrTag(rawClassName) {\n      var preserved = init.mangledGlobalNames[rawClassName];\n      if (preserved != null)\n        return preserved;\n      return rawClassName;\n    }",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_js_helper::unwrapException": {
         "id": "function/dart:_js_helper::unwrapException",
         "kind": "function",
         "name": "unwrapException",
-        "size": 399,
+        "size": 476,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "children": [],
@@ -7482,7 +7566,7 @@
           "external": false
         },
         "returnType": "Object",
-        "inferredReturnType": "[null|subclass=Object]",
+        "inferredReturnType": "[subclass=Object]",
         "parameters": [
           {
             "name": "ex",
@@ -7492,8 +7576,9 @@
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
-        "code": "unwrapException(ex) {\n      if (ex == null)\n        return new A.NullThrownFromJavaScriptException(ex);\n      if (ex instanceof A.ExceptionAndStackTrace)\n        return A.saveStackTrace(ex, ex.dartException);\n      if (typeof ex !== \"object\")\n        return ex;\n      if (\"dartException\" in ex)\n        return A.saveStackTrace(ex, ex.dartException);\n      return A._unwrapNonDartException(ex);\n    }",
-        "type": "Object Function(Object?)"
+        "code": "unwrapException(ex) {\n      var t1;\n      if (ex == null)\n        return new A.NullThrownFromJavaScriptException(ex);\n      if (ex instanceof A.ExceptionAndStackTrace) {\n        t1 = ex.dartException;\n        return A.saveStackTrace(ex, t1 == null ? type$.Object._as(t1) : t1);\n      }\n      if (typeof ex !== \"object\")\n        return ex;\n      if (\"dartException\" in ex)\n        return A.saveStackTrace(ex, ex.dartException);\n      return A._unwrapNonDartException(ex);\n    }",
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_js_helper::wrapException": {
         "id": "function/dart:_js_helper::wrapException",
@@ -7521,7 +7606,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "wrapException(ex) {\n      var wrapper, t1;\n      if (ex == null)\n        ex = new A.NullThrownError();\n      wrapper = new Error();\n      wrapper.dartException = ex;\n      t1 = A.toStringWrapper;\n      if (\"defineProperty\" in Object) {\n        Object.defineProperty(wrapper, \"message\", {get: t1});\n        wrapper.name = \"\";\n      } else\n        wrapper.toString = t1;\n      return wrapper;\n    }",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_js_names::unmangleGlobalNameIfPreservedAnyways": {
         "id": "function/dart:_js_names::unmangleGlobalNameIfPreservedAnyways",
@@ -7549,7 +7635,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "String? Function(String)"
+        "type": "String? Function(String)",
+        "functionKind": 0
       },
       "dart:_js_primitives::printString": {
         "id": "function/dart:_js_primitives::printString",
@@ -7577,7 +7664,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "printString(string) {\n      if (typeof dartPrint == \"function\") {\n        dartPrint(string);\n        return;\n      }\n      if (typeof console == \"object\" && typeof console.log != \"undefined\") {\n        console.log(string);\n        return;\n      }\n      if (typeof window == \"object\")\n        return;\n      if (typeof print == \"function\") {\n        print(string);\n        return;\n      }\n      throw \"Unable to print message: \" + String(string);\n    }",
-        "type": "void Function(String)"
+        "type": "void Function(String)",
+        "functionKind": 0
       },
       "dart:_late_helper::_Cell._Cell.named": {
         "id": "function/dart:_late_helper::_Cell._Cell.named",
@@ -7605,13 +7693,14 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 0,
         "code": "_Cell$named(_name) {\n      var t1 = new A._Cell(_name);\n      return t1._value = t1;\n    }",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:_late_helper::_Cell._readLocal": {
         "id": "function/dart:_late_helper::_Cell._readLocal",
         "kind": "function",
         "name": "_readLocal",
-        "size": 208,
+        "size": 194,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_late_helper::_Cell",
         "children": [],
@@ -7626,8 +7715,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
-        "code": "_readLocal$0() {\n      var t1 = this._value;\n      if (t1 === this)\n        throw A.wrapException(new A.LateError(\"Local '\" + this.__late_helper$_name + \"' has not been initialized.\"));\n      return t1;\n    }",
-        "type": "Object? Function()"
+        "code": "_readLocal$0() {\n      var t1 = this._value;\n      if (t1 === this)\n        throw A.wrapException(new A.LateError(\"Local '\" + this._name + \"' has not been initialized.\"));\n      return t1;\n    }",
+        "type": "Object? Function()",
+        "functionKind": 2
       },
       "dart:_late_helper::_Cell.readLocal": {
         "id": "function/dart:_late_helper::_Cell.readLocal",
@@ -7649,7 +7739,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "#A Function<#A extends Object?>()"
+        "type": "#A Function<#A extends Object?>()",
+        "functionKind": 2
       },
       "dart:_late_helper::_Cell.value": {
         "id": "function/dart:_late_helper::_Cell.value",
@@ -7677,13 +7768,14 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 4,
         "code": "",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 2
       },
       "dart:_late_helper::throwLateFieldADI": {
         "id": "function/dart:_late_helper::throwLateFieldADI",
         "kind": "function",
         "name": "throwLateFieldADI",
-        "size": 160,
+        "size": 155,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_late_helper::",
         "children": [],
@@ -7704,8 +7796,9 @@
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 0,
-        "code": "throwLateFieldADI(fieldName) {\n      return A.throwExpression(new A.LateError(\"Field '\" + A.S(fieldName) + \"' has been assigned during initialization.\"));\n    }",
-        "type": "void Function(String)"
+        "code": "throwLateFieldADI(fieldName) {\n      return A.throwExpression(new A.LateError(\"Field '\" + fieldName + \"' has been assigned during initialization.\"));\n    }",
+        "type": "void Function(String)",
+        "functionKind": 0
       },
       "dart:_recipe_syntax::Recipe.digitValue": {
         "id": "function/dart:_recipe_syntax::Recipe.digitValue",
@@ -7733,7 +7826,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "int Function(int)"
+        "type": "int Function(int)",
+        "functionKind": 0
       },
       "dart:_recipe_syntax::Recipe.isDigit": {
         "id": "function/dart:_recipe_syntax::Recipe.isDigit",
@@ -7761,7 +7855,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function(int)"
+        "type": "bool Function(int)",
+        "functionKind": 0
       },
       "dart:_recipe_syntax::Recipe.isIdentifierStart": {
         "id": "function/dart:_recipe_syntax::Recipe.isIdentifierStart",
@@ -7789,7 +7884,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(int)"
+        "type": "bool Function(int)",
+        "functionKind": 0
       },
       "dart:_rti::Rti.Rti": {
         "id": "function/dart:_rti::Rti.Rti",
@@ -7811,7 +7907,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 9,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:_rti::Rti._asCheck": {
         "id": "function/dart:_rti::Rti._asCheck",
@@ -7827,8 +7924,8 @@
           "factory": false,
           "external": false
         },
-        "returnType": "bool",
-        "inferredReturnType": "[exact=JSBool]",
+        "returnType": "Object?",
+        "inferredReturnType": "[null|subclass=Object]",
         "parameters": [
           {
             "name": "rti",
@@ -7844,7 +7941,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(Rti,Object?)"
+        "type": "Object? Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._bind": {
         "id": "function/dart:_rti::Rti._bind",
@@ -7861,7 +7959,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "typeOrTuple",
@@ -7872,7 +7970,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_bind$1(typeOrTuple) {\n      return A._Universe_bind(init.typeUniverse, this, typeOrTuple);\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 2
       },
       "dart:_rti::Rti._eval": {
         "id": "function/dart:_rti::Rti._eval",
@@ -7889,7 +7988,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "recipe",
@@ -7900,7 +7999,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_eval$1(recipe) {\n      return A._Universe_evalInEnvironment(init.typeUniverse, this, recipe);\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 2
       },
       "dart:_rti::Rti._getBindCache": {
         "id": "function/dart:_rti::Rti._getBindCache",
@@ -7928,7 +8028,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getBindingArguments": {
         "id": "function/dart:_rti::Rti._getBindingArguments",
@@ -7949,14 +8050,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "JSArray<dynamic> Function(Rti)"
+        "type": "JSArray<dynamic> Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getBindingBase": {
         "id": "function/dart:_rti::Rti._getBindingBase",
@@ -7977,42 +8079,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "Rti Function(Rti)"
-      },
-      "dart:_rti::Rti._getCachedRuntimeType": {
-        "id": "function/dart:_rti::Rti._getCachedRuntimeType",
-        "kind": "function",
-        "name": "_getCachedRuntimeType",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_rti::Rti",
-        "children": [],
-        "modifiers": {
-          "static": true,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "_Type?",
-        "inferredReturnType": "[null|exact=_Type]",
-        "parameters": [
-          {
-            "name": "rti",
-            "type": "[null|exact=Rti]",
-            "declaredType": "Rti"
-          }
-        ],
-        "sideEffects": "SideEffects(reads field; writes nothing)",
-        "inlinedCount": 2,
-        "code": "",
-        "type": "_Type? Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getCanonicalRecipe": {
         "id": "function/dart:_rti::Rti._getCanonicalRecipe",
@@ -8033,14 +8108,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
-        "inlinedCount": 10,
+        "inlinedCount": 9,
         "code": "Rti__getCanonicalRecipe(rti) {\n      return rti._canonicalRecipe;\n    }",
-        "type": "String Function(Rti)"
+        "type": "String Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getEvalCache": {
         "id": "function/dart:_rti::Rti._getEvalCache",
@@ -8061,14 +8137,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getFunctionParameters": {
         "id": "function/dart:_rti::Rti._getFunctionParameters",
@@ -8089,14 +8166,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "_FunctionParameters Function(Rti)"
+        "type": "_FunctionParameters Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getFutureFromFutureOr": {
         "id": "function/dart:_rti::Rti._getFutureFromFutureOr",
@@ -8113,7 +8191,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -8122,14 +8200,15 @@
           },
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Rti__getFutureFromFutureOr(universe, rti) {\n      var future = rti._precomputed1;\n      return future == null ? rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, \"Future\", [rti._primary]) : future;\n    }",
-        "type": "Rti Function(Object?,Rti)"
+        "type": "Rti Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getFutureOrArgument": {
         "id": "function/dart:_rti::Rti._getFutureOrArgument",
@@ -8150,14 +8229,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 10,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getGenericFunctionBase": {
         "id": "function/dart:_rti::Rti._getGenericFunctionBase",
@@ -8178,14 +8258,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getGenericFunctionBounds": {
         "id": "function/dart:_rti::Rti._getGenericFunctionBounds",
@@ -8206,14 +8287,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "JSArray<dynamic> Function(Rti)"
+        "type": "JSArray<dynamic> Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getGenericFunctionParameterIndex": {
         "id": "function/dart:_rti::Rti._getGenericFunctionParameterIndex",
@@ -8234,14 +8316,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "int Function(Rti)"
+        "type": "int Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getInterfaceName": {
         "id": "function/dart:_rti::Rti._getInterfaceName",
@@ -8262,14 +8345,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 6,
         "code": "",
-        "type": "String Function(Rti)"
+        "type": "String Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getInterfaceTypeArguments": {
         "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
@@ -8290,14 +8374,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 7,
         "code": "",
-        "type": "JSArray<dynamic> Function(Rti)"
+        "type": "JSArray<dynamic> Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getKind": {
         "id": "function/dart:_rti::Rti._getKind",
@@ -8318,14 +8403,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 26,
         "code": "",
-        "type": "int Function(Rti)"
+        "type": "int Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getPrecomputed1": {
         "id": "function/dart:_rti::Rti._getPrecomputed1",
@@ -8346,14 +8432,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getPrimary": {
         "id": "function/dart:_rti::Rti._getPrimary",
@@ -8374,14 +8461,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 48,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getQuestionArgument": {
         "id": "function/dart:_rti::Rti._getQuestionArgument",
@@ -8402,14 +8490,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getQuestionFromStar": {
         "id": "function/dart:_rti::Rti._getQuestionFromStar",
@@ -8426,7 +8515,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -8435,14 +8524,15 @@
           },
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Rti__getQuestionFromStar(universe, rti) {\n      var question = rti._precomputed1;\n      return question == null ? rti._precomputed1 = A._Universe__lookupQuestionRti(universe, rti._primary, true) : question;\n    }",
-        "type": "Rti Function(Object?,Rti)"
+        "type": "Rti Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getRest": {
         "id": "function/dart:_rti::Rti._getRest",
@@ -8463,14 +8553,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 19,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getReturnType": {
         "id": "function/dart:_rti::Rti._getReturnType",
@@ -8491,14 +8582,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getSpecializedTestResource": {
         "id": "function/dart:_rti::Rti._getSpecializedTestResource",
@@ -8526,7 +8618,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._getStarArgument": {
         "id": "function/dart:_rti::Rti._getStarArgument",
@@ -8547,14 +8640,15 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 8,
         "code": "",
-        "type": "Rti Function(Rti)"
+        "type": "Rti Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._isCheck": {
         "id": "function/dart:_rti::Rti._isCheck",
@@ -8587,7 +8681,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "bool Function(Rti,Object?)"
+        "type": "bool Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._isUnionOfFunctionType": {
         "id": "function/dart:_rti::Rti._isUnionOfFunctionType",
@@ -8615,7 +8710,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "Rti__isUnionOfFunctionType(rti) {\n      var kind = rti._kind;\n      if (kind === 6 || kind === 7 || kind === 8)\n        return A.Rti__isUnionOfFunctionType(rti._primary);\n      return kind === 11 || kind === 12;\n    }",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setAsCheckFunction": {
         "id": "function/dart:_rti::Rti._setAsCheckFunction",
@@ -8648,7 +8744,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setBindCache": {
         "id": "function/dart:_rti::Rti._setBindCache",
@@ -8681,40 +8778,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Rti,Object?)"
-      },
-      "dart:_rti::Rti._setCachedRuntimeType": {
-        "id": "function/dart:_rti::Rti._setCachedRuntimeType",
-        "kind": "function",
-        "name": "_setCachedRuntimeType",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_rti::Rti",
-        "children": [],
-        "modifiers": {
-          "static": true,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "void",
-        "inferredReturnType": "[null]",
-        "parameters": [
-          {
-            "name": "rti",
-            "type": "[null|exact=Rti]",
-            "declaredType": "Rti"
-          },
-          {
-            "name": "type",
-            "type": "[exact=_Type]",
-            "declaredType": "_Type"
-          }
-        ],
-        "sideEffects": "SideEffects(reads nothing; writes field)",
-        "inlinedCount": 4,
-        "code": "",
-        "type": "void Function(Rti,_Type)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setCanonicalRecipe": {
         "id": "function/dart:_rti::Rti._setCanonicalRecipe",
@@ -8747,7 +8812,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 9,
         "code": "",
-        "type": "void Function(Rti,String)"
+        "type": "void Function(Rti,String)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setEvalCache": {
         "id": "function/dart:_rti::Rti._setEvalCache",
@@ -8768,7 +8834,7 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -8780,7 +8846,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setIsTestFunction": {
         "id": "function/dart:_rti::Rti._setIsTestFunction",
@@ -8813,7 +8880,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setKind": {
         "id": "function/dart:_rti::Rti._setKind",
@@ -8846,7 +8914,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 9,
         "code": "",
-        "type": "void Function(Rti,int)"
+        "type": "void Function(Rti,int)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setPrecomputed1": {
         "id": "function/dart:_rti::Rti._setPrecomputed1",
@@ -8867,7 +8936,7 @@
         "parameters": [
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -8879,7 +8948,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 3,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setPrimary": {
         "id": "function/dart:_rti::Rti._setPrimary",
@@ -8905,14 +8975,15 @@
           },
           {
             "name": "value",
-            "type": "Union(null, [exact=JSString], [exact=Rti], [subclass=JSInt])",
+            "type": "Union([exact=JSString], [exact=Rti], [subclass=JSInt])",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 8,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setRest": {
         "id": "function/dart:_rti::Rti._setRest",
@@ -8945,7 +9016,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 4,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti._setSpecializedTestResource": {
         "id": "function/dart:_rti::Rti._setSpecializedTestResource",
@@ -8978,7 +9050,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Rti,Object?)"
+        "type": "void Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::Rti.allocate": {
         "id": "function/dart:_rti::Rti.allocate",
@@ -9000,7 +9073,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 9,
         "code": "",
-        "type": "Rti Function()"
+        "type": "Rti Function()",
+        "functionKind": 0
       },
       "dart:_rti::TypeRule.lookupSupertype": {
         "id": "function/dart:_rti::TypeRule.lookupSupertype",
@@ -9033,7 +9107,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "JSArray<dynamic>? Function(Object?,String)"
+        "type": "JSArray<dynamic>? Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::TypeRule.lookupTypeVariable": {
         "id": "function/dart:_rti::TypeRule.lookupTypeVariable",
@@ -9066,13 +9141,14 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String? Function(Object?,String)"
+        "type": "String? Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Error.compose": {
         "id": "function/dart:_rti::_Error.compose",
         "kind": "function",
         "name": "compose",
-        "size": 323,
+        "size": 313,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_rti::_Error",
         "children": [],
@@ -9097,14 +9173,15 @@
           },
           {
             "name": "checkedTypeDescription",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Error_compose(object, objectRti, checkedTypeDescription) {\n      var objectDescription = A.Error_safeToString(object);\n      return objectDescription + \": type '\" + A.S(A._rtiToString(objectRti == null ? A.instanceType(object) : objectRti, null)) + \"' is not a subtype of type '\" + A.S(checkedTypeDescription) + \"'\";\n    }",
-        "type": "String Function(Object?,Rti?,String)"
+        "code": "_Error_compose(object, objectRti, checkedTypeDescription) {\n      var objectDescription = A.Error_safeToString(object);\n      return objectDescription + \": type '\" + A._rtiToString(objectRti == null ? A.instanceType(object) : objectRti, null) + \"' is not a subtype of type '\" + checkedTypeDescription + \"'\";\n    }",
+        "type": "String Function(Object?,Rti?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Error.toString": {
         "id": "function/dart:_rti::_Error.toString",
@@ -9126,7 +9203,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return this._message;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:_rti::_FunctionParameters._FunctionParameters": {
         "id": "function/dart:_rti::_FunctionParameters._FunctionParameters",
@@ -9148,7 +9226,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:_rti::_FunctionParameters._getNamed": {
         "id": "function/dart:_rti::_FunctionParameters._getNamed",
@@ -9176,7 +9255,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "JSArray<dynamic> Function(_FunctionParameters)"
+        "type": "JSArray<dynamic> Function(_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters._getOptionalPositional": {
         "id": "function/dart:_rti::_FunctionParameters._getOptionalPositional",
@@ -9204,7 +9284,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "JSArray<dynamic> Function(_FunctionParameters)"
+        "type": "JSArray<dynamic> Function(_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters._getRequiredPositional": {
         "id": "function/dart:_rti::_FunctionParameters._getRequiredPositional",
@@ -9232,7 +9313,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "JSArray<dynamic> Function(_FunctionParameters)"
+        "type": "JSArray<dynamic> Function(_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters._setNamed": {
         "id": "function/dart:_rti::_FunctionParameters._setNamed",
@@ -9265,7 +9347,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(_FunctionParameters,Object?)"
+        "type": "void Function(_FunctionParameters,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters._setOptionalPositional": {
         "id": "function/dart:_rti::_FunctionParameters._setOptionalPositional",
@@ -9298,7 +9381,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(_FunctionParameters,Object?)"
+        "type": "void Function(_FunctionParameters,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters._setRequiredPositional": {
         "id": "function/dart:_rti::_FunctionParameters._setRequiredPositional",
@@ -9331,7 +9415,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(_FunctionParameters,Object?)"
+        "type": "void Function(_FunctionParameters,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_FunctionParameters.allocate": {
         "id": "function/dart:_rti::_FunctionParameters.allocate",
@@ -9353,7 +9438,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "_FunctionParameters Function()"
+        "type": "_FunctionParameters Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.charCodeAt": {
         "id": "function/dart:_rti::_Parser.charCodeAt",
@@ -9386,7 +9472,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "",
-        "type": "int Function(String,int)"
+        "type": "int Function(String,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.collectArray": {
         "id": "function/dart:_rti::_Parser.collectArray",
@@ -9407,19 +9494,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?,Object?)"
+        "type": "JSArray<dynamic> Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.collectNamed": {
         "id": "function/dart:_rti::_Parser.collectNamed",
@@ -9440,19 +9528,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?,Object?)"
+        "type": "JSArray<dynamic> Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.create": {
         "id": "function/dart:_rti::_Parser.create",
@@ -9483,7 +9572,7 @@
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -9495,7 +9584,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_Parser_create(universe, environment, recipe, normalize) {\n      return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize};\n    }",
-        "type": "Object Function(Object?,Object?,String,bool)"
+        "type": "Object Function(Object?,Object?,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.environment": {
         "id": "function/dart:_rti::_Parser.environment",
@@ -9516,14 +9606,15 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 12,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleDigit": {
         "id": "function/dart:_rti::_Parser.handleDigit",
@@ -9559,14 +9650,15 @@
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_handleDigit(i, digit, source, stack) {\n      var t1, ch,\n        value = digit - 48;\n      for (t1 = source.length; i < t1; ++i) {\n        ch = source.charCodeAt(i);\n        if (!(ch >= 48 && ch <= 57))\n          break;\n        value = value * 10 + (ch - 48);\n      }\n      stack.push(value);\n      return i;\n    }",
-        "type": "int Function(int,int,String,Object?)"
+        "type": "int Function(int,int,String,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleExtendedOperations": {
         "id": "function/dart:_rti::_Parser.handleExtendedOperations",
@@ -9587,19 +9679,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_handleExtendedOperations(parser, stack) {\n      var $top = stack.pop();\n      if (0 === $top) {\n        stack.push(A._Universe__lookupTerminalRti(parser.u, 1, \"0&\"));\n        return;\n      }\n      if (1 === $top) {\n        stack.push(A._Universe__lookupTerminalRti(parser.u, 4, \"1&\"));\n        return;\n      }\n      throw A.wrapException(A.AssertionError$(\"Unexpected extended operation \" + A.S($top)));\n    }",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleFunctionArguments": {
         "id": "function/dart:_rti::_Parser.handleFunctionArguments",
@@ -9620,19 +9713,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleIdentifier": {
         "id": "function/dart:_rti::_Parser.handleIdentifier",
@@ -9653,7 +9747,7 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -9668,7 +9762,7 @@
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -9680,7 +9774,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_handleIdentifier(parser, start, source, stack, hasPeriod) {\n      var t1, ch, t2, string, environment, recipe,\n        i = start + 1;\n      for (t1 = source.length; i < t1; ++i) {\n        ch = source.charCodeAt(i);\n        if (ch === 46) {\n          if (hasPeriod)\n            break;\n          hasPeriod = true;\n        } else {\n          if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36))\n            t2 = ch >= 48 && ch <= 57;\n          else\n            t2 = true;\n          if (!t2)\n            break;\n        }\n      }\n      string = source.substring(start, i);\n      if (hasPeriod) {\n        t1 = parser.u;\n        environment = parser.e;\n        if (environment._kind === 10)\n          environment = environment._primary;\n        recipe = A._Universe_findRule(t1, environment._primary)[string];\n        if (recipe == null)\n          A.throwExpression('No \"' + string + '\" in \"' + A.Rti__getCanonicalRecipe(environment) + '\"');\n        stack.push(A._Universe_evalInEnvironment(t1, environment, recipe));\n      } else\n        stack.push(string);\n      return i;\n    }",
-        "type": "int Function(Object?,int,String,Object?,bool)"
+        "type": "int Function(Object?,int,String,Object?,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleNamedGroup": {
         "id": "function/dart:_rti::_Parser.handleNamedGroup",
@@ -9701,19 +9796,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleOptionalGroup": {
         "id": "function/dart:_rti::_Parser.handleOptionalGroup",
@@ -9734,19 +9830,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.handleTypeArguments": {
         "id": "function/dart:_rti::_Parser.handleTypeArguments",
@@ -9767,19 +9864,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.indexToType": {
         "id": "function/dart:_rti::_Parser.indexToType",
@@ -9817,7 +9915,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_indexToType(universe, environment, index) {\n      var typeArguments, len,\n        kind = environment._kind;\n      if (kind === 10) {\n        if (index === 0)\n          return environment._primary;\n        typeArguments = environment._rest;\n        len = typeArguments.length;\n        if (index <= len)\n          return typeArguments[index - 1];\n        index -= len;\n        environment = environment._primary;\n        kind = environment._kind;\n      } else if (index === 0)\n        return environment;\n      if (kind !== 9)\n        throw A.wrapException(A.AssertionError$(\"Indexed base must be an interface type\"));\n      typeArguments = environment._rest;\n      if (index <= typeArguments.length)\n        return typeArguments[index - 1];\n      throw A.wrapException(A.AssertionError$(\"Bad index \" + index + \" for \" + environment.toString$0(0)));\n    }",
-        "type": "Rti Function(Object?,Rti,int)"
+        "type": "Rti Function(Object?,Rti,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.normalize": {
         "id": "function/dart:_rti::_Parser.normalize",
@@ -9838,20 +9937,21 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.parse": {
         "id": "function/dart:_rti::_Parser.parse",
         "kind": "function",
         "name": "parse",
-        "size": 5256,
+        "size": 5040,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_rti::_Parser",
         "children": [],
@@ -9862,18 +9962,19 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Parser_parse(parser) {\n      var t1, i, ch, universe, array, head, base, u, parameters, optionalPositional, named, item,\n        source = parser.r,\n        stack = parser.s;\n      for (t1 = source.length, i = 0; i < t1;) {\n        ch = source.charCodeAt(i);\n        if (ch >= 48 && ch <= 57)\n          i = A._Parser_handleDigit(i + 1, ch, source, stack);\n        else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36)\n          i = A._Parser_handleIdentifier(parser, i, source, stack, false);\n        else if (ch === 46)\n          i = A._Parser_handleIdentifier(parser, i, source, stack, true);\n        else {\n          ++i;\n          switch (ch) {\n            case 44:\n              break;\n            case 58:\n              stack.push(false);\n              break;\n            case 33:\n              stack.push(true);\n              break;\n            case 59:\n              stack.push(A._Parser_toType(parser.u, parser.e, stack.pop()));\n              break;\n            case 94:\n              stack.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, stack.pop()));\n              break;\n            case 35:\n              stack.push(A._Universe__lookupTerminalRti(parser.u, 5, \"#\"));\n              break;\n            case 64:\n              stack.push(A._Universe__lookupTerminalRti(parser.u, 2, \"@\"));\n              break;\n            case 126:\n              stack.push(A._Universe__lookupTerminalRti(parser.u, 3, \"~\"));\n              break;\n            case 60:\n              stack.push(parser.p);\n              parser.p = stack.length;\n              break;\n            case 62:\n              universe = parser.u;\n              array = stack.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = stack.pop();\n              head = stack.pop();\n              if (typeof head == \"string\")\n                stack.push(A._Universe__lookupInterfaceRti(universe, head, array));\n              else {\n                base = A._Parser_toType(universe, parser.e, head);\n                switch (base._kind) {\n                  case 11:\n                    stack.push(A._Universe__lookupGenericFunctionRti(universe, base, array, parser.n));\n                    break;\n                  default:\n                    stack.push(A._Universe__lookupBindingRti(universe, base, array));\n                    break;\n                }\n              }\n              break;\n            case 38:\n              A._Parser_handleExtendedOperations(parser, stack);\n              break;\n            case 42:\n              u = parser.u;\n              stack.push(A._Universe__lookupStarRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n));\n              break;\n            case 63:\n              u = parser.u;\n              stack.push(A._Universe__lookupQuestionRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n));\n              break;\n            case 47:\n              u = parser.u;\n              stack.push(A._Universe__lookupFutureOrRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n));\n              break;\n            case 40:\n              stack.push(parser.p);\n              parser.p = stack.length;\n              break;\n            case 41:\n              universe = parser.u;\n              parameters = new A._FunctionParameters();\n              optionalPositional = universe.sEA;\n              named = universe.sEA;\n              head = stack.pop();\n              if (typeof head == \"number\")\n                switch (head) {\n                  case -1:\n                    optionalPositional = stack.pop();\n                    break;\n                  case -2:\n                    named = stack.pop();\n                    break;\n                  default:\n                    stack.push(head);\n                    break;\n                }\n              else\n                stack.push(head);\n              array = stack.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = stack.pop();\n              parameters._requiredPositional = array;\n              parameters._optionalPositional = optionalPositional;\n              parameters._named = named;\n              stack.push(A._Universe__lookupFunctionRti(universe, A._Parser_toType(universe, parser.e, stack.pop()), parameters));\n              break;\n            case 91:\n              stack.push(parser.p);\n              parser.p = stack.length;\n              break;\n            case 93:\n              array = stack.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = stack.pop();\n              stack.push(array);\n              stack.push(-1);\n              break;\n            case 123:\n              stack.push(parser.p);\n              parser.p = stack.length;\n              break;\n            case 125:\n              array = stack.splice(parser.p);\n              A._Parser_toTypesNamed(parser.u, parser.e, array);\n              parser.p = stack.pop();\n              stack.push(array);\n              stack.push(-2);\n              break;\n            default:\n              throw \"Bad character \" + ch;\n          }\n        }\n      }\n      item = stack.pop();\n      return A._Parser_toType(parser.u, parser.e, item);\n    }",
-        "type": "Rti Function(Object?)"
+        "code": "_Parser_parse(parser) {\n      var t2, i, ch, t3, array, head, base, parameters, optionalPositional, named, item,\n        source = parser.r,\n        t1 = parser.s;\n      for (t2 = source.length, i = 0; i < t2;) {\n        ch = source.charCodeAt(i);\n        if (ch >= 48 && ch <= 57)\n          i = A._Parser_handleDigit(i + 1, ch, source, t1);\n        else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36)\n          i = A._Parser_handleIdentifier(parser, i, source, t1, false);\n        else if (ch === 46)\n          i = A._Parser_handleIdentifier(parser, i, source, t1, true);\n        else {\n          ++i;\n          switch (ch) {\n            case 44:\n              break;\n            case 58:\n              t1.push(false);\n              break;\n            case 33:\n              t1.push(true);\n              break;\n            case 59:\n              t1.push(A._Parser_toType(parser.u, parser.e, t1.pop()));\n              break;\n            case 94:\n              t1.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, t1.pop()));\n              break;\n            case 35:\n              t1.push(A._Universe__lookupTerminalRti(parser.u, 5, \"#\"));\n              break;\n            case 64:\n              t1.push(A._Universe__lookupTerminalRti(parser.u, 2, \"@\"));\n              break;\n            case 126:\n              t1.push(A._Universe__lookupTerminalRti(parser.u, 3, \"~\"));\n              break;\n            case 60:\n              t1.push(parser.p);\n              parser.p = t1.length;\n              break;\n            case 62:\n              t3 = parser.u;\n              array = t1.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = t1.pop();\n              head = t1.pop();\n              if (typeof head == \"string\")\n                t1.push(A._Universe__lookupInterfaceRti(t3, head, array));\n              else {\n                base = A._Parser_toType(t3, parser.e, head);\n                switch (base._kind) {\n                  case 11:\n                    t1.push(A._Universe__lookupGenericFunctionRti(t3, base, array, parser.n));\n                    break;\n                  default:\n                    t1.push(A._Universe__lookupBindingRti(t3, base, array));\n                    break;\n                }\n              }\n              break;\n            case 38:\n              A._Parser_handleExtendedOperations(parser, t1);\n              break;\n            case 42:\n              t3 = parser.u;\n              t1.push(A._Universe__lookupStarRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));\n              break;\n            case 63:\n              t3 = parser.u;\n              t1.push(A._Universe__lookupQuestionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));\n              break;\n            case 47:\n              t3 = parser.u;\n              t1.push(A._Universe__lookupFutureOrRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));\n              break;\n            case 40:\n              t1.push(parser.p);\n              parser.p = t1.length;\n              break;\n            case 41:\n              t3 = parser.u;\n              parameters = new A._FunctionParameters();\n              optionalPositional = t3.sEA;\n              named = t3.sEA;\n              head = t1.pop();\n              if (typeof head == \"number\")\n                switch (head) {\n                  case -1:\n                    optionalPositional = t1.pop();\n                    break;\n                  case -2:\n                    named = t1.pop();\n                    break;\n                  default:\n                    t1.push(head);\n                    break;\n                }\n              else\n                t1.push(head);\n              array = t1.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = t1.pop();\n              parameters._requiredPositional = array;\n              parameters._optionalPositional = optionalPositional;\n              parameters._named = named;\n              t1.push(A._Universe__lookupFunctionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parameters));\n              break;\n            case 91:\n              t1.push(parser.p);\n              parser.p = t1.length;\n              break;\n            case 93:\n              array = t1.splice(parser.p);\n              A._Parser_toTypes(parser.u, parser.e, array);\n              parser.p = t1.pop();\n              t1.push(array);\n              t1.push(-1);\n              break;\n            case 123:\n              t1.push(parser.p);\n              parser.p = t1.length;\n              break;\n            case 125:\n              array = t1.splice(parser.p);\n              A._Parser_toTypesNamed(parser.u, parser.e, array);\n              parser.p = t1.pop();\n              t1.push(array);\n              t1.push(-2);\n              break;\n            default:\n              throw \"Bad character \" + ch;\n          }\n        }\n      }\n      item = t1.pop();\n      return A._Parser_toType(parser.u, parser.e, item);\n    }",
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.pop": {
         "id": "function/dart:_rti::_Parser.pop",
@@ -9894,14 +9995,15 @@
         "parameters": [
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 16,
         "code": "",
-        "type": "Object? Function(Object?)"
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.position": {
         "id": "function/dart:_rti::_Parser.position",
@@ -9922,14 +10024,15 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 8,
         "code": "",
-        "type": "int Function(Object?)"
+        "type": "int Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.push": {
         "id": "function/dart:_rti::_Parser.push",
@@ -9950,7 +10053,7 @@
         "parameters": [
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -9962,7 +10065,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 29,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.pushStackFrame": {
         "id": "function/dart:_rti::_Parser.pushStackFrame",
@@ -9983,19 +10087,20 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "stack",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.recipe": {
         "id": "function/dart:_rti::_Parser.recipe",
@@ -10016,14 +10121,15 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.setPosition": {
         "id": "function/dart:_rti::_Parser.setPosition",
@@ -10044,7 +10150,7 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -10056,7 +10162,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 8,
         "code": "",
-        "type": "void Function(Object?,int)"
+        "type": "void Function(Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.stack": {
         "id": "function/dart:_rti::_Parser.stack",
@@ -10077,14 +10184,15 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.toGenericFunctionParameter": {
         "id": "function/dart:_rti::_Parser.toGenericFunctionParameter",
@@ -10101,7 +10209,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -10117,7 +10225,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,Object?)"
+        "type": "Rti Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.toType": {
         "id": "function/dart:_rti::_Parser.toType",
@@ -10134,7 +10243,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -10155,7 +10264,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_toType(universe, environment, item) {\n      if (typeof item == \"string\")\n        return A._Universe__lookupInterfaceRti(universe, item, universe.sEA);\n      else if (typeof item == \"number\")\n        return A._Parser_indexToType(universe, environment, item);\n      else\n        return item;\n    }",
-        "type": "Rti Function(Object?,Rti,Object?)"
+        "type": "Rti Function(Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.toTypes": {
         "id": "function/dart:_rti::_Parser.toTypes",
@@ -10193,7 +10303,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_toTypes(universe, environment, items) {\n      var i,\n        $length = items.length;\n      for (i = 0; i < $length; ++i)\n        items[i] = A._Parser_toType(universe, environment, items[i]);\n    }",
-        "type": "void Function(Object?,Rti,Object?)"
+        "type": "void Function(Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.toTypesNamed": {
         "id": "function/dart:_rti::_Parser.toTypesNamed",
@@ -10231,7 +10342,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Parser_toTypesNamed(universe, environment, items) {\n      var i,\n        $length = items.length;\n      for (i = 2; i < $length; i += 3)\n        items[i] = A._Parser_toType(universe, environment, items[i]);\n    }",
-        "type": "void Function(Object?,Rti,Object?)"
+        "type": "void Function(Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Parser.universe": {
         "id": "function/dart:_rti::_Parser.universe",
@@ -10252,64 +10364,15 @@
         "parameters": [
           {
             "name": "parser",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 18,
         "code": "",
-        "type": "Object Function(Object?)"
-      },
-      "dart:_rti::_Type._Type": {
-        "id": "function/dart:_rti::_Type._Type",
-        "kind": "function",
-        "name": "_Type",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_rti::_Type",
-        "children": [],
-        "modifiers": {
-          "static": false,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "dynamic",
-        "inferredReturnType": "[exact=_Type]",
-        "parameters": [
-          {
-            "name": "_rti",
-            "type": "[null|exact=Rti]",
-            "declaredType": "Rti"
-          }
-        ],
-        "sideEffects": "SideEffects(reads field; writes field)",
-        "inlinedCount": 3,
-        "code": "",
-        "type": "dynamic Function(Rti)"
-      },
-      "dart:_rti::_Type.toString": {
-        "id": "function/dart:_rti::_Type.toString",
-        "kind": "function",
-        "name": "toString",
-        "size": 67,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_rti::_Type",
-        "children": [],
-        "modifiers": {
-          "static": false,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "String",
-        "inferredReturnType": "[null|exact=JSString]",
-        "parameters": [],
-        "sideEffects": "SideEffects(reads anything; writes anything)",
-        "inlinedCount": 0,
-        "code": "toString$0(_) {\n      return A._rtiToString(this._rti, null);\n    }",
-        "type": "String Function()"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_TypeError._TypeError.forType": {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
@@ -10342,7 +10405,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_TypeError__TypeError$forType(object, type) {\n      return new A._TypeError(\"TypeError: \" + A._Error_compose(object, null, type));\n    }",
-        "type": "_TypeError Function(dynamic,String)"
+        "type": "_TypeError Function(dynamic,String)",
+        "functionKind": 3
       },
       "dart:_rti::_TypeError._TypeError.fromMessage": {
         "id": "function/dart:_rti::_TypeError._TypeError.fromMessage",
@@ -10370,7 +10434,8 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 1,
         "code": "_TypeError$fromMessage(message) {\n      return new A._TypeError(\"TypeError: \" + message);\n    }",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:_rti::_Universe._canonicalRecipeJoin": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeJoin",
@@ -10398,7 +10463,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "_Universe__canonicalRecipeJoin($arguments) {\n      var s, sep, i,\n        $length = $arguments.length;\n      for (s = \"\", sep = \"\", i = 0; i < $length; ++i, sep = \",\")\n        s += sep + $arguments[i]._canonicalRecipe;\n      return s;\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeJoinNamed": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeJoinNamed",
@@ -10426,7 +10492,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "_Universe__canonicalRecipeJoinNamed($arguments) {\n      var s, sep, i, t1, nameSep,\n        $length = $arguments.length;\n      for (s = \"\", sep = \"\", i = 0; i < $length; i += 3, sep = \",\") {\n        t1 = $arguments[i];\n        nameSep = $arguments[i + 1] ? \"!\" : \":\";\n        s += sep + t1 + nameSep + $arguments[i + 2]._canonicalRecipe;\n      }\n      return s;\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfAny": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfAny",
@@ -10448,7 +10515,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfBinding": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfBinding",
@@ -10469,7 +10537,7 @@
         "parameters": [
           {
             "name": "base",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -10481,7 +10549,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti,Object?)"
+        "type": "String Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfDynamic": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfDynamic",
@@ -10503,7 +10572,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfErased": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfErased",
@@ -10525,7 +10595,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfFunction": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfFunction",
@@ -10546,7 +10617,7 @@
         "parameters": [
           {
             "name": "returnType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -10558,7 +10629,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti,_FunctionParameters)"
+        "type": "String Function(Rti,_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfFunctionParameters": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfFunctionParameters",
@@ -10586,7 +10658,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(_FunctionParameters)"
+        "type": "String Function(_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfFutureOr": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfFutureOr",
@@ -10607,14 +10680,15 @@
         "parameters": [
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti)"
+        "type": "String Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfGenericFunction": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfGenericFunction",
@@ -10635,7 +10709,7 @@
         "parameters": [
           {
             "name": "baseFunctionType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -10647,7 +10721,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti,Object?)"
+        "type": "String Function(Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfGenericFunctionParameter": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfGenericFunctionParameter",
@@ -10675,7 +10750,8 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(int)"
+        "type": "String Function(int)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfInterface": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfInterface",
@@ -10696,7 +10772,7 @@
         "parameters": [
           {
             "name": "name",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -10708,7 +10784,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String,Object?)"
+        "type": "String Function(String,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfNever": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfNever",
@@ -10730,7 +10807,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfQuestion": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfQuestion",
@@ -10751,14 +10829,15 @@
         "parameters": [
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti)"
+        "type": "String Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfStar": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfStar",
@@ -10779,14 +10858,15 @@
         "parameters": [
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(Rti)"
+        "type": "String Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._canonicalRecipeOfVoid": {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfVoid",
@@ -10808,7 +10888,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createBindingRti": {
         "id": "function/dart:_rti::_Universe._createBindingRti",
@@ -10834,7 +10915,7 @@
           },
           {
             "name": "base",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -10851,7 +10932,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,Rti,Object?,String)"
+        "type": "Rti Function(Object?,Rti,Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createFunctionRti": {
         "id": "function/dart:_rti::_Universe._createFunctionRti",
@@ -10872,12 +10954,12 @@
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "returnType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -10894,13 +10976,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,Rti,_FunctionParameters,String)"
+        "type": "Rti Function(Object?,Rti,_FunctionParameters,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createFutureOrRti": {
         "id": "function/dart:_rti::_Universe._createFutureOrRti",
         "kind": "function",
         "name": "_createFutureOrRti",
-        "size": 841,
+        "size": 821,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_rti::_Universe",
         "children": [],
@@ -10915,12 +10998,12 @@
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -10936,8 +11019,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Universe__createFutureOrRti(universe, baseType, key, normalize) {\n      var t1, t2, rti;\n      if (normalize) {\n        t1 = baseType._kind;\n        if (!A.isStrongTopType(baseType))\n          if (!(baseType === type$.legacy_Object))\n            t2 = baseType === type$.Object;\n          else\n            t2 = true;\n        else\n          t2 = true;\n        if (t2 || baseType === type$.Object)\n          return baseType;\n        else if (t1 === 1)\n          return A._Universe__lookupInterfaceRti(universe, \"Future\", [baseType]);\n        else if (baseType === type$.Null || baseType === type$.JSNull)\n          return type$.nullable_Future_Null;\n      }\n      rti = new A.Rti(null, null);\n      rti._kind = 8;\n      rti._primary = baseType;\n      rti._canonicalRecipe = key;\n      return A._Universe__installTypeTests(universe, rti);\n    }",
-        "type": "Rti Function(Object?,Rti,String,bool)"
+        "code": "_Universe__createFutureOrRti(universe, baseType, key, normalize) {\n      var t1, t2, rti;\n      if (normalize) {\n        t1 = baseType._kind;\n        if (!A.isStrongTopType(baseType))\n          if (!(baseType === type$.legacy_Object))\n            t2 = false;\n          else\n            t2 = true;\n        else\n          t2 = true;\n        if (t2 || baseType === type$.Object)\n          return baseType;\n        else if (t1 === 1)\n          return A._Universe__lookupInterfaceRti(universe, \"Future\", [baseType]);\n        else if (baseType === type$.Null || baseType === type$.JSNull)\n          return type$.nullable_Future_Null;\n      }\n      rti = new A.Rti(null, null);\n      rti._kind = 8;\n      rti._primary = baseType;\n      rti._canonicalRecipe = key;\n      return A._Universe__installTypeTests(universe, rti);\n    }",
+        "type": "Rti Function(Object?,Rti,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createGenericFunctionParameterRti": {
         "id": "function/dart:_rti::_Universe._createGenericFunctionParameterRti",
@@ -10975,7 +11059,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,int,String)"
+        "type": "Rti Function(Object?,int,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createGenericFunctionRti": {
         "id": "function/dart:_rti::_Universe._createGenericFunctionRti",
@@ -10992,16 +11077,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseFunctionType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -11023,7 +11108,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize) {\n      var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti;\n      if (normalize) {\n        $length = bounds.length;\n        typeArguments = A._Utils_newArrayOrEmpty($length);\n        for (count = 0, i = 0; i < $length; ++i) {\n          bound = bounds[i];\n          if (bound._kind === 1) {\n            typeArguments[i] = bound;\n            ++count;\n          }\n        }\n        if (count > 0) {\n          substitutedBase = A._substitute(universe, baseFunctionType, typeArguments, 0);\n          substitutedBounds = A._substituteArray(universe, bounds, typeArguments, 0);\n          return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds);\n        }\n      }\n      rti = new A.Rti(null, null);\n      rti._kind = 12;\n      rti._primary = baseFunctionType;\n      rti._rest = bounds;\n      rti._canonicalRecipe = key;\n      return A._Universe__installTypeTests(universe, rti);\n    }",
-        "type": "Rti Function(Object?,Rti,Object?,String,bool)"
+        "type": "Rti Function(Object?,Rti,Object?,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createInterfaceRti": {
         "id": "function/dart:_rti::_Universe._createInterfaceRti",
@@ -11049,7 +11135,7 @@
           },
           {
             "name": "name",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -11066,7 +11152,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,String,Object?,String)"
+        "type": "Rti Function(Object?,String,Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createQuestionRti": {
         "id": "function/dart:_rti::_Universe._createQuestionRti",
@@ -11092,7 +11179,7 @@
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -11109,7 +11196,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__createQuestionRti(universe, baseType, key, normalize) {\n      var baseKind, t1, starArgument, rti;\n      if (normalize) {\n        baseKind = baseType._kind;\n        if (!A.isStrongTopType(baseType))\n          if (!(baseType === type$.Null || baseType === type$.JSNull))\n            if (baseKind !== 7)\n              t1 = baseKind === 8 && A.isNullable(baseType._primary);\n            else\n              t1 = true;\n          else\n            t1 = true;\n        else\n          t1 = true;\n        if (t1)\n          return baseType;\n        else if (baseKind === 1 || baseType === type$.legacy_Never)\n          return type$.Null;\n        else if (baseKind === 6) {\n          starArgument = baseType._primary;\n          if (starArgument._kind === 8 && A.isNullable(starArgument._primary))\n            return starArgument;\n          else\n            return A.Rti__getQuestionFromStar(universe, baseType);\n        }\n      }\n      rti = new A.Rti(null, null);\n      rti._kind = 7;\n      rti._primary = baseType;\n      rti._canonicalRecipe = key;\n      return A._Universe__installTypeTests(universe, rti);\n    }",
-        "type": "Rti Function(Object?,Rti,String,bool)"
+        "type": "Rti Function(Object?,Rti,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createStarRti": {
         "id": "function/dart:_rti::_Universe._createStarRti",
@@ -11126,16 +11214,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -11152,7 +11240,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__createStarRti(universe, baseType, key, normalize) {\n      var baseKind, t1, rti;\n      if (normalize) {\n        baseKind = baseType._kind;\n        if (!A.isStrongTopType(baseType))\n          t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6;\n        else\n          t1 = true;\n        if (t1)\n          return baseType;\n      }\n      rti = new A.Rti(null, null);\n      rti._kind = 6;\n      rti._primary = baseType;\n      rti._canonicalRecipe = key;\n      return A._Universe__installTypeTests(universe, rti);\n    }",
-        "type": "Rti Function(Object?,Rti,String,bool)"
+        "type": "Rti Function(Object?,Rti,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._createTerminalRti": {
         "id": "function/dart:_rti::_Universe._createTerminalRti",
@@ -11190,7 +11279,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,int,String)"
+        "type": "Rti Function(Object?,int,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._findRule": {
         "id": "function/dart:_rti::_Universe._findRule",
@@ -11223,7 +11313,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "Object? Function(Object?,String)"
+        "type": "Object? Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._installRti": {
         "id": "function/dart:_rti::_Universe._installRti",
@@ -11240,7 +11331,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11261,7 +11352,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 9,
         "code": "",
-        "type": "Rti Function(Object?,String,Rti)"
+        "type": "Rti Function(Object?,String,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._installTypeTests": {
         "id": "function/dart:_rti::_Universe._installTypeTests",
@@ -11294,7 +11386,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__installTypeTests(universe, rti) {\n      rti._as = A._installSpecializedAsCheck;\n      rti._is = A._installSpecializedIsTest;\n      return rti;\n    }",
-        "type": "Rti Function(Object?,Rti)"
+        "type": "Rti Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupAnyRti": {
         "id": "function/dart:_rti::_Universe._lookupAnyRti",
@@ -11311,7 +11404,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11322,7 +11415,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupBindingRti": {
         "id": "function/dart:_rti::_Universe._lookupBindingRti",
@@ -11339,7 +11433,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11348,7 +11442,7 @@
           },
           {
             "name": "base",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -11360,7 +11454,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupBindingRti(universe, base, $arguments) {\n      var newBase, newArguments, key, probe, rti, t1;\n      if (base._kind === 10) {\n        newBase = base._primary;\n        newArguments = base._rest.concat($arguments);\n      } else {\n        newArguments = $arguments;\n        newBase = base;\n      }\n      key = newBase._canonicalRecipe + (\";<\" + A._Universe__canonicalRecipeJoin(newArguments) + \">\");\n      probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      rti = new A.Rti(null, null);\n      rti._kind = 10;\n      rti._primary = newBase;\n      rti._rest = newArguments;\n      rti._canonicalRecipe = key;\n      t1 = A._Universe__installTypeTests(universe, rti);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,Object?)"
+        "type": "Rti Function(Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupDynamicRti": {
         "id": "function/dart:_rti::_Universe._lookupDynamicRti",
@@ -11377,7 +11472,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11388,7 +11483,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupErasedRti": {
         "id": "function/dart:_rti::_Universe._lookupErasedRti",
@@ -11405,7 +11501,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11416,7 +11512,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupFunctionRti": {
         "id": "function/dart:_rti::_Universe._lookupFunctionRti",
@@ -11433,16 +11530,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "returnType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -11454,7 +11551,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupFunctionRti(universe, returnType, parameters) {\n      var sep, key, probe, rti, t1,\n        s = returnType._canonicalRecipe,\n        requiredPositional = parameters._requiredPositional,\n        requiredPositionalLength = requiredPositional.length,\n        optionalPositional = parameters._optionalPositional,\n        optionalPositionalLength = optionalPositional.length,\n        named = parameters._named,\n        namedLength = named.length,\n        recipe = \"(\" + A._Universe__canonicalRecipeJoin(requiredPositional);\n      if (optionalPositionalLength > 0) {\n        sep = requiredPositionalLength > 0 ? \",\" : \"\";\n        recipe += sep + \"[\" + A._Universe__canonicalRecipeJoin(optionalPositional) + \"]\";\n      }\n      if (namedLength > 0) {\n        sep = requiredPositionalLength > 0 ? \",\" : \"\";\n        recipe += sep + \"{\" + A._Universe__canonicalRecipeJoinNamed(named) + \"}\";\n      }\n      key = s + (recipe + \")\");\n      probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      rti = new A.Rti(null, null);\n      rti._kind = 11;\n      rti._primary = returnType;\n      rti._rest = parameters;\n      rti._canonicalRecipe = key;\n      t1 = A._Universe__installTypeTests(universe, rti);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,_FunctionParameters)"
+        "type": "Rti Function(Object?,Rti,_FunctionParameters)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupFutureOrRti": {
         "id": "function/dart:_rti::_Universe._lookupFutureOrRti",
@@ -11471,16 +11569,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -11492,7 +11590,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupFutureOrRti(universe, baseType, normalize) {\n      var t1,\n        key = baseType._canonicalRecipe + \"/\",\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      t1 = A._Universe__createFutureOrRti(universe, baseType, key, normalize);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,bool)"
+        "type": "Rti Function(Object?,Rti,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupFutureRti": {
         "id": "function/dart:_rti::_Universe._lookupFutureRti",
@@ -11509,7 +11608,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11518,14 +11617,15 @@
           },
           {
             "name": "base",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Rti Function(Object?,Rti)"
+        "type": "Rti Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupGenericFunctionParameterRti": {
         "id": "function/dart:_rti::_Universe._lookupGenericFunctionParameterRti",
@@ -11542,7 +11642,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11558,7 +11658,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupGenericFunctionParameterRti(universe, index) {\n      var rti, t1,\n        key = \"\" + index + \"^\",\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      rti = new A.Rti(null, null);\n      rti._kind = 13;\n      rti._primary = index;\n      rti._canonicalRecipe = key;\n      t1 = A._Universe__installTypeTests(universe, rti);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,int)"
+        "type": "Rti Function(Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupGenericFunctionRti": {
         "id": "function/dart:_rti::_Universe._lookupGenericFunctionRti",
@@ -11575,16 +11676,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseFunctionType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -11601,7 +11702,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupGenericFunctionRti(universe, baseFunctionType, bounds, normalize) {\n      var t1,\n        key = baseFunctionType._canonicalRecipe + (\"<\" + A._Universe__canonicalRecipeJoin(bounds) + \">\"),\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      t1 = A._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,Object?,bool)"
+        "type": "Rti Function(Object?,Rti,Object?,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupInterfaceRti": {
         "id": "function/dart:_rti::_Universe._lookupInterfaceRti",
@@ -11618,7 +11720,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11639,7 +11741,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupInterfaceRti(universe, $name, $arguments) {\n      var probe, rti, t1,\n        s = $name;\n      if ($arguments.length > 0)\n        s += \"<\" + A._Universe__canonicalRecipeJoin($arguments) + \">\";\n      probe = universe.eC.get(s);\n      if (probe != null)\n        return probe;\n      rti = new A.Rti(null, null);\n      rti._kind = 9;\n      rti._primary = $name;\n      rti._rest = $arguments;\n      if ($arguments.length > 0)\n        rti._precomputed1 = $arguments[0];\n      rti._canonicalRecipe = s;\n      t1 = A._Universe__installTypeTests(universe, rti);\n      universe.eC.set(s, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,String,Object?)"
+        "type": "Rti Function(Object?,String,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupNeverRti": {
         "id": "function/dart:_rti::_Universe._lookupNeverRti",
@@ -11656,7 +11759,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11667,7 +11770,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupQuestionRti": {
         "id": "function/dart:_rti::_Universe._lookupQuestionRti",
@@ -11684,7 +11788,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11693,7 +11797,7 @@
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -11705,7 +11809,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupQuestionRti(universe, baseType, normalize) {\n      var t1,\n        key = baseType._canonicalRecipe + \"?\",\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      t1 = A._Universe__createQuestionRti(universe, baseType, key, normalize);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,bool)"
+        "type": "Rti Function(Object?,Rti,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupStarRti": {
         "id": "function/dart:_rti::_Universe._lookupStarRti",
@@ -11722,16 +11827,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "baseType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -11743,7 +11848,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupStarRti(universe, baseType, normalize) {\n      var t1,\n        key = baseType._canonicalRecipe + \"*\",\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      t1 = A._Universe__createStarRti(universe, baseType, key, normalize);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,Rti,bool)"
+        "type": "Rti Function(Object?,Rti,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupTerminalRti": {
         "id": "function/dart:_rti::_Universe._lookupTerminalRti",
@@ -11760,7 +11866,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11781,7 +11887,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe__lookupTerminalRti(universe, kind, key) {\n      var rti, t1,\n        probe = universe.eC.get(key);\n      if (probe != null)\n        return probe;\n      rti = new A.Rti(null, null);\n      rti._kind = kind;\n      rti._canonicalRecipe = key;\n      t1 = A._Universe__installTypeTests(universe, rti);\n      universe.eC.set(key, t1);\n      return t1;\n    }",
-        "type": "Rti Function(Object?,int,String)"
+        "type": "Rti Function(Object?,int,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._lookupVoidRti": {
         "id": "function/dart:_rti::_Universe._lookupVoidRti",
@@ -11798,7 +11905,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11809,7 +11916,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._parseRecipe": {
         "id": "function/dart:_rti::_Universe._parseRecipe",
@@ -11826,7 +11934,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -11840,7 +11948,7 @@
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -11852,7 +11960,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Rti Function(Object?,Object?,String,bool)"
+        "type": "Rti Function(Object?,Object?,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._recipeJoin": {
         "id": "function/dart:_rti::_Universe._recipeJoin",
@@ -11885,7 +11994,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 9,
         "code": "",
-        "type": "String Function(String,String)"
+        "type": "String Function(String,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._recipeJoin3": {
         "id": "function/dart:_rti::_Universe._recipeJoin3",
@@ -11923,7 +12033,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String,String,String)"
+        "type": "String Function(String,String,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._recipeJoin4": {
         "id": "function/dart:_rti::_Universe._recipeJoin4",
@@ -11966,7 +12077,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "String Function(String,String,String,String)"
+        "type": "String Function(String,String,String,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe._recipeJoin5": {
         "id": "function/dart:_rti::_Universe._recipeJoin5",
@@ -12014,7 +12126,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "String Function(String,String,String,String,String)"
+        "type": "String Function(String,String,String,String,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.addErasedTypes": {
         "id": "function/dart:_rti::_Universe.addErasedTypes",
@@ -12047,7 +12160,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe_addErasedTypes(universe, types) {\n      return A._Utils_objectAssign(universe.eT, types);\n    }",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.addRules": {
         "id": "function/dart:_rti::_Universe.addRules",
@@ -12080,7 +12194,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe_addRules(universe, rules) {\n      return A._Utils_objectAssign(universe.tR, rules);\n    }",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.bind": {
         "id": "function/dart:_rti::_Universe.bind",
@@ -12097,7 +12212,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -12118,7 +12233,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe_bind(universe, environment, argumentsRti) {\n      var argumentsRecipe, probe, rti,\n        cache = environment._bindCache;\n      if (cache == null)\n        cache = environment._bindCache = new Map();\n      argumentsRecipe = argumentsRti._canonicalRecipe;\n      probe = cache.get(argumentsRecipe);\n      if (probe != null)\n        return probe;\n      rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]);\n      cache.set(argumentsRecipe, rti);\n      return rti;\n    }",
-        "type": "Rti Function(Object?,Rti,Rti)"
+        "type": "Rti Function(Object?,Rti,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.erasedTypes": {
         "id": "function/dart:_rti::_Universe.erasedTypes",
@@ -12146,13 +12262,14 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.eval": {
         "id": "function/dart:_rti::_Universe.eval",
         "kind": "function",
         "name": "eval",
-        "size": 307,
+        "size": 298,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_rti::_Universe",
         "children": [],
@@ -12163,7 +12280,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -12172,7 +12289,7 @@
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           },
           {
@@ -12183,8 +12300,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Universe_eval(universe, recipe, normalize) {\n      var rti,\n        cache = universe.eC,\n        probe = cache.get(recipe);\n      if (probe != null)\n        return probe;\n      rti = A._Parser_parse(A._Parser_create(universe, null, recipe, normalize));\n      cache.set(recipe, rti);\n      return rti;\n    }",
-        "type": "Rti Function(Object?,String,bool)"
+        "code": "_Universe_eval(universe, recipe, normalize) {\n      var rti,\n        t1 = universe.eC,\n        probe = t1.get(recipe);\n      if (probe != null)\n        return probe;\n      rti = A._Parser_parse(A._Parser_create(universe, null, recipe, normalize));\n      t1.set(recipe, rti);\n      return rti;\n    }",
+        "type": "Rti Function(Object?,String,bool)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.evalCache": {
         "id": "function/dart:_rti::_Universe.evalCache",
@@ -12212,7 +12330,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 19,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.evalInEnvironment": {
         "id": "function/dart:_rti::_Universe.evalInEnvironment",
@@ -12229,7 +12348,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -12238,19 +12357,20 @@
           },
           {
             "name": "environment",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Universe_evalInEnvironment(universe, environment, recipe) {\n      var probe, rti,\n        cache = environment._evalCache;\n      if (cache == null)\n        cache = environment._evalCache = new Map();\n      probe = cache.get(recipe);\n      if (probe != null)\n        return probe;\n      rti = A._Parser_parse(A._Parser_create(universe, environment, recipe, true));\n      cache.set(recipe, rti);\n      return rti;\n    }",
-        "type": "Rti Function(Object?,Rti,String)"
+        "type": "Rti Function(Object?,Rti,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.evalTypeVariable": {
         "id": "function/dart:_rti::_Universe.evalTypeVariable",
@@ -12267,7 +12387,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -12288,13 +12408,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,Rti,String)"
+        "type": "Rti Function(Object?,Rti,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.findErasedType": {
         "id": "function/dart:_rti::_Universe.findErasedType",
         "kind": "function",
         "name": "findErasedType",
-        "size": 686,
+        "size": 668,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_rti::_Universe",
         "children": [],
@@ -12305,7 +12426,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
@@ -12320,8 +12441,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Universe_findErasedType(universe, cls) {\n      var $length, erased, $arguments, i, $interface,\n        metadata = universe.eT,\n        probe = metadata[cls];\n      if (probe == null)\n        return A._Universe_eval(universe, cls, false);\n      else if (typeof probe == \"number\") {\n        $length = probe;\n        erased = A._Universe__lookupTerminalRti(universe, 5, \"#\");\n        $arguments = A._Utils_newArrayOrEmpty($length);\n        for (i = 0; i < $length; ++i)\n          $arguments[i] = erased;\n        $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments);\n        metadata[cls] = $interface;\n        return $interface;\n      } else\n        return probe;\n    }",
-        "type": "Rti Function(Object?,String)"
+        "code": "_Universe_findErasedType(universe, cls) {\n      var $length, erased, $arguments, i, $interface,\n        t1 = universe.eT,\n        probe = t1[cls];\n      if (probe == null)\n        return A._Universe_eval(universe, cls, false);\n      else if (typeof probe == \"number\") {\n        $length = probe;\n        erased = A._Universe__lookupTerminalRti(universe, 5, \"#\");\n        $arguments = A._Utils_newArrayOrEmpty($length);\n        for (i = 0; i < $length; ++i)\n          $arguments[i] = erased;\n        $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments);\n        t1[cls] = $interface;\n        return $interface;\n      } else\n        return probe;\n    }",
+        "type": "Rti Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.findRule": {
         "id": "function/dart:_rti::_Universe.findRule",
@@ -12354,7 +12476,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "_Universe_findRule(universe, targetType) {\n      var rule = universe.tR[targetType];\n      for (; typeof rule == \"string\";)\n        rule = universe.tR[rule];\n      return rule;\n    }",
-        "type": "Object? Function(Object?,String)"
+        "type": "Object? Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.findTypeParameterVariances": {
         "id": "function/dart:_rti::_Universe.findTypeParameterVariances",
@@ -12387,7 +12510,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object? Function(Object?,String)"
+        "type": "Object? Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.sharedEmptyArray": {
         "id": "function/dart:_rti::_Universe.sharedEmptyArray",
@@ -12415,7 +12539,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?)"
+        "type": "JSArray<dynamic> Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.typeParameterVariances": {
         "id": "function/dart:_rti::_Universe.typeParameterVariances",
@@ -12443,7 +12568,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Universe.typeRules": {
         "id": "function/dart:_rti::_Universe.typeRules",
@@ -12471,7 +12597,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 4,
         "code": "",
-        "type": "Object Function(Object?)"
+        "type": "Object Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.arrayAt": {
         "id": "function/dart:_rti::_Utils.arrayAt",
@@ -12504,7 +12631,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 44,
         "code": "",
-        "type": "Object? Function(Object?,int)"
+        "type": "Object? Function(Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.arrayConcat": {
         "id": "function/dart:_rti::_Utils.arrayConcat",
@@ -12537,7 +12665,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?,Object?)"
+        "type": "JSArray<dynamic> Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.arrayLength": {
         "id": "function/dart:_rti::_Utils.arrayLength",
@@ -12565,7 +12694,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 35,
         "code": "",
-        "type": "int Function(Object?)"
+        "type": "int Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.arraySetAt": {
         "id": "function/dart:_rti::_Utils.arraySetAt",
@@ -12596,14 +12726,15 @@
           },
           {
             "name": "value",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 7,
         "code": "",
-        "type": "void Function(Object?,int,Object?)"
+        "type": "void Function(Object?,int,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.arraySplice": {
         "id": "function/dart:_rti::_Utils.arraySplice",
@@ -12624,7 +12755,7 @@
         "parameters": [
           {
             "name": "array",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -12636,7 +12767,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?,int)"
+        "type": "JSArray<dynamic> Function(Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asBool": {
         "id": "function/dart:_rti::_Utils.asBool",
@@ -12664,7 +12796,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 6,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asDouble": {
         "id": "function/dart:_rti::_Utils.asDouble",
@@ -12692,7 +12825,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "double Function(Object?)"
+        "type": "double Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asInt": {
         "id": "function/dart:_rti::_Utils.asInt",
@@ -12720,7 +12854,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 42,
         "code": "",
-        "type": "int Function(Object?)"
+        "type": "int Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asNum": {
         "id": "function/dart:_rti::_Utils.asNum",
@@ -12748,7 +12883,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "num Function(Object?)"
+        "type": "num Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asRti": {
         "id": "function/dart:_rti::_Utils.asRti",
@@ -12776,7 +12912,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 96,
         "code": "",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asRtiOrNull": {
         "id": "function/dart:_rti::_Utils.asRtiOrNull",
@@ -12804,7 +12941,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Rti? Function(Object?)"
+        "type": "Rti? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.asString": {
         "id": "function/dart:_rti::_Utils.asString",
@@ -12830,9 +12968,10 @@
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
-        "inlinedCount": 34,
+        "inlinedCount": 33,
         "code": "",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.instanceOf": {
         "id": "function/dart:_rti::_Utils.instanceOf",
@@ -12865,7 +13004,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "bool Function(Object?,Object?)"
+        "type": "bool Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.isArray": {
         "id": "function/dart:_rti::_Utils.isArray",
@@ -12893,7 +13033,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.isIdentical": {
         "id": "function/dart:_rti::_Utils.isIdentical",
@@ -12926,7 +13067,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 59,
         "code": "",
-        "type": "bool Function(Object?,Object?)"
+        "type": "bool Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.isNotIdentical": {
         "id": "function/dart:_rti::_Utils.isNotIdentical",
@@ -12959,7 +13101,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function(Object?,Object?)"
+        "type": "bool Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.isNum": {
         "id": "function/dart:_rti::_Utils.isNum",
@@ -12987,7 +13130,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.isString": {
         "id": "function/dart:_rti::_Utils.isString",
@@ -13015,7 +13159,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.mapGet": {
         "id": "function/dart:_rti::_Utils.mapGet",
@@ -13041,14 +13186,15 @@
           },
           {
             "name": "key",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 12,
         "code": "",
-        "type": "Object? Function(Object?,Object?)"
+        "type": "Object? Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.mapSet": {
         "id": "function/dart:_rti::_Utils.mapSet",
@@ -13074,19 +13220,20 @@
           },
           {
             "name": "key",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "Object?"
           },
           {
             "name": "value",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 12,
         "code": "",
-        "type": "void Function(Object?,Object?,Object?)"
+        "type": "void Function(Object?,Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.newArrayOrEmpty": {
         "id": "function/dart:_rti::_Utils.newArrayOrEmpty",
@@ -13114,7 +13261,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "_Utils_newArrayOrEmpty($length) {\n      return $length > 0 ? new Array($length) : init.typeUniverse.sEA;\n    }",
-        "type": "Object? Function(int)"
+        "type": "Object? Function(int)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.objectAssign": {
         "id": "function/dart:_rti::_Utils.objectAssign",
@@ -13147,7 +13295,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Utils_objectAssign(o, other) {\n      var i, key,\n        keys = Object.keys(other),\n        $length = keys.length;\n      for (i = 0; i < $length; ++i) {\n        key = keys[i];\n        o[key] = other[key];\n      }\n    }",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.objectKeys": {
         "id": "function/dart:_rti::_Utils.objectKeys",
@@ -13175,7 +13324,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "JSArray<dynamic> Function(Object?)"
+        "type": "JSArray<dynamic> Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.stringLessThan": {
         "id": "function/dart:_rti::_Utils.stringLessThan",
@@ -13208,7 +13358,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(String,String)"
+        "type": "bool Function(String,String)",
+        "functionKind": 0
       },
       "dart:_rti::_Utils.substring": {
         "id": "function/dart:_rti::_Utils.substring",
@@ -13246,7 +13397,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String,int,int)"
+        "type": "String Function(String,int,int)",
+        "functionKind": 0
       },
       "dart:_rti::_areArgumentsSubtypes": {
         "id": "function/dart:_rti::_areArgumentsSubtypes",
@@ -13299,7 +13451,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv) {\n      var i, t1, t2,\n        $length = sArgs.length;\n      for (i = 0; i < $length; ++i) {\n        t1 = sArgs[i];\n        t2 = tArgs[i];\n        if (!A._isSubtype(universe, t1, sEnv, t2, tEnv))\n          return false;\n      }\n      return true;\n    }",
-        "type": "bool Function(Object?,Object?,Object?,Object?,Object?,Object?)"
+        "type": "bool Function(Object?,Object?,Object?,Object?,Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_arrayInstanceType": {
         "id": "function/dart:_rti::_arrayInstanceType",
@@ -13327,7 +13480,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_arrayInstanceType(object) {\n      var rti = object[init.arrayRti],\n        defaultRti = type$.JSArray_dynamic;\n      if (rti == null)\n        return defaultRti;\n      if (rti.constructor !== defaultRti.constructor)\n        return defaultRti;\n      return rti;\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asBool": {
         "id": "function/dart:_rti::_asBool",
@@ -13355,7 +13509,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asBool(object) {\n      if (true === object)\n        return true;\n      if (false === object)\n        return false;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"bool\"));\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asBoolQ": {
         "id": "function/dart:_rti::_asBoolQ",
@@ -13383,7 +13538,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asBoolQ(object) {\n      if (true === object)\n        return true;\n      if (false === object)\n        return false;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"bool?\"));\n    }",
-        "type": "bool? Function(dynamic)"
+        "type": "bool? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asBoolS": {
         "id": "function/dart:_rti::_asBoolS",
@@ -13411,7 +13567,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asBoolS(object) {\n      if (true === object)\n        return true;\n      if (false === object)\n        return false;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"bool\"));\n    }",
-        "type": "bool? Function(dynamic)"
+        "type": "bool? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asDouble": {
         "id": "function/dart:_rti::_asDouble",
@@ -13439,7 +13596,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asDouble(object) {\n      if (typeof object == \"number\")\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"double\"));\n    }",
-        "type": "double Function(Object?)"
+        "type": "double Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asDoubleQ": {
         "id": "function/dart:_rti::_asDoubleQ",
@@ -13467,7 +13625,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asDoubleQ(object) {\n      if (typeof object == \"number\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"double?\"));\n    }",
-        "type": "double? Function(dynamic)"
+        "type": "double? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asDoubleS": {
         "id": "function/dart:_rti::_asDoubleS",
@@ -13495,7 +13654,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asDoubleS(object) {\n      if (typeof object == \"number\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"double\"));\n    }",
-        "type": "double? Function(dynamic)"
+        "type": "double? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asInt": {
         "id": "function/dart:_rti::_asInt",
@@ -13523,7 +13683,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asInt(object) {\n      if (typeof object == \"number\" && Math.floor(object) === object)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"int\"));\n    }",
-        "type": "int Function(Object?)"
+        "type": "int Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asIntQ": {
         "id": "function/dart:_rti::_asIntQ",
@@ -13551,7 +13712,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asIntQ(object) {\n      if (typeof object == \"number\" && Math.floor(object) === object)\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"int?\"));\n    }",
-        "type": "int? Function(dynamic)"
+        "type": "int? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asIntS": {
         "id": "function/dart:_rti::_asIntS",
@@ -13579,7 +13741,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asIntS(object) {\n      if (typeof object == \"number\" && Math.floor(object) === object)\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"int\"));\n    }",
-        "type": "int? Function(dynamic)"
+        "type": "int? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asNum": {
         "id": "function/dart:_rti::_asNum",
@@ -13607,7 +13770,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asNum(object) {\n      if (typeof object == \"number\")\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"num\"));\n    }",
-        "type": "num Function(Object?)"
+        "type": "num Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asNumQ": {
         "id": "function/dart:_rti::_asNumQ",
@@ -13635,7 +13799,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asNumQ(object) {\n      if (typeof object == \"number\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"num?\"));\n    }",
-        "type": "num? Function(dynamic)"
+        "type": "num? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asNumS": {
         "id": "function/dart:_rti::_asNumS",
@@ -13663,13 +13828,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asNumS(object) {\n      if (typeof object == \"number\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"num\"));\n    }",
-        "type": "num? Function(dynamic)"
+        "type": "num? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asObject": {
         "id": "function/dart:_rti::_asObject",
         "kind": "function",
         "name": "_asObject",
-        "size": 46,
+        "size": 154,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -13690,8 +13856,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_asObject(object) {\n      return object;\n    }",
-        "type": "Object? Function(Object?)"
+        "code": "_asObject(object) {\n      if (object != null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"Object\"));\n    }",
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asString": {
         "id": "function/dart:_rti::_asString",
@@ -13719,7 +13886,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asString(object) {\n      if (typeof object == \"string\")\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"String\"));\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_asStringQ": {
         "id": "function/dart:_rti::_asStringQ",
@@ -13747,7 +13915,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asStringQ(object) {\n      if (typeof object == \"string\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"String?\"));\n    }",
-        "type": "String? Function(dynamic)"
+        "type": "String? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asStringS": {
         "id": "function/dart:_rti::_asStringS",
@@ -13775,7 +13944,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asStringS(object) {\n      if (typeof object == \"string\")\n        return object;\n      if (object == null)\n        return object;\n      throw A.wrapException(A._TypeError__TypeError$forType(object, \"String\"));\n    }",
-        "type": "String? Function(dynamic)"
+        "type": "String? Function(dynamic)",
+        "functionKind": 0
       },
       "dart:_rti::_asTop": {
         "id": "function/dart:_rti::_asTop",
@@ -13803,7 +13973,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_asTop(object) {\n      return object;\n    }",
-        "type": "Object? Function(Object?)"
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_failedAsCheck": {
         "id": "function/dart:_rti::_failedAsCheck",
@@ -13836,7 +14007,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_failedAsCheck(object, testRti) {\n      throw A.wrapException(A._TypeError$fromMessage(A._Error_compose(object, A.instanceOrFunctionType(object, testRti), A._rtiToString(testRti, null))));\n    }",
-        "type": "void Function(Object?,Rti)"
+        "type": "void Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_finishIsFn": {
         "id": "function/dart:_rti::_finishIsFn",
@@ -13874,13 +14046,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_finishIsFn(testRti, object, isFn) {\n      testRti._is = isFn;\n      return testRti._is(object);\n    }",
-        "type": "bool Function(Rti,Object?,Object?)"
+        "type": "bool Function(Rti,Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_functionRtiToString": {
         "id": "function/dart:_rti::_functionRtiToString",
         "kind": "function",
         "name": "_functionRtiToString",
-        "size": 3339,
+        "size": 3219,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -13895,7 +14068,7 @@
         "parameters": [
           {
             "name": "functionType",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -13911,14 +14084,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_functionRtiToString(functionType, genericContext, bounds) {\n      var boundsLength, outerContextLength, offset, i, t1, t2, t3, typeParametersText, typeSep, t4, t5, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = \", \";\n      if (bounds != null) {\n        boundsLength = bounds.length;\n        if (genericContext == null) {\n          genericContext = A._setArrayType([], type$.JSArray_String);\n          outerContextLength = null;\n        } else\n          outerContextLength = genericContext.length;\n        offset = genericContext.length;\n        for (i = boundsLength; i > 0; --i)\n          B.JSArray_methods.add$1(genericContext, \"T\" + (offset + i));\n        for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, t3 = type$.Object, typeParametersText = \"<\", typeSep = \"\", i = 0; i < boundsLength; ++i, typeSep = _s2_) {\n          t4 = genericContext.length;\n          t5 = t4 - 1 - i;\n          if (!(t5 >= 0))\n            return A.ioore(genericContext, t5);\n          typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[t5]);\n          boundRti = bounds[i];\n          kind = boundRti._kind;\n          if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1))\n            if (!(boundRti === t2))\n              t4 = boundRti === t3;\n            else\n              t4 = true;\n          else\n            t4 = true;\n          if (!t4)\n            typeParametersText += B.JSString_methods.$add(\" extends \", A._rtiToString(boundRti, genericContext));\n        }\n        typeParametersText += \">\";\n      } else {\n        typeParametersText = \"\";\n        outerContextLength = null;\n      }\n      t1 = functionType._primary;\n      parameters = functionType._rest;\n      requiredPositional = parameters._requiredPositional;\n      requiredPositionalLength = requiredPositional.length;\n      optionalPositional = parameters._optionalPositional;\n      optionalPositionalLength = optionalPositional.length;\n      named = parameters._named;\n      namedLength = named.length;\n      returnTypeText = A._rtiToString(t1, genericContext);\n      for (argumentsText = \"\", sep = \"\", i = 0; i < requiredPositionalLength; ++i, sep = _s2_)\n        argumentsText += B.JSString_methods.$add(sep, A._rtiToString(requiredPositional[i], genericContext));\n      if (optionalPositionalLength > 0) {\n        argumentsText += sep + \"[\";\n        for (sep = \"\", i = 0; i < optionalPositionalLength; ++i, sep = _s2_)\n          argumentsText += B.JSString_methods.$add(sep, A._rtiToString(optionalPositional[i], genericContext));\n        argumentsText += \"]\";\n      }\n      if (namedLength > 0) {\n        argumentsText += sep + \"{\";\n        for (sep = \"\", i = 0; i < namedLength; i += 3, sep = _s2_) {\n          argumentsText += sep;\n          if (named[i + 1])\n            argumentsText += \"required \";\n          argumentsText += J.$add$ns(A._rtiToString(named[i + 2], genericContext), \" \") + named[i];\n        }\n        argumentsText += \"}\";\n      }\n      if (outerContextLength != null) {\n        genericContext.toString;\n        genericContext.length = outerContextLength;\n      }\n      return typeParametersText + \"(\" + argumentsText + \") => \" + A.S(returnTypeText);\n    }",
-        "type": "String Function(Rti,List<String>?,{Object? bounds})"
+        "code": "_functionRtiToString(functionType, genericContext, bounds) {\n      var boundsLength, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = \", \";\n      if (bounds != null) {\n        boundsLength = bounds.length;\n        if (genericContext == null) {\n          genericContext = A._setArrayType([], type$.JSArray_String);\n          outerContextLength = null;\n        } else\n          outerContextLength = genericContext.length;\n        offset = genericContext.length;\n        for (i = boundsLength; i > 0; --i)\n          B.JSArray_methods.add$1(genericContext, \"T\" + (offset + i));\n        for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = \"<\", typeSep = \"\", i = 0; i < boundsLength; ++i, typeSep = _s2_) {\n          t3 = genericContext.length;\n          t4 = t3 - 1 - i;\n          if (!(t4 >= 0))\n            return A.ioore(genericContext, t4);\n          typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[t4]);\n          boundRti = bounds[i];\n          kind = boundRti._kind;\n          if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1))\n            if (!(boundRti === t2))\n              t3 = false;\n            else\n              t3 = true;\n          else\n            t3 = true;\n          if (!t3)\n            typeParametersText += \" extends \" + A._rtiToString(boundRti, genericContext);\n        }\n        typeParametersText += \">\";\n      } else {\n        typeParametersText = \"\";\n        outerContextLength = null;\n      }\n      t1 = functionType._primary;\n      parameters = functionType._rest;\n      requiredPositional = parameters._requiredPositional;\n      requiredPositionalLength = requiredPositional.length;\n      optionalPositional = parameters._optionalPositional;\n      optionalPositionalLength = optionalPositional.length;\n      named = parameters._named;\n      namedLength = named.length;\n      returnTypeText = A._rtiToString(t1, genericContext);\n      for (argumentsText = \"\", sep = \"\", i = 0; i < requiredPositionalLength; ++i, sep = _s2_)\n        argumentsText += sep + A._rtiToString(requiredPositional[i], genericContext);\n      if (optionalPositionalLength > 0) {\n        argumentsText += sep + \"[\";\n        for (sep = \"\", i = 0; i < optionalPositionalLength; ++i, sep = _s2_)\n          argumentsText += sep + A._rtiToString(optionalPositional[i], genericContext);\n        argumentsText += \"]\";\n      }\n      if (namedLength > 0) {\n        argumentsText += sep + \"{\";\n        for (sep = \"\", i = 0; i < namedLength; i += 3, sep = _s2_) {\n          argumentsText += sep;\n          if (named[i + 1])\n            argumentsText += \"required \";\n          argumentsText += A._rtiToString(named[i + 2], genericContext) + \" \" + named[i];\n        }\n        argumentsText += \"}\";\n      }\n      if (outerContextLength != null) {\n        genericContext.toString;\n        genericContext.length = outerContextLength;\n      }\n      return typeParametersText + \"(\" + argumentsText + \") => \" + returnTypeText;\n    }",
+        "type": "String Function(Rti,List<String>?,{Object? bounds})",
+        "functionKind": 0
       },
       "dart:_rti::_generalAsCheckImplementation": {
         "id": "function/dart:_rti::_generalAsCheckImplementation",
         "kind": "function",
         "name": "_generalAsCheckImplementation",
-        "size": 220,
+        "size": 282,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -13939,8 +14113,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_generalAsCheckImplementation(object) {\n      var testRti = this;\n      if (object == null)\n        return object;\n      else if (testRti._is(object))\n        return object;\n      A._failedAsCheck(object, testRti);\n    }",
-        "type": "Object? Function(Object?)"
+        "code": "_generalAsCheckImplementation(object) {\n      var t1, testRti = this;\n      if (object == null) {\n        t1 = A.isNullable(testRti);\n        if (t1)\n          return object;\n      } else if (testRti._is(object))\n        return object;\n      A._failedAsCheck(object, testRti);\n    }",
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_generalIsTestImplementation": {
         "id": "function/dart:_rti::_generalIsTestImplementation",
@@ -13968,7 +14143,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_generalIsTestImplementation(object) {\n      var testRti = this;\n      if (object == null)\n        return A._nullIs(testRti);\n      return A._isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), null, testRti, null);\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_generalNullableAsCheckImplementation": {
         "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
@@ -13996,7 +14172,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_generalNullableAsCheckImplementation(object) {\n      var testRti = this;\n      if (object == null)\n        return object;\n      else if (testRti._is(object))\n        return object;\n      A._failedAsCheck(object, testRti);\n    }",
-        "type": "Object? Function(Object?)"
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_generalNullableIsTestImplementation": {
         "id": "function/dart:_rti::_generalNullableIsTestImplementation",
@@ -14024,13 +14201,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_generalNullableIsTestImplementation(object) {\n      if (object == null)\n        return true;\n      return this._primary._is(object);\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_installSpecializedAsCheck": {
         "id": "function/dart:_rti::_installSpecializedAsCheck",
         "kind": "function",
         "name": "_installSpecializedAsCheck",
-        "size": 505,
+        "size": 592,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -14040,8 +14218,8 @@
           "factory": false,
           "external": false
         },
-        "returnType": "bool",
-        "inferredReturnType": "[exact=JSBool]",
+        "returnType": "Object?",
+        "inferredReturnType": "[null|subclass=Object]",
         "parameters": [
           {
             "name": "object",
@@ -14051,14 +14229,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_installSpecializedAsCheck(object) {\n      var t1, asFn, testRti = this;\n      if (!A.isStrongTopType(testRti))\n        if (!(testRti === type$.legacy_Object))\n          t1 = testRti === type$.Object;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        asFn = A._asTop;\n      else if (testRti === type$.Object)\n        asFn = A._asObject;\n      else\n        asFn = A._generalNullableAsCheckImplementation;\n      testRti._as = asFn;\n      return testRti._as(object);\n    }",
-        "type": "bool Function(Object?)"
+        "code": "_installSpecializedAsCheck(object) {\n      var t1, testRti = this,\n        asFn = A._generalAsCheckImplementation;\n      if (!A.isStrongTopType(testRti))\n        if (!(testRti === type$.legacy_Object))\n          t1 = false;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        asFn = A._asTop;\n      else if (testRti === type$.Object)\n        asFn = A._asObject;\n      else {\n        t1 = A.isNullable(testRti);\n        if (t1)\n          asFn = A._generalNullableAsCheckImplementation;\n      }\n      testRti._as = asFn;\n      return testRti._as(object);\n    }",
+        "type": "Object? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_installSpecializedIsTest": {
         "id": "function/dart:_rti::_installSpecializedIsTest",
         "kind": "function",
         "name": "_installSpecializedIsTest",
-        "size": 1476,
+        "size": 1454,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -14079,8 +14258,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_installSpecializedIsTest(object) {\n      var unstarred, isFn, $name, testRti = this,\n        t1 = type$.Object;\n      if (testRti === t1)\n        return A._finishIsFn(testRti, object, A._isObject);\n      if (!A.isStrongTopType(testRti))\n        if (!(testRti === type$.legacy_Object))\n          t1 = testRti === t1;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        return A._finishIsFn(testRti, object, A._isTop);\n      t1 = testRti._kind;\n      unstarred = t1 === 6 ? testRti._primary : testRti;\n      if (unstarred === type$.int)\n        isFn = A._isInt;\n      else if (unstarred === type$.double || unstarred === type$.num)\n        isFn = A._isNum;\n      else if (unstarred === type$.String)\n        isFn = A._isString;\n      else\n        isFn = unstarred === type$.bool ? A._isBool : null;\n      if (isFn != null)\n        return A._finishIsFn(testRti, object, isFn);\n      if (unstarred._kind === 9) {\n        $name = unstarred._primary;\n        if (unstarred._rest.every(A.isTopType)) {\n          testRti._specializedTestResource = \"$is\" + $name;\n          if ($name === \"List\")\n            return A._finishIsFn(testRti, object, A._isListTestViaProperty);\n          return A._finishIsFn(testRti, object, A._isTestViaProperty);\n        }\n      } else if (t1 === 7)\n        return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation);\n      return A._finishIsFn(testRti, object, A._generalIsTestImplementation);\n    }",
-        "type": "bool Function(Object?)"
+        "code": "_installSpecializedIsTest(object) {\n      var t1, unstarred, isFn, $name, testRti = this;\n      if (testRti === type$.Object)\n        return A._finishIsFn(testRti, object, A._isObject);\n      if (!A.isStrongTopType(testRti))\n        if (!(testRti === type$.legacy_Object))\n          t1 = false;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        return A._finishIsFn(testRti, object, A._isTop);\n      t1 = testRti._kind;\n      unstarred = t1 === 6 ? testRti._primary : testRti;\n      if (unstarred === type$.int)\n        isFn = A._isInt;\n      else if (unstarred === type$.double || unstarred === type$.num)\n        isFn = A._isNum;\n      else if (unstarred === type$.String)\n        isFn = A._isString;\n      else\n        isFn = unstarred === type$.bool ? A._isBool : null;\n      if (isFn != null)\n        return A._finishIsFn(testRti, object, isFn);\n      if (unstarred._kind === 9) {\n        $name = unstarred._primary;\n        if (unstarred._rest.every(A.isTopType)) {\n          testRti._specializedTestResource = \"$is\" + $name;\n          if ($name === \"List\")\n            return A._finishIsFn(testRti, object, A._isListTestViaProperty);\n          return A._finishIsFn(testRti, object, A._isTestViaProperty);\n        }\n      } else if (t1 === 7)\n        return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation);\n      return A._finishIsFn(testRti, object, A._generalIsTestImplementation);\n    }",
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_instanceType": {
         "id": "function/dart:_rti::_instanceType",
@@ -14097,7 +14277,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "object",
@@ -14108,7 +14288,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "_instanceType(object) {\n      var rti = object.$ti;\n      return rti != null ? rti : A._instanceTypeFromConstructor(object);\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_instanceTypeFromConstructor": {
         "id": "function/dart:_rti::_instanceTypeFromConstructor",
@@ -14125,7 +14306,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "instance",
@@ -14136,7 +14317,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_instanceTypeFromConstructor(instance) {\n      var $constructor = instance.constructor,\n        probe = $constructor.$ccache;\n      if (probe != null)\n        return probe;\n      return A._instanceTypeFromConstructorMiss(instance, $constructor);\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_instanceTypeFromConstructorMiss": {
         "id": "function/dart:_rti::_instanceTypeFromConstructorMiss",
@@ -14153,7 +14335,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "instance",
@@ -14169,7 +14351,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_instanceTypeFromConstructorMiss(instance, $constructor) {\n      var effectiveConstructor = instance instanceof A.Closure ? instance.__proto__.__proto__.constructor : $constructor,\n        rti = A._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name);\n      $constructor.$ccache = rti;\n      return rti;\n    }",
-        "type": "Rti Function(Object?,Object?)"
+        "type": "Rti Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isBool": {
         "id": "function/dart:_rti::_isBool",
@@ -14197,7 +14380,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_isBool(object) {\n      return true === object || false === object;\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isClosure": {
         "id": "function/dart:_rti::_isClosure",
@@ -14225,7 +14409,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isDartObject": {
         "id": "function/dart:_rti::_isDartObject",
@@ -14253,13 +14438,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isFunctionSubtype": {
         "id": "function/dart:_rti::_isFunctionSubtype",
         "kind": "function",
         "name": "_isFunctionSubtype",
-        "size": 2694,
+        "size": 3041,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -14279,7 +14465,7 @@
           },
           {
             "name": "s",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -14289,7 +14475,7 @@
           },
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -14300,8 +14486,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_isFunctionSubtype(universe, s, sEnv, t, tEnv) {\n      var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName;\n      if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))\n        return false;\n      sParameters = s._rest;\n      tParameters = t._rest;\n      sRequiredPositional = sParameters._requiredPositional;\n      tRequiredPositional = tParameters._requiredPositional;\n      sRequiredPositionalLength = sRequiredPositional.length;\n      tRequiredPositionalLength = tRequiredPositional.length;\n      if (sRequiredPositionalLength > tRequiredPositionalLength)\n        return false;\n      requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength;\n      sOptionalPositional = sParameters._optionalPositional;\n      tOptionalPositional = tParameters._optionalPositional;\n      sOptionalPositionalLength = sOptionalPositional.length;\n      tOptionalPositionalLength = tOptionalPositional.length;\n      if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength)\n        return false;\n      for (i = 0; i < sRequiredPositionalLength; ++i) {\n        t1 = sRequiredPositional[i];\n        if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv))\n          return false;\n      }\n      for (i = 0; i < requiredPositionalDelta; ++i) {\n        t1 = sOptionalPositional[i];\n        if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv))\n          return false;\n      }\n      for (i = 0; i < tOptionalPositionalLength; ++i) {\n        t1 = sOptionalPositional[requiredPositionalDelta + i];\n        if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv))\n          return false;\n      }\n      sNamed = sParameters._named;\n      tNamed = tParameters._named;\n      sNamedLength = sNamed.length;\n      tNamedLength = tNamed.length;\n      for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) {\n        tName = tNamed[tIndex];\n        for (; true;) {\n          if (sIndex >= sNamedLength)\n            return false;\n          sName = sNamed[sIndex];\n          sIndex += 3;\n          if (tName < sName)\n            return false;\n          if (sName < tName)\n            continue;\n          t1 = sNamed[sIndex - 1];\n          if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv))\n            return false;\n          break;\n        }\n      }\n      return true;\n    }",
-        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)"
+        "code": "_isFunctionSubtype(universe, s, sEnv, t, tEnv) {\n      var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired;\n      if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))\n        return false;\n      sParameters = s._rest;\n      tParameters = t._rest;\n      sRequiredPositional = sParameters._requiredPositional;\n      tRequiredPositional = tParameters._requiredPositional;\n      sRequiredPositionalLength = sRequiredPositional.length;\n      tRequiredPositionalLength = tRequiredPositional.length;\n      if (sRequiredPositionalLength > tRequiredPositionalLength)\n        return false;\n      requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength;\n      sOptionalPositional = sParameters._optionalPositional;\n      tOptionalPositional = tParameters._optionalPositional;\n      sOptionalPositionalLength = sOptionalPositional.length;\n      tOptionalPositionalLength = tOptionalPositional.length;\n      if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength)\n        return false;\n      for (i = 0; i < sRequiredPositionalLength; ++i) {\n        t1 = sRequiredPositional[i];\n        if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv))\n          return false;\n      }\n      for (i = 0; i < requiredPositionalDelta; ++i) {\n        t1 = sOptionalPositional[i];\n        if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv))\n          return false;\n      }\n      for (i = 0; i < tOptionalPositionalLength; ++i) {\n        t1 = sOptionalPositional[requiredPositionalDelta + i];\n        if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv))\n          return false;\n      }\n      sNamed = sParameters._named;\n      tNamed = tParameters._named;\n      sNamedLength = sNamed.length;\n      tNamedLength = tNamed.length;\n      for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) {\n        tName = tNamed[tIndex];\n        for (; true;) {\n          if (sIndex >= sNamedLength)\n            return false;\n          sName = sNamed[sIndex];\n          sIndex += 3;\n          if (tName < sName)\n            return false;\n          sIsRequired = sNamed[sIndex - 2];\n          if (sName < tName) {\n            if (sIsRequired)\n              return false;\n            continue;\n          }\n          t1 = tNamed[tIndex + 1];\n          if (sIsRequired && !t1)\n            return false;\n          t1 = sNamed[sIndex - 1];\n          if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv))\n            return false;\n          break;\n        }\n      }\n      for (; sIndex < sNamedLength;) {\n        if (sNamed[sIndex + 1])\n          return false;\n        sIndex += 3;\n      }\n      return true;\n    }",
+        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isInt": {
         "id": "function/dart:_rti::_isInt",
@@ -14329,7 +14516,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "_isInt(object) {\n      return typeof object == \"number\" && Math.floor(object) === object;\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isInterfaceSubtype": {
         "id": "function/dart:_rti::_isInterfaceSubtype",
@@ -14355,7 +14543,7 @@
           },
           {
             "name": "s",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -14365,7 +14553,7 @@
           },
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -14377,7 +14565,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_isInterfaceSubtype(universe, s, sEnv, t, tEnv) {\n      var rule, recipes, $length, supertypeArgs, i, t1, t2,\n        sName = s._primary,\n        tName = t._primary;\n      for (; sName !== tName;) {\n        rule = universe.tR[sName];\n        if (rule == null)\n          return false;\n        if (typeof rule == \"string\") {\n          sName = rule;\n          continue;\n        }\n        recipes = rule[tName];\n        if (recipes == null)\n          return false;\n        $length = recipes.length;\n        supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA;\n        for (i = 0; i < $length; ++i)\n          supertypeArgs[i] = A._Universe_evalInEnvironment(universe, s, recipes[i]);\n        return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv);\n      }\n      t1 = s._rest;\n      t2 = t._rest;\n      return A._areArgumentsSubtypes(universe, t1, null, sEnv, t2, tEnv);\n    }",
-        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)"
+        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isListTestViaProperty": {
         "id": "function/dart:_rti::_isListTestViaProperty",
@@ -14405,7 +14594,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_isListTestViaProperty(object) {\n      var tag, testRti = this;\n      if (object == null)\n        return A._nullIs(testRti);\n      if (typeof object != \"object\")\n        return false;\n      if (Array.isArray(object))\n        return true;\n      tag = testRti._specializedTestResource;\n      if (object instanceof A.Object)\n        return !!object[tag];\n      return !!J.getInterceptor$(object)[tag];\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isNum": {
         "id": "function/dart:_rti::_isNum",
@@ -14433,7 +14623,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 6,
         "code": "_isNum(object) {\n      return typeof object == \"number\";\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isObject": {
         "id": "function/dart:_rti::_isObject",
@@ -14461,7 +14652,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_isObject(object) {\n      return object != null;\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isString": {
         "id": "function/dart:_rti::_isString",
@@ -14489,13 +14681,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "_isString(object) {\n      return typeof object == \"string\";\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isSubtype": {
         "id": "function/dart:_rti::_isSubtype",
         "kind": "function",
         "name": "_isSubtype",
-        "size": 3001,
+        "size": 3597,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -14536,8 +14729,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_isSubtype(universe, s, sEnv, t, tEnv) {\n      var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound;\n      if (s === t)\n        return true;\n      if (!A.isStrongTopType(t))\n        if (!(t === type$.legacy_Object))\n          t1 = t === type$.Object;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        return true;\n      sKind = s._kind;\n      if (sKind === 4)\n        return true;\n      if (A.isStrongTopType(s))\n        return false;\n      if (s._kind !== 1)\n        t1 = s === type$.Null || s === type$.JSNull;\n      else\n        t1 = true;\n      if (t1)\n        return true;\n      leftTypeVariable = sKind === 13;\n      if (leftTypeVariable)\n        if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv))\n          return true;\n      tKind = t._kind;\n      if (sKind === 6)\n        return A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n      if (tKind === 6) {\n        t1 = t._primary;\n        return A._isSubtype(universe, s, sEnv, t1, tEnv);\n      }\n      if (sKind === 8) {\n        if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv))\n          return false;\n        return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv);\n      }\n      if (sKind === 7) {\n        t1 = A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n        return t1;\n      }\n      if (tKind === 8) {\n        if (A._isSubtype(universe, s, sEnv, t._primary, tEnv))\n          return true;\n        return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv);\n      }\n      if (tKind === 7) {\n        t1 = A._isSubtype(universe, s, sEnv, t._primary, tEnv);\n        return t1;\n      }\n      if (leftTypeVariable)\n        return false;\n      t1 = sKind !== 11;\n      if ((!t1 || sKind === 12) && t === type$.Function)\n        return true;\n      if (tKind === 12) {\n        if (s === type$.JavaScriptFunction)\n          return true;\n        if (sKind !== 12)\n          return false;\n        sBounds = s._rest;\n        tBounds = t._rest;\n        sLength = sBounds.length;\n        if (sLength !== tBounds.length)\n          return false;\n        sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);\n        tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);\n        for (i = 0; i < sLength; ++i) {\n          sBound = sBounds[i];\n          tBound = tBounds[i];\n          if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv))\n            return false;\n        }\n        return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv);\n      }\n      if (tKind === 11) {\n        if (s === type$.JavaScriptFunction)\n          return true;\n        if (t1)\n          return false;\n        return A._isFunctionSubtype(universe, s, sEnv, t, tEnv);\n      }\n      if (sKind === 9) {\n        if (tKind !== 9)\n          return false;\n        return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv);\n      }\n      return false;\n    }",
-        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)"
+        "code": "_isSubtype(universe, s, sEnv, t, tEnv) {\n      var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound;\n      if (s === t)\n        return true;\n      if (!A.isStrongTopType(t))\n        if (!(t === type$.legacy_Object))\n          t1 = false;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      if (t1)\n        return true;\n      sKind = s._kind;\n      if (sKind === 4)\n        return true;\n      if (A.isStrongTopType(s))\n        return false;\n      if (s._kind !== 1)\n        t1 = false;\n      else\n        t1 = true;\n      if (t1)\n        return true;\n      leftTypeVariable = sKind === 13;\n      if (leftTypeVariable)\n        if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv))\n          return true;\n      tKind = t._kind;\n      t1 = s === type$.Null || s === type$.JSNull;\n      if (t1) {\n        if (tKind === 8)\n          return A._isSubtype(universe, s, sEnv, t._primary, tEnv);\n        return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6;\n      }\n      if (t === type$.Object) {\n        if (sKind === 8)\n          return A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n        if (sKind === 6)\n          return A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n        return sKind !== 7;\n      }\n      if (sKind === 6)\n        return A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n      if (tKind === 6) {\n        t1 = A.Rti__getQuestionFromStar(universe, t);\n        return A._isSubtype(universe, s, sEnv, t1, tEnv);\n      }\n      if (sKind === 8) {\n        if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv))\n          return false;\n        return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv);\n      }\n      if (sKind === 7) {\n        t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv);\n        return t1 && A._isSubtype(universe, s._primary, sEnv, t, tEnv);\n      }\n      if (tKind === 8) {\n        if (A._isSubtype(universe, s, sEnv, t._primary, tEnv))\n          return true;\n        return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv);\n      }\n      if (tKind === 7) {\n        t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv);\n        return t1 || A._isSubtype(universe, s, sEnv, t._primary, tEnv);\n      }\n      if (leftTypeVariable)\n        return false;\n      t1 = sKind !== 11;\n      if ((!t1 || sKind === 12) && t === type$.Function)\n        return true;\n      if (tKind === 12) {\n        if (s === type$.JavaScriptFunction)\n          return true;\n        if (sKind !== 12)\n          return false;\n        sBounds = s._rest;\n        tBounds = t._rest;\n        sLength = sBounds.length;\n        if (sLength !== tBounds.length)\n          return false;\n        sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);\n        tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);\n        for (i = 0; i < sLength; ++i) {\n          sBound = sBounds[i];\n          tBound = tBounds[i];\n          if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv))\n            return false;\n        }\n        return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv);\n      }\n      if (tKind === 11) {\n        if (s === type$.JavaScriptFunction)\n          return true;\n        if (t1)\n          return false;\n        return A._isFunctionSubtype(universe, s, sEnv, t, tEnv);\n      }\n      if (sKind === 9) {\n        if (tKind !== 9)\n          return false;\n        return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv);\n      }\n      return false;\n    }",
+        "type": "bool Function(Object?,Rti,Object?,Rti,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isTestViaProperty": {
         "id": "function/dart:_rti::_isTestViaProperty",
@@ -14565,7 +14759,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_isTestViaProperty(object) {\n      var tag, testRti = this;\n      if (object == null)\n        return A._nullIs(testRti);\n      tag = testRti._specializedTestResource;\n      if (object instanceof A.Object)\n        return !!object[tag];\n      return !!J.getInterceptor$(object)[tag];\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_isTop": {
         "id": "function/dart:_rti::_isTop",
@@ -14593,7 +14788,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_isTop(object) {\n      return true;\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_nullIs": {
         "id": "function/dart:_rti::_nullIs",
@@ -14621,13 +14817,14 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "_nullIs(testRti) {\n      var t1,\n        kind = testRti._kind;\n      if (!A.isStrongTopType(testRti))\n        if (!(testRti === type$.legacy_Object))\n          if (!(testRti === type$.legacy_Never))\n            if (kind !== 7)\n              t1 = kind === 8 && A._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull;\n            else\n              t1 = true;\n          else\n            t1 = true;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      return t1;\n    }",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_rtiArrayToString": {
         "id": "function/dart:_rti::_rtiArrayToString",
         "kind": "function",
         "name": "_rtiArrayToString",
-        "size": 241,
+        "size": 217,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -14653,8 +14850,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_rtiArrayToString(array, genericContext) {\n      var s, sep, i;\n      for (s = \"\", sep = \"\", i = 0; i < array.length; ++i, sep = \", \")\n        s += B.JSString_methods.$add(sep, A._rtiToString(array[i], genericContext));\n      return s;\n    }",
-        "type": "String Function(Object?,List<String>?)"
+        "code": "_rtiArrayToString(array, genericContext) {\n      var s, sep, i;\n      for (s = \"\", sep = \"\", i = 0; i < array.length; ++i, sep = \", \")\n        s += sep + A._rtiToString(array[i], genericContext);\n      return s;\n    }",
+        "type": "String Function(Object?,List<String>?)",
+        "functionKind": 0
       },
       "dart:_rti::_rtiBind": {
         "id": "function/dart:_rti::_rtiBind",
@@ -14671,7 +14869,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "environment",
@@ -14687,7 +14885,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Rti,Rti)"
+        "type": "Rti Function(Rti,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_rtiEval": {
         "id": "function/dart:_rti::_rtiEval",
@@ -14704,29 +14903,30 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "environment",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "Rti Function(Rti,String)"
+        "type": "Rti Function(Rti,String)",
+        "functionKind": 0
       },
       "dart:_rti::_rtiToString": {
         "id": "function/dart:_rti::_rtiToString",
         "kind": "function",
         "name": "_rtiToString",
-        "size": 1597,
+        "size": 1527,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -14737,7 +14937,7 @@
           "external": false
         },
         "returnType": "String",
-        "inferredReturnType": "[null|exact=JSString]",
+        "inferredReturnType": "[exact=JSString]",
         "parameters": [
           {
             "name": "rti",
@@ -14752,8 +14952,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_rtiToString(rti, genericContext) {\n      var s, questionArgument, argumentKind, $name, $arguments, t1, t2,\n        kind = rti._kind;\n      if (kind === 5)\n        return \"erased\";\n      if (kind === 2)\n        return \"dynamic\";\n      if (kind === 3)\n        return \"void\";\n      if (kind === 1)\n        return \"Never\";\n      if (kind === 4)\n        return \"any\";\n      if (kind === 6) {\n        s = A._rtiToString(rti._primary, genericContext);\n        return s;\n      }\n      if (kind === 7) {\n        questionArgument = rti._primary;\n        s = A._rtiToString(questionArgument, genericContext);\n        argumentKind = questionArgument._kind;\n        return J.$add$ns(argumentKind === 11 || argumentKind === 12 ? B.JSString_methods.$add(\"(\", s) + \")\" : s, \"?\");\n      }\n      if (kind === 8)\n        return \"FutureOr<\" + A.S(A._rtiToString(rti._primary, genericContext)) + \">\";\n      if (kind === 9) {\n        $name = A._unminifyOrTag(rti._primary);\n        $arguments = rti._rest;\n        return $arguments.length > 0 ? $name + (\"<\" + A._rtiArrayToString($arguments, genericContext) + \">\") : $name;\n      }\n      if (kind === 11)\n        return A._functionRtiToString(rti, genericContext, null);\n      if (kind === 12)\n        return A._functionRtiToString(rti._primary, genericContext, rti._rest);\n      if (kind === 13) {\n        genericContext.toString;\n        t1 = rti._primary;\n        t2 = genericContext.length;\n        t1 = t2 - 1 - t1;\n        if (!(t1 >= 0 && t1 < t2))\n          return A.ioore(genericContext, t1);\n        return genericContext[t1];\n      }\n      return \"?\";\n    }",
-        "type": "String Function(Rti,List<String>?)"
+        "code": "_rtiToString(rti, genericContext) {\n      var s, questionArgument, argumentKind, $name, $arguments, t1, t2,\n        kind = rti._kind;\n      if (kind === 5)\n        return \"erased\";\n      if (kind === 2)\n        return \"dynamic\";\n      if (kind === 3)\n        return \"void\";\n      if (kind === 1)\n        return \"Never\";\n      if (kind === 4)\n        return \"any\";\n      if (kind === 6) {\n        s = A._rtiToString(rti._primary, genericContext);\n        return s;\n      }\n      if (kind === 7) {\n        questionArgument = rti._primary;\n        s = A._rtiToString(questionArgument, genericContext);\n        argumentKind = questionArgument._kind;\n        return (argumentKind === 11 || argumentKind === 12 ? \"(\" + s + \")\" : s) + \"?\";\n      }\n      if (kind === 8)\n        return \"FutureOr<\" + A._rtiToString(rti._primary, genericContext) + \">\";\n      if (kind === 9) {\n        $name = A._unminifyOrTag(rti._primary);\n        $arguments = rti._rest;\n        return $arguments.length > 0 ? $name + (\"<\" + A._rtiArrayToString($arguments, genericContext) + \">\") : $name;\n      }\n      if (kind === 11)\n        return A._functionRtiToString(rti, genericContext, null);\n      if (kind === 12)\n        return A._functionRtiToString(rti._primary, genericContext, rti._rest);\n      if (kind === 13) {\n        t1 = rti._primary;\n        t2 = genericContext.length;\n        t1 = t2 - 1 - t1;\n        if (!(t1 >= 0 && t1 < t2))\n          return A.ioore(genericContext, t1);\n        return genericContext[t1];\n      }\n      return \"?\";\n    }",
+        "type": "String Function(Rti,List<String>?)",
+        "functionKind": 0
       },
       "dart:_rti::_setArrayType": {
         "id": "function/dart:_rti::_setArrayType",
@@ -14786,7 +14987,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_setArrayType(target, rti) {\n      target[init.arrayRti] = rti;\n      return target;\n    }",
-        "type": "Object? Function(Object?,Object?)"
+        "type": "Object? Function(Object?,Object?)",
+        "functionKind": 0
       },
       "dart:_rti::_simpleSpecializedIsTest": {
         "id": "function/dart:_rti::_simpleSpecializedIsTest",
@@ -14814,7 +15016,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Object? Function(Rti)"
+        "type": "Object? Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::_substitute": {
         "id": "function/dart:_rti::_substitute",
@@ -14831,16 +15034,16 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
             "name": "rti",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
@@ -14857,7 +15060,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_substitute(universe, rti, typeArguments, depth) {\n      var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,\n        kind = rti._kind;\n      switch (kind) {\n        case 5:\n        case 1:\n        case 2:\n        case 3:\n        case 4:\n          return rti;\n        case 6:\n          baseType = rti._primary;\n          substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);\n          if (substitutedBaseType === baseType)\n            return rti;\n          return A._Universe__lookupStarRti(universe, substitutedBaseType, true);\n        case 7:\n          baseType = rti._primary;\n          substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);\n          if (substitutedBaseType === baseType)\n            return rti;\n          return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true);\n        case 8:\n          baseType = rti._primary;\n          substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);\n          if (substitutedBaseType === baseType)\n            return rti;\n          return A._Universe__lookupFutureOrRti(universe, substitutedBaseType, true);\n        case 9:\n          interfaceTypeArguments = rti._rest;\n          substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth);\n          if (substitutedInterfaceTypeArguments === interfaceTypeArguments)\n            return rti;\n          return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments);\n        case 10:\n          base = rti._primary;\n          substitutedBase = A._substitute(universe, base, typeArguments, depth);\n          $arguments = rti._rest;\n          substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth);\n          if (substitutedBase === base && substitutedArguments === $arguments)\n            return rti;\n          return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments);\n        case 11:\n          returnType = rti._primary;\n          substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth);\n          functionParameters = rti._rest;\n          substitutedFunctionParameters = A._substituteFunctionParameters(universe, functionParameters, typeArguments, depth);\n          if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters)\n            return rti;\n          return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters);\n        case 12:\n          bounds = rti._rest;\n          depth += bounds.length;\n          substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth);\n          base = rti._primary;\n          substitutedBase = A._substitute(universe, base, typeArguments, depth);\n          if (substitutedBounds === bounds && substitutedBase === base)\n            return rti;\n          return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true);\n        case 13:\n          index = rti._primary;\n          if (index < depth)\n            return rti;\n          argument = typeArguments[index - depth];\n          if (argument == null)\n            return rti;\n          return argument;\n        default:\n          throw A.wrapException(A.AssertionError$(\"Attempted to substitute unexpected RTI kind \" + kind));\n      }\n    }",
-        "type": "Rti Function(Object?,Rti,Object?,int)"
+        "type": "Rti Function(Object?,Rti,Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_substituteArray": {
         "id": "function/dart:_rti::_substituteArray",
@@ -14878,7 +15082,7 @@
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -14900,7 +15104,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_substituteArray(universe, rtiArray, typeArguments, depth) {\n      var changed, i, rti, substitutedRti,\n        $length = rtiArray.length,\n        result = A._Utils_newArrayOrEmpty($length);\n      for (changed = false, i = 0; i < $length; ++i) {\n        rti = rtiArray[i];\n        substitutedRti = A._substitute(universe, rti, typeArguments, depth);\n        if (substitutedRti !== rti)\n          changed = true;\n        result[i] = substitutedRti;\n      }\n      return changed ? result : rtiArray;\n    }",
-        "type": "Object? Function(Object?,Object?,Object?,int)"
+        "type": "Object? Function(Object?,Object?,Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_substituteFunctionParameters": {
         "id": "function/dart:_rti::_substituteFunctionParameters",
@@ -14921,7 +15126,7 @@
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -14943,7 +15148,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_substituteFunctionParameters(universe, functionParameters, typeArguments, depth) {\n      var result,\n        requiredPositional = functionParameters._requiredPositional,\n        substitutedRequiredPositional = A._substituteArray(universe, requiredPositional, typeArguments, depth),\n        optionalPositional = functionParameters._optionalPositional,\n        substitutedOptionalPositional = A._substituteArray(universe, optionalPositional, typeArguments, depth),\n        named = functionParameters._named,\n        substitutedNamed = A._substituteNamed(universe, named, typeArguments, depth);\n      if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named)\n        return functionParameters;\n      result = new A._FunctionParameters();\n      result._requiredPositional = substitutedRequiredPositional;\n      result._optionalPositional = substitutedOptionalPositional;\n      result._named = substitutedNamed;\n      return result;\n    }",
-        "type": "_FunctionParameters Function(Object?,_FunctionParameters,Object?,int)"
+        "type": "_FunctionParameters Function(Object?,_FunctionParameters,Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_substituteNamed": {
         "id": "function/dart:_rti::_substituteNamed",
@@ -14964,7 +15170,7 @@
         "parameters": [
           {
             "name": "universe",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object?"
           },
           {
@@ -14986,7 +15192,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_substituteNamed(universe, namedArray, typeArguments, depth) {\n      var changed, i, t1, t2, rti, substitutedRti,\n        $length = namedArray.length,\n        result = A._Utils_newArrayOrEmpty($length);\n      for (changed = false, i = 0; i < $length; i += 3) {\n        t1 = namedArray[i];\n        t2 = namedArray[i + 1];\n        rti = namedArray[i + 2];\n        substitutedRti = A._substitute(universe, rti, typeArguments, depth);\n        if (substitutedRti !== rti)\n          changed = true;\n        result.splice(i, 3, t1, t2, substitutedRti);\n      }\n      return changed ? result : namedArray;\n    }",
-        "type": "Object? Function(Object?,Object?,Object?,int)"
+        "type": "Object? Function(Object?,Object?,Object?,int)",
+        "functionKind": 0
       },
       "dart:_rti::_theUniverse": {
         "id": "function/dart:_rti::_theUniverse",
@@ -15006,9 +15213,10 @@
         "inferredReturnType": "[null|subclass=Object]",
         "parameters": [],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
-        "inlinedCount": 10,
+        "inlinedCount": 9,
         "code": "",
-        "type": "Object? Function()"
+        "type": "Object? Function()",
+        "functionKind": 0
       },
       "dart:_rti::_unminifyOrTag": {
         "id": "function/dart:_rti::_unminifyOrTag",
@@ -15036,7 +15244,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_unminifyOrTag(rawClassName) {\n      var preserved = init.mangledGlobalNames[rawClassName];\n      if (preserved != null)\n        return preserved;\n      return rawClassName;\n    }",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:_rti::closureFunctionType": {
         "id": "function/dart:_rti::closureFunctionType",
@@ -15064,35 +15273,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "closureFunctionType(closure) {\n      var signature = closure.$signature;\n      if (signature != null) {\n        if (typeof signature == \"number\")\n          return A.getTypeFromTypesTable(signature);\n        return closure.$signature();\n      }\n      return null;\n    }",
-        "type": "Rti? Function(Object?)"
-      },
-      "dart:_rti::createRuntimeType": {
-        "id": "function/dart:_rti::createRuntimeType",
-        "kind": "function",
-        "name": "createRuntimeType",
-        "size": 604,
-        "outputUnit": "outputUnit/main",
-        "parent": "library/dart:_rti::",
-        "children": [],
-        "modifiers": {
-          "static": false,
-          "const": false,
-          "factory": false,
-          "external": false
-        },
-        "returnType": "Type",
-        "inferredReturnType": "[exact=_Type]",
-        "parameters": [
-          {
-            "name": "rti",
-            "type": "[null|subclass=Object]",
-            "declaredType": "Rti"
-          }
-        ],
-        "sideEffects": "SideEffects(reads anything; writes anything)",
-        "inlinedCount": 0,
-        "code": "createRuntimeType(rti) {\n      var recipe, starErasedRecipe, starErasedRti,\n        type = rti._cachedRuntimeType;\n      if (type != null)\n        return type;\n      recipe = rti._canonicalRecipe;\n      starErasedRecipe = recipe.replace(/\\*/g, \"\");\n      if (starErasedRecipe === recipe)\n        return rti._cachedRuntimeType = new A._Type(rti);\n      starErasedRti = A._Universe_eval(init.typeUniverse, starErasedRecipe, true);\n      type = starErasedRti._cachedRuntimeType;\n      return rti._cachedRuntimeType = type == null ? starErasedRti._cachedRuntimeType = new A._Type(starErasedRti) : type;\n    }",
-        "type": "Type Function(Rti)"
+        "type": "Rti? Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::evalInInstance": {
         "id": "function/dart:_rti::evalInInstance",
@@ -15109,7 +15291,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "instance",
@@ -15118,14 +15300,15 @@
           },
           {
             "name": "recipe",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Rti Function(Object?,String)"
+        "type": "Rti Function(Object?,String)",
+        "functionKind": 0
       },
       "dart:_rti::findType": {
         "id": "function/dart:_rti::findType",
@@ -15142,7 +15325,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "recipe",
@@ -15153,7 +15336,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "findType(recipe) {\n      return A._Universe_eval(init.typeUniverse, recipe, false);\n    }",
-        "type": "Rti Function(String)"
+        "type": "Rti Function(String)",
+        "functionKind": 0
       },
       "dart:_rti::getTypeFromTypesTable": {
         "id": "function/dart:_rti::getTypeFromTypesTable",
@@ -15170,7 +15354,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "index",
@@ -15181,7 +15365,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "getTypeFromTypesTable(index) {\n      var rti,\n        table = init.types,\n        type = table[index];\n      if (typeof type == \"string\") {\n        rti = A._Universe_eval(init.typeUniverse, type, false);\n        table[index] = rti;\n        return rti;\n      }\n      return type;\n    }",
-        "type": "Rti Function(int)"
+        "type": "Rti Function(int)",
+        "functionKind": 0
       },
       "dart:_rti::instanceOrFunctionType": {
         "id": "function/dart:_rti::instanceOrFunctionType",
@@ -15198,7 +15383,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "object",
@@ -15214,7 +15399,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "instanceOrFunctionType(object, testRti) {\n      var rti;\n      if (A.Rti__isUnionOfFunctionType(testRti))\n        if (object instanceof A.Closure) {\n          rti = A.closureFunctionType(object);\n          if (rti != null)\n            return rti;\n        }\n      return A.instanceType(object);\n    }",
-        "type": "Rti Function(Object?,Rti)"
+        "type": "Rti Function(Object?,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::instanceType": {
         "id": "function/dart:_rti::instanceType",
@@ -15231,7 +15417,7 @@
           "external": false
         },
         "returnType": "Rti",
-        "inferredReturnType": "[null|exact=Rti]",
+        "inferredReturnType": "[exact=Rti]",
         "parameters": [
           {
             "name": "object",
@@ -15242,7 +15428,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "instanceType(object) {\n      var rti;\n      if (object instanceof A.Object) {\n        rti = object.$ti;\n        return rti != null ? rti : A._instanceTypeFromConstructor(object);\n      }\n      if (Array.isArray(object))\n        return A._arrayInstanceType(object);\n      return A._instanceTypeFromConstructor(J.getInterceptor$(object));\n    }",
-        "type": "Rti Function(Object?)"
+        "type": "Rti Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::instanceTypeName": {
         "id": "function/dart:_rti::instanceTypeName",
@@ -15259,7 +15446,7 @@
           "external": false
         },
         "returnType": "String",
-        "inferredReturnType": "[null|exact=JSString]",
+        "inferredReturnType": "[exact=JSString]",
         "parameters": [
           {
             "name": "object",
@@ -15270,7 +15457,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:_rti::isBottomType": {
         "id": "function/dart:_rti::isBottomType",
@@ -15291,14 +15479,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isFunctionType": {
         "id": "function/dart:_rti::isFunctionType",
@@ -15319,14 +15508,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isJsFunctionType": {
         "id": "function/dart:_rti::isJsFunctionType",
@@ -15347,14 +15537,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isLegacyObjectType": {
         "id": "function/dart:_rti::isLegacyObjectType",
@@ -15375,14 +15566,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 7,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isNullType": {
         "id": "function/dart:_rti::isNullType",
@@ -15403,14 +15595,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 8,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isNullable": {
         "id": "function/dart:_rti::isNullable",
@@ -15438,7 +15631,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "isNullable(t) {\n      var t1,\n        kind = t._kind;\n      if (!(t === type$.Null || t === type$.JSNull))\n        if (!A.isStrongTopType(t))\n          if (kind !== 7)\n            if (!(kind === 6 && A.isNullable(t._primary)))\n              t1 = kind === 8 && A.isNullable(t._primary);\n            else\n              t1 = true;\n          else\n            t1 = true;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      return t1;\n    }",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isNullableObjectType": {
         "id": "function/dart:_rti::isNullableObjectType",
@@ -15459,14 +15653,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isObjectType": {
         "id": "function/dart:_rti::isObjectType",
@@ -15487,14 +15682,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 10,
         "code": "",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isStrongTopType": {
         "id": "function/dart:_rti::isStrongTopType",
@@ -15515,14 +15711,15 @@
         "parameters": [
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 1,
         "code": "isStrongTopType(t) {\n      var kind = t._kind;\n      return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object;\n    }",
-        "type": "bool Function(Rti)"
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isSubtype": {
         "id": "function/dart:_rti::isSubtype",
@@ -15548,25 +15745,26 @@
           },
           {
             "name": "s",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           },
           {
             "name": "t",
-            "type": "[null|exact=Rti]",
+            "type": "[exact=Rti]",
             "declaredType": "Rti"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(Object?,Rti,Rti)"
+        "type": "bool Function(Object?,Rti,Rti)",
+        "functionKind": 0
       },
       "dart:_rti::isTopType": {
         "id": "function/dart:_rti::isTopType",
         "kind": "function",
         "name": "isTopType",
-        "size": 225,
+        "size": 212,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_rti::",
         "children": [],
@@ -15587,8 +15785,9 @@
         ],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 5,
-        "code": "isTopType(t) {\n      var t1;\n      if (!A.isStrongTopType(t))\n        if (!(t === type$.legacy_Object))\n          t1 = t === type$.Object;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      return t1;\n    }",
-        "type": "bool Function(Rti)"
+        "code": "isTopType(t) {\n      var t1;\n      if (!A.isStrongTopType(t))\n        if (!(t === type$.legacy_Object))\n          t1 = false;\n        else\n          t1 = true;\n      else\n        t1 = true;\n      return t1;\n    }",
+        "type": "bool Function(Rti)",
+        "functionKind": 0
       },
       "dart:async::AsyncError.AsyncError": {
         "id": "function/dart:async::AsyncError.AsyncError",
@@ -15609,7 +15808,7 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
@@ -15621,7 +15820,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "AsyncError$(error, stackTrace) {\n      var t1 = A.checkNotNullable(error, \"error\", type$.Object);\n      return new A.AsyncError(t1, stackTrace == null ? A.AsyncError_defaultStackTrace(error) : stackTrace);\n    }",
-        "type": "dynamic Function(Object,StackTrace?)"
+        "type": "dynamic Function(Object,StackTrace?)",
+        "functionKind": 3
       },
       "dart:async::AsyncError.defaultStackTrace": {
         "id": "function/dart:async::AsyncError.defaultStackTrace",
@@ -15642,14 +15842,15 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "AsyncError_defaultStackTrace(error) {\n      var stackTrace;\n      if (type$.Error._is(error)) {\n        stackTrace = error.get$stackTrace();\n        if (stackTrace != null)\n          return stackTrace;\n      }\n      return B.C__StringStackTrace;\n    }",
-        "type": "StackTrace Function(Object)"
+        "type": "StackTrace Function(Object)",
+        "functionKind": 0
       },
       "dart:async::AsyncError.toString": {
         "id": "function/dart:async::AsyncError.toString",
@@ -15671,7 +15872,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return A.S(this.error);\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:async::Completer.Completer": {
         "id": "function/dart:async::Completer.Completer",
@@ -15693,7 +15895,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Completer<#A> Function<#A extends Object?>()"
+        "type": "Completer<#A> Function<#A extends Object?>()",
+        "functionKind": 3
       },
       "dart:async::DeferredLoadException.DeferredLoadException": {
         "id": "function/dart:async::DeferredLoadException.DeferredLoadException",
@@ -15721,7 +15924,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "DeferredLoadException$(message) {\n      return new A.DeferredLoadException(message);\n    }",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:async::DeferredLoadException.toString": {
         "id": "function/dart:async::DeferredLoadException.toString",
@@ -15743,7 +15947,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"DeferredLoadException: '\" + this._s + \"'\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:async::Future.Future.error": {
         "id": "function/dart:async::Future.Future.error",
@@ -15776,13 +15981,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Future<#A> Function<#A extends Object?>(Object,[StackTrace?])"
+        "type": "Future<#A> Function<#A extends Object?>(Object,[StackTrace?])",
+        "functionKind": 3
       },
       "dart:async::Future.Future.value": {
         "id": "function/dart:async::Future.Future.value",
         "kind": "function",
         "name": "Future.value",
-        "size": 162,
+        "size": 212,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:async::Future",
         "children": [],
@@ -15803,14 +16009,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Future_Future$value(value, $T) {\n      var t1 = new A._Future($.Zone__current, $T._eval$1(\"_Future<0>\"));\n      t1._asyncComplete$1(value);\n      return t1;\n    }",
-        "type": "Future<#A> Function<#A extends Object?>([FutureOr<#A>?])"
+        "code": "Future_Future$value(value, $T) {\n      var t1, t2;\n      $T._as(value);\n      t1 = value;\n      t2 = new A._Future($.Zone__current, $T._eval$1(\"_Future<0>\"));\n      t2._asyncComplete$1(t1);\n      return t2;\n    }",
+        "type": "Future<#A> Function<#A extends Object?>([FutureOr<#A>?])",
+        "functionKind": 3
       },
       "dart:async::Future.wait": {
         "id": "function/dart:async::Future.wait",
         "kind": "function",
         "name": "wait",
-        "size": 3766,
+        "size": 3788,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:async::Future",
         "children": [
@@ -15834,8 +16041,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Future_wait(futures, $T) {\n      var error, stackTrace, handleError, future, pos, e, st, t2, t3, _i, t4, exception, _box_0 = {}, cleanUp = null,\n        eagerError = false,\n        t1 = $T._eval$1(\"_Future<List<0>>\"),\n        _future = new A._Future($.Zone__current, t1);\n      _box_0.values = null;\n      _box_0.remaining = 0;\n      error = A._Cell$named(\"error\");\n      stackTrace = A._Cell$named(\"stackTrace\");\n      handleError = new A.Future_wait_handleError(_box_0, cleanUp, eagerError, _future, error, stackTrace);\n      try {\n        for (t2 = futures.length, t3 = type$.Null, _i = 0, t4 = 0; _i < futures.length; futures.length === t2 || (0, A.throwConcurrentModificationError)(futures), ++_i) {\n          future = futures[_i];\n          pos = t4;\n          future.then$1$2$onError(new A.Future_wait_closure(_box_0, pos, _future, cleanUp, eagerError, error, stackTrace, $T), handleError, t3);\n          t4 = ++_box_0.remaining;\n        }\n        if (t4 === 0) {\n          t2 = _future;\n          t2._completeWithValue$1(A._setArrayType([], $T._eval$1(\"JSArray<0>\")));\n          return t2;\n        }\n        _box_0.values = A.List_List$filled(t4, null, $T._eval$1(\"0?\"));\n      } catch (exception) {\n        e = A.unwrapException(exception);\n        st = A.getTraceFromException(exception);\n        if (_box_0.remaining === 0 || A.boolConversionCheck(eagerError)) {\n          error = e;\n          stackTrace = st;\n          A.checkNotNullable(error, \"error\", type$.Object);\n          $.Zone__current !== B.C__RootZone;\n          if (stackTrace == null)\n            stackTrace = A.AsyncError_defaultStackTrace(error);\n          t1 = new A._Future($.Zone__current, t1);\n          t1._asyncCompleteError$2(error, stackTrace);\n          return t1;\n        } else {\n          error._value = e;\n          stackTrace._value = st;\n        }\n      }\n      return _future;\n    }",
-        "type": "Future<List<#A>> Function<#A extends Object?>(Iterable<Future<#A>>,{void Function(#A)? cleanUp,bool eagerError})"
+        "code": "Future_wait(futures, $T) {\n      var error, stackTrace, handleError, future, pos, e, st, t2, t3, _i, t4, exception, _box_0 = {}, cleanUp = null,\n        eagerError = false,\n        t1 = $T._eval$1(\"_Future<List<0>>\"),\n        _future = new A._Future($.Zone__current, t1);\n      _box_0.values = null;\n      _box_0.remaining = 0;\n      error = A._Cell$named(\"error\");\n      stackTrace = A._Cell$named(\"stackTrace\");\n      handleError = new A.Future_wait_handleError(_box_0, cleanUp, eagerError, _future, error, stackTrace);\n      try {\n        for (t2 = futures.length, t3 = type$.Null, _i = 0, t4 = 0; _i < futures.length; futures.length === t2 || (0, A.throwConcurrentModificationError)(futures), ++_i) {\n          future = futures[_i];\n          pos = t4;\n          future.then$1$2$onError(new A.Future_wait_closure(_box_0, pos, _future, cleanUp, eagerError, error, stackTrace, $T), handleError, t3);\n          t4 = ++_box_0.remaining;\n        }\n        if (t4 === 0) {\n          t2 = _future;\n          t2._completeWithValue$1(A._setArrayType([], $T._eval$1(\"JSArray<0>\")));\n          return t2;\n        }\n        _box_0.values = A.List_List$filled(t4, null, $T._eval$1(\"0?\"));\n      } catch (exception) {\n        e = A.unwrapException(exception);\n        st = A.getTraceFromException(exception);\n        if (_box_0.remaining === 0 || A.boolConversionCheck(eagerError)) {\n          t2 = e;\n          stackTrace = st;\n          A.checkNotNullable(t2, \"error\", type$.Object);\n          $.Zone__current !== B.C__RootZone;\n          if (stackTrace == null)\n            stackTrace = A.AsyncError_defaultStackTrace(t2);\n          t1 = new A._Future($.Zone__current, t1);\n          t1._asyncCompleteError$2(t2, stackTrace);\n          return t1;\n        } else {\n          error._value = e;\n          stackTrace._value = st;\n        }\n      }\n      return _future;\n    }",
+        "type": "Future<List<#A>> Function<#A extends Object?>(Iterable<Future<#A>>,{void Function(#A)? cleanUp,bool eagerError})",
+        "functionKind": 0
       },
       "dart:async::Future.wait.Future_wait_closure.call": {
         "id": "function/dart:async::Future.wait.Future_wait_closure.call",
@@ -15863,13 +16071,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(value) {\n      var valueList, t2, _this = this,\n        t1 = _this.T;\n      t1._as(value);\n      t2 = _this._box_0;\n      --t2.remaining;\n      valueList = t2.values;\n      if (valueList != null) {\n        J.$indexSet$a(valueList, _this.pos, value);\n        if (t2.remaining === 0)\n          _this._future._completeWithValue$1(A.List_List$from(valueList, t1));\n      } else if (t2.remaining === 0 && !_this.eagerError)\n        _this._future._completeError$2(_this.error._readLocal$0(), _this.stackTrace._readLocal$0());\n    }",
-        "type": "Null Function(wait.T)"
+        "type": "Null Function(wait.T)",
+        "functionKind": 2
       },
       "dart:async::Future.wait.Future_wait_handleError.call": {
         "id": "function/dart:async::Future.wait.Future_wait_handleError.call",
         "kind": "function",
         "name": "call",
-        "size": 608,
+        "size": 642,
         "outputUnit": "outputUnit/main",
         "parent": "closure/dart:async::Future.wait.Future_wait_handleError",
         "children": [],
@@ -15895,8 +16104,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "call$2(theError, theStackTrace) {\n      var t1, t2, _this = this;\n      type$.StackTrace._as(theStackTrace);\n      t1 = _this._box_0;\n      t2 = --t1.remaining;\n      if (t1.values != null) {\n        t1.values = null;\n        if (t1.remaining === 0 || _this.eagerError)\n          _this._future._completeError$2(theError, theStackTrace);\n        else {\n          _this.error._value = theError;\n          _this.stackTrace._value = theStackTrace;\n        }\n      } else if (t2 === 0 && !_this.eagerError)\n        _this._future._completeError$2(_this.error._readLocal$0(), _this.stackTrace._readLocal$0());\n    }",
-        "type": "void Function(Object,StackTrace)"
+        "code": "call$2(theError, theStackTrace) {\n      var t1, t2, _this = this;\n      type$.Object._as(theError);\n      type$.StackTrace._as(theStackTrace);\n      t1 = _this._box_0;\n      t2 = --t1.remaining;\n      if (t1.values != null) {\n        t1.values = null;\n        if (t1.remaining === 0 || _this.eagerError)\n          _this._future._completeError$2(theError, theStackTrace);\n        else {\n          _this.error._value = theError;\n          _this.stackTrace._value = theStackTrace;\n        }\n      } else if (t2 === 0 && !_this.eagerError)\n        _this._future._completeError$2(_this.error._readLocal$0(), _this.stackTrace._readLocal$0());\n    }",
+        "type": "void Function(Object,StackTrace)",
+        "functionKind": 2
       },
       "dart:async::StreamIterator.StreamIterator": {
         "id": "function/dart:async::StreamIterator.StreamIterator",
@@ -15924,7 +16134,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "StreamIterator_StreamIterator(stream, $T) {\n      A.checkNotNullable(stream, \"stream\", type$.Object);\n      return new A._StreamIterator($T._eval$1(\"_StreamIterator<0>\"));\n    }",
-        "type": "StreamIterator<#A> Function<#A extends Object?>(Stream<#A>)"
+        "type": "StreamIterator<#A> Function<#A extends Object?>(Stream<#A>)",
+        "functionKind": 3
       },
       "dart:async::Timer._createTimer": {
         "id": "function/dart:async::Timer._createTimer",
@@ -15957,7 +16168,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Timer Function(Duration,void Function())"
+        "type": "Timer Function(Duration,void Function())",
+        "functionKind": 0
       },
       "dart:async::Zone._enter": {
         "id": "function/dart:async::Zone._enter",
@@ -15985,7 +16197,8 @@
         "sideEffects": "SideEffects(reads static; writes static)",
         "inlinedCount": 4,
         "code": "",
-        "type": "_Zone Function(_Zone)"
+        "type": "_Zone Function(_Zone)",
+        "functionKind": 0
       },
       "dart:async::Zone._leave": {
         "id": "function/dart:async::Zone._leave",
@@ -16013,7 +16226,8 @@
         "sideEffects": "SideEffects(reads nothing; writes static)",
         "inlinedCount": 4,
         "code": "",
-        "type": "void Function(_Zone)"
+        "type": "void Function(_Zone)",
+        "functionKind": 0
       },
       "dart:async::Zone.current": {
         "id": "function/dart:async::Zone.current",
@@ -16035,7 +16249,8 @@
         "sideEffects": "SideEffects(reads static; writes nothing)",
         "inlinedCount": 7,
         "code": "",
-        "type": "Zone Function()"
+        "type": "Zone Function()",
+        "functionKind": 0
       },
       "dart:async::_AsyncAwaitCompleter._AsyncAwaitCompleter": {
         "id": "function/dart:async::_AsyncAwaitCompleter._AsyncAwaitCompleter",
@@ -16057,13 +16272,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:async::_AsyncAwaitCompleter.complete": {
         "id": "function/dart:async::_AsyncAwaitCompleter.complete",
         "kind": "function",
         "name": "complete",
-        "size": 395,
+        "size": 457,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:async::_AsyncAwaitCompleter",
         "children": [],
@@ -16084,14 +16300,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "complete$1(value) {\n      var t2, _this = this,\n        t1 = _this.$ti;\n      t1._eval$1(\"1/?\")._as(value);\n      if (!_this.isSync)\n        _this._future._asyncComplete$1(value);\n      else {\n        t2 = _this._future;\n        if (t1._eval$1(\"Future<1>\")._is(value))\n          t2._chainFuture$1(value);\n        else\n          t2._completeWithValue$1(t1._precomputed1._as(value));\n      }\n    }",
-        "type": "void Function([Object?])"
+        "code": "complete$1(value) {\n      var t2, _this = this,\n        t1 = _this.$ti;\n      t1._eval$1(\"1/?\")._as(value);\n      if (value == null)\n        t1._precomputed1._as(value);\n      if (!_this.isSync)\n        _this._future._asyncComplete$1(value);\n      else {\n        t2 = _this._future;\n        if (t1._eval$1(\"Future<1>\")._is(value))\n          t2._chainFuture$1(value);\n        else\n          t2._completeWithValue$1(t1._precomputed1._as(value));\n      }\n    }",
+        "type": "void Function([Object?])",
+        "functionKind": 2
       },
       "dart:async::_AsyncAwaitCompleter.completeError": {
         "id": "function/dart:async::_AsyncAwaitCompleter.completeError",
         "kind": "function",
         "name": "completeError",
-        "size": 250,
+        "size": 170,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:async::_AsyncAwaitCompleter",
         "children": [],
@@ -16106,19 +16323,20 @@
         "parameters": [
           {
             "name": "e",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
             "name": "st",
-            "type": "[null|subtype=StackTrace]",
+            "type": "[subtype=StackTrace]",
             "declaredType": "StackTrace?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "completeError$2(e, st) {\n      var t1;\n      if (st == null)\n        st = A.AsyncError_defaultStackTrace(e);\n      t1 = this._future;\n      if (this.isSync)\n        t1._completeError$2(e, st);\n      else\n        t1._asyncCompleteError$2(e, st);\n    }",
-        "type": "void Function(Object,[StackTrace?])"
+        "code": "completeError$2(e, st) {\n      var t1 = this._future;\n      if (this.isSync)\n        t1._completeError$2(e, st);\n      else\n        t1._asyncCompleteError$2(e, st);\n    }",
+        "type": "void Function(Object,[StackTrace?])",
+        "functionKind": 2
       },
       "dart:async::_AsyncAwaitCompleter.future": {
         "id": "function/dart:async::_AsyncAwaitCompleter.future",
@@ -16140,7 +16358,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Future<_AsyncAwaitCompleter.T> Function()"
+        "type": "Future<_AsyncAwaitCompleter.T> Function()",
+        "functionKind": 2
       },
       "dart:async::_AsyncCallbackEntry._AsyncCallbackEntry": {
         "id": "function/dart:async::_AsyncCallbackEntry._AsyncCallbackEntry",
@@ -16168,7 +16387,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "dynamic Function(void Function())"
+        "type": "dynamic Function(void Function())",
+        "functionKind": 3
       },
       "dart:async::_AsyncCompleter._AsyncCompleter": {
         "id": "function/dart:async::_AsyncCompleter._AsyncCompleter",
@@ -16190,7 +16410,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:async::_AsyncCompleter._completeError": {
         "id": "function/dart:async::_AsyncCompleter._completeError",
@@ -16211,7 +16432,7 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
@@ -16223,7 +16444,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object,StackTrace)"
+        "type": "void Function(Object,StackTrace)",
+        "functionKind": 2
       },
       "dart:async::_AsyncCompleter.complete": {
         "id": "function/dart:async::_AsyncCompleter.complete",
@@ -16251,7 +16473,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "complete$1(value) {\n      var t2,\n        t1 = this.$ti;\n      t1._eval$1(\"1/?\")._as(value);\n      t2 = this.future;\n      if ((t2._state & 30) !== 0)\n        throw A.wrapException(A.StateError$(\"Future already completed\"));\n      t2._asyncComplete$1(t1._eval$1(\"1/\")._as(value));\n    }",
-        "type": "void Function([Object?])"
+        "type": "void Function([Object?])",
+        "functionKind": 2
       },
       "dart:async::_AsyncRun._initializeScheduleImmediate": {
         "id": "function/dart:async::_AsyncRun._initializeScheduleImmediate",
@@ -16276,7 +16499,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_AsyncRun__initializeScheduleImmediate() {\n      var div, span, t1 = {};\n      if (self.scheduleImmediate != null)\n        return A.async__AsyncRun__scheduleImmediateJsOverride$closure();\n      if (self.MutationObserver != null && self.document != null) {\n        div = self.document.createElement(\"div\");\n        span = self.document.createElement(\"span\");\n        t1.storedCallback = null;\n        new self.MutationObserver(A.convertDartClosureToJS(new A._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true});\n        return new A._AsyncRun__initializeScheduleImmediate_closure(t1, div, span);\n      } else if (self.setImmediate != null)\n        return A.async__AsyncRun__scheduleImmediateWithSetImmediate$closure();\n      return A.async__AsyncRun__scheduleImmediateWithTimer$closure();\n    }",
-        "type": "Function Function()"
+        "type": "Function Function()",
+        "functionKind": 0
       },
       "dart:async::_AsyncRun._initializeScheduleImmediate._AsyncRun__initializeScheduleImmediate_closure.call": {
         "id": "function/dart:async::_AsyncRun._initializeScheduleImmediate._AsyncRun__initializeScheduleImmediate_closure.call",
@@ -16304,7 +16528,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(callback) {\n      var t1, t2;\n      this._box_0.storedCallback = type$.void_Function._as(callback);\n      t1 = this.div;\n      t2 = this.span;\n      t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);\n    }",
-        "type": "Null Function(void Function())"
+        "type": "Null Function(void Function())",
+        "functionKind": 2
       },
       "dart:async::_AsyncRun._initializeScheduleImmediate._AsyncRun__initializeScheduleImmediate_internalCallback.call": {
         "id": "function/dart:async::_AsyncRun._initializeScheduleImmediate._AsyncRun__initializeScheduleImmediate_internalCallback.call",
@@ -16332,7 +16557,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(_) {\n      var t1 = this._box_0,\n        f = t1.storedCallback;\n      t1.storedCallback = null;\n      f.call$0();\n    }",
-        "type": "Null Function(dynamic)"
+        "type": "Null Function(dynamic)",
+        "functionKind": 2
       },
       "dart:async::_AsyncRun._scheduleImmediate": {
         "id": "function/dart:async::_AsyncRun._scheduleImmediate",
@@ -16360,7 +16586,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "void Function(void Function())"
+        "type": "void Function(void Function())",
+        "functionKind": 0
       },
       "dart:async::_AsyncRun._scheduleImmediateJsOverride": {
         "id": "function/dart:async::_AsyncRun._scheduleImmediateJsOverride",
@@ -16390,7 +16617,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_AsyncRun__scheduleImmediateJsOverride(callback) {\n      self.scheduleImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0));\n    }\n_static_1(A, \"async__AsyncRun__scheduleImmediateJsOverride$closure\", \"_AsyncRun__scheduleImmediateJsOverride\", 2);\n",
-        "type": "void Function(void Function())"
+        "type": "void Function(void Function())",
+        "functionKind": 0
       },
       "dart:async::_AsyncRun._scheduleImmediateJsOverride._AsyncRun__scheduleImmediateJsOverride_internalCallback.call": {
         "id": "function/dart:async::_AsyncRun._scheduleImmediateJsOverride._AsyncRun__scheduleImmediateJsOverride_internalCallback.call",
@@ -16412,7 +16640,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      this.callback.call$0();\n    }",
-        "type": "Null Function()"
+        "type": "Null Function()",
+        "functionKind": 2
       },
       "dart:async::_AsyncRun._scheduleImmediateWithSetImmediate": {
         "id": "function/dart:async::_AsyncRun._scheduleImmediateWithSetImmediate",
@@ -16442,7 +16671,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_AsyncRun__scheduleImmediateWithSetImmediate(callback) {\n      self.setImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0));\n    }\n_static_1(A, \"async__AsyncRun__scheduleImmediateWithSetImmediate$closure\", \"_AsyncRun__scheduleImmediateWithSetImmediate\", 2);\n",
-        "type": "void Function(void Function())"
+        "type": "void Function(void Function())",
+        "functionKind": 0
       },
       "dart:async::_AsyncRun._scheduleImmediateWithSetImmediate._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.call": {
         "id": "function/dart:async::_AsyncRun._scheduleImmediateWithSetImmediate._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.call",
@@ -16464,7 +16694,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      this.callback.call$0();\n    }",
-        "type": "Null Function()"
+        "type": "Null Function()",
+        "functionKind": 2
       },
       "dart:async::_AsyncRun._scheduleImmediateWithTimer": {
         "id": "function/dart:async::_AsyncRun._scheduleImmediateWithTimer",
@@ -16492,7 +16723,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_AsyncRun__scheduleImmediateWithTimer(callback) {\n      type$.void_Function._as(callback);\n      A._TimerImpl$(0, callback);\n    }\n_static_1(A, \"async__AsyncRun__scheduleImmediateWithTimer$closure\", \"_AsyncRun__scheduleImmediateWithTimer\", 2);\n",
-        "type": "void Function(void Function())"
+        "type": "void Function(void Function())",
+        "functionKind": 0
       },
       "dart:async::_Completer.completeError": {
         "id": "function/dart:async::_Completer.completeError",
@@ -16513,7 +16745,7 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
@@ -16525,7 +16757,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "completeError$2(error, stackTrace) {\n      var t1;\n      A.checkNotNullable(error, \"error\", type$.Object);\n      t1 = this.future;\n      if ((t1._state & 30) !== 0)\n        throw A.wrapException(A.StateError$(\"Future already completed\"));\n      if (stackTrace == null)\n        stackTrace = A.AsyncError_defaultStackTrace(error);\n      t1._asyncCompleteError$2(error, stackTrace);\n    }",
-        "type": "void Function(Object,[StackTrace?])"
+        "type": "void Function(Object,[StackTrace?])",
+        "functionKind": 2
       },
       "dart:async::_Future._Future": {
         "id": "function/dart:async::_Future._Future",
@@ -16547,7 +16780,8 @@
         "sideEffects": "SideEffects(reads static; writes nothing)",
         "inlinedCount": 6,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:async::_Future._Future.immediate": {
         "id": "function/dart:async::_Future._Future.immediate",
@@ -16575,7 +16809,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(FutureOr<_Future.T>)"
+        "type": "dynamic Function(FutureOr<_Future.T>)",
+        "functionKind": 3
       },
       "dart:async::_Future._Future.immediateError": {
         "id": "function/dart:async::_Future._Future.immediateError",
@@ -16608,7 +16843,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(dynamic,StackTrace)"
+        "type": "dynamic Function(dynamic,StackTrace)",
+        "functionKind": 3
       },
       "dart:async::_Future._addListener": {
         "id": "function/dart:async::_Future._addListener",
@@ -16638,7 +16874,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_addListener$1(listener) {\n      var source, _this = this,\n        t1 = _this._state;\n      if (t1 <= 3) {\n        listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners);\n        _this._resultOrListeners = listener;\n      } else {\n        if ((t1 & 4) !== 0) {\n          source = type$._Future_dynamic._as(_this._resultOrListeners);\n          if ((source._state & 24) === 0) {\n            source._addListener$1(listener);\n            return;\n          }\n          _this._cloneResult$1(source);\n        }\n        A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__addListener_closure(_this, listener)));\n      }\n    }",
-        "type": "void Function(_FutureListener<dynamic,dynamic>)"
+        "type": "void Function(_FutureListener<dynamic,dynamic>)",
+        "functionKind": 2
       },
       "dart:async::_Future._addListener._Future__addListener_closure.call": {
         "id": "function/dart:async::_Future._addListener._Future__addListener_closure.call",
@@ -16660,7 +16897,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      A._Future__propagateToListeners(this.$this, this.listener);\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._asyncComplete": {
         "id": "function/dart:async::_Future._asyncComplete",
@@ -16688,7 +16926,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asyncComplete$1(value) {\n      var t1 = this.$ti;\n      t1._eval$1(\"1/\")._as(value);\n      if (t1._eval$1(\"Future<1>\")._is(value)) {\n        this._chainFuture$1(value);\n        return;\n      }\n      this._asyncCompleteWithValue$1(t1._precomputed1._as(value));\n    }",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 2
       },
       "dart:async::_Future._asyncCompleteError": {
         "id": "function/dart:async::_Future._asyncCompleteError",
@@ -16711,7 +16950,7 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
@@ -16723,7 +16962,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asyncCompleteError$2(error, stackTrace) {\n      type$.StackTrace._as(stackTrace);\n      this._state ^= 2;\n      A._rootScheduleMicrotask(null, null, this._zone, type$.void_Function._as(new A._Future__asyncCompleteError_closure(this, error, stackTrace)));\n    }",
-        "type": "void Function(Object,StackTrace)"
+        "type": "void Function(Object,StackTrace)",
+        "functionKind": 2
       },
       "dart:async::_Future._asyncCompleteError._Future__asyncCompleteError_closure.call": {
         "id": "function/dart:async::_Future._asyncCompleteError._Future__asyncCompleteError_closure.call",
@@ -16745,7 +16985,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      this.$this._completeError$2(this.error, this.stackTrace);\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._asyncCompleteWithValue": {
         "id": "function/dart:async::_Future._asyncCompleteWithValue",
@@ -16775,7 +17016,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asyncCompleteWithValue$1(value) {\n      var _this = this;\n      _this.$ti._precomputed1._as(value);\n      _this._state ^= 2;\n      A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__asyncCompleteWithValue_closure(_this, value)));\n    }",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 2
       },
       "dart:async::_Future._asyncCompleteWithValue._Future__asyncCompleteWithValue_closure.call": {
         "id": "function/dart:async::_Future._asyncCompleteWithValue._Future__asyncCompleteWithValue_closure.call",
@@ -16797,7 +17039,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      this.$this._completeWithValue$1(this.value);\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._chainCoreFuture": {
         "id": "function/dart:async::_Future._chainCoreFuture",
@@ -16830,13 +17073,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_Future__chainCoreFuture(source, target) {\n      var t1, t2, listeners;\n      for (t1 = type$._Future_dynamic; t2 = source._state, (t2 & 4) !== 0;)\n        source = t1._as(source._resultOrListeners);\n      if ((t2 & 24) !== 0) {\n        listeners = target._removeListeners$0();\n        target._cloneResult$1(source);\n        A._Future__propagateToListeners(target, listeners);\n      } else {\n        listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners);\n        target._state = target._state & 1 | 4;\n        target._resultOrListeners = source;\n        source._prependListeners$1(listeners);\n      }\n    }",
-        "type": "void Function(_Future<dynamic>,_Future<dynamic>)"
+        "type": "void Function(_Future<dynamic>,_Future<dynamic>)",
+        "functionKind": 0
       },
       "dart:async::_Future._chainForeignFuture": {
         "id": "function/dart:async::_Future._chainForeignFuture",
         "kind": "function",
         "name": "_chainForeignFuture",
-        "size": 1779,
+        "size": 1797,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:async::_Future",
         "children": [
@@ -16855,14 +17099,15 @@
         "parameters": [
           {
             "name": "source",
-            "type": "[null|exact=_Future]",
+            "type": "[exact=_Future]",
             "declaredType": "Future<dynamic>"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_chainForeignFuture$1(source) {\n      var e, s, exception, _this = this;\n      _this._state ^= 2;\n      try {\n        source.then$1$2$onError(new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null);\n      } catch (exception) {\n        e = A.unwrapException(exception);\n        s = A.getTraceFromException(exception);\n        A.scheduleMicrotask(new A._Future__chainForeignFuture_closure1(_this, e, s));\n      }\n    }",
-        "type": "void Function(Future<dynamic>)"
+        "type": "void Function(Future<dynamic>)",
+        "functionKind": 2
       },
       "dart:async::_Future._chainForeignFuture._Future__chainForeignFuture_closure.call": {
         "id": "function/dart:async::_Future._chainForeignFuture._Future__chainForeignFuture_closure.call",
@@ -16890,13 +17135,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(value) {\n      var error, stackTrace, exception,\n        t1 = this.$this;\n      t1._state ^= 2;\n      try {\n        t1._completeWithValue$1(t1.$ti._precomputed1._as(value));\n      } catch (exception) {\n        error = A.unwrapException(exception);\n        stackTrace = A.getTraceFromException(exception);\n        t1._completeError$2(error, stackTrace);\n      }\n    }",
-        "type": "Null Function(dynamic)"
+        "type": "Null Function(dynamic)",
+        "functionKind": 2
       },
       "dart:async::_Future._chainForeignFuture._Future__chainForeignFuture_closure.call%0": {
         "id": "function/dart:async::_Future._chainForeignFuture._Future__chainForeignFuture_closure.call%0",
         "kind": "function",
         "name": "call",
-        "size": 109,
+        "size": 127,
         "outputUnit": "outputUnit/main",
         "parent": "closure/dart:async::_Future._chainForeignFuture._Future__chainForeignFuture_closure%0",
         "children": [],
@@ -16922,8 +17168,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "call$2(error, stackTrace) {\n      this.$this._completeError$2(error, type$.StackTrace._as(stackTrace));\n    }",
-        "type": "Null Function(Object,StackTrace)"
+        "code": "call$2(error, stackTrace) {\n      this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace));\n    }",
+        "type": "Null Function(Object,StackTrace)",
+        "functionKind": 2
       },
       "dart:async::_Future._chainForeignFuture._Future__chainForeignFuture_closure.call%1": {
         "id": "function/dart:async::_Future._chainForeignFuture._Future__chainForeignFuture_closure.call%1",
@@ -16945,7 +17192,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      this.$this._completeError$2(this.e, this.s);\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._chainFuture": {
         "id": "function/dart:async::_Future._chainFuture",
@@ -16975,7 +17223,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_chainFuture$1(value) {\n      var _this = this,\n        t1 = _this.$ti;\n      t1._eval$1(\"Future<1>\")._as(value);\n      if (t1._is(value)) {\n        if ((value._state & 16) !== 0) {\n          _this._state ^= 2;\n          A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__chainFuture_closure(_this, value)));\n        } else\n          A._Future__chainCoreFuture(value, _this);\n        return;\n      }\n      _this._chainForeignFuture$1(value);\n    }",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 2
       },
       "dart:async::_Future._chainFuture._Future__chainFuture_closure.call": {
         "id": "function/dart:async::_Future._chainFuture._Future__chainFuture_closure.call",
@@ -16997,7 +17246,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      A._Future__chainCoreFuture(this.value, this.$this);\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._chainSource": {
         "id": "function/dart:async::_Future._chainSource",
@@ -17014,12 +17264,13 @@
           "external": false
         },
         "returnType": "_Future<dynamic>",
-        "inferredReturnType": "[null|exact=_Future]",
+        "inferredReturnType": "[exact=_Future]",
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "_Future<dynamic> Function()"
+        "type": "_Future<dynamic> Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._clearPendingComplete": {
         "id": "function/dart:async::_Future._clearPendingComplete",
@@ -17041,7 +17292,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._cloneResult": {
         "id": "function/dart:async::_Future._cloneResult",
@@ -17069,7 +17321,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 1,
         "code": "_cloneResult$1(source) {\n      this._state = source._state & 30 | this._state & 1;\n      this._resultOrListeners = source._resultOrListeners;\n    }",
-        "type": "void Function(_Future<dynamic>)"
+        "type": "void Function(_Future<dynamic>)",
+        "functionKind": 2
       },
       "dart:async::_Future._completeError": {
         "id": "function/dart:async::_Future._completeError",
@@ -17090,7 +17343,7 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
@@ -17102,7 +17355,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_completeError$2(error, stackTrace) {\n      var listeners;\n      type$.StackTrace._as(stackTrace);\n      listeners = this._removeListeners$0();\n      this._setErrorObject$1(A.AsyncError$(error, stackTrace));\n      A._Future__propagateToListeners(this, listeners);\n    }",
-        "type": "void Function(Object,StackTrace)"
+        "type": "void Function(Object,StackTrace)",
+        "functionKind": 2
       },
       "dart:async::_Future._completeWithValue": {
         "id": "function/dart:async::_Future._completeWithValue",
@@ -17130,7 +17384,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_completeWithValue$1(value) {\n      var listeners, _this = this;\n      _this.$ti._precomputed1._as(value);\n      listeners = _this._removeListeners$0();\n      _this._state = 8;\n      _this._resultOrListeners = value;\n      A._Future__propagateToListeners(_this, listeners);\n    }",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 2
       },
       "dart:async::_Future._error": {
         "id": "function/dart:async::_Future._error",
@@ -17147,12 +17402,13 @@
           "external": false
         },
         "returnType": "AsyncError",
-        "inferredReturnType": "[null|exact=AsyncError]",
+        "inferredReturnType": "[exact=AsyncError]",
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 8,
         "code": "",
-        "type": "AsyncError Function()"
+        "type": "AsyncError Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._hasError": {
         "id": "function/dart:async::_Future._hasError",
@@ -17174,7 +17430,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._ignoreError": {
         "id": "function/dart:async::_Future._ignoreError",
@@ -17196,7 +17453,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._isChained": {
         "id": "function/dart:async::_Future._isChained",
@@ -17218,7 +17476,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._isComplete": {
         "id": "function/dart:async::_Future._isComplete",
@@ -17240,7 +17499,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 5,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._mayAddListener": {
         "id": "function/dart:async::_Future._mayAddListener",
@@ -17262,7 +17522,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._mayComplete": {
         "id": "function/dart:async::_Future._mayComplete",
@@ -17284,7 +17545,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._prependListeners": {
         "id": "function/dart:async::_Future._prependListeners",
@@ -17314,7 +17576,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_prependListeners$1(listeners) {\n      var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {};\n      _box_0.listeners = listeners;\n      if (listeners == null)\n        return;\n      t1 = _this._state;\n      if (t1 <= 3) {\n        existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners);\n        _this._resultOrListeners = listeners;\n        if (existingListeners != null) {\n          next = listeners._nextListener;\n          for (cursor = listeners; next != null; cursor = next, next = next0)\n            next0 = next._nextListener;\n          cursor._nextListener = existingListeners;\n        }\n      } else {\n        if ((t1 & 4) !== 0) {\n          source = type$._Future_dynamic._as(_this._resultOrListeners);\n          if ((source._state & 24) === 0) {\n            source._prependListeners$1(listeners);\n            return;\n          }\n          _this._cloneResult$1(source);\n        }\n        _box_0.listeners = _this._reverseListeners$1(listeners);\n        A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__prependListeners_closure(_box_0, _this)));\n      }\n    }",
-        "type": "void Function(_FutureListener<dynamic,dynamic>?)"
+        "type": "void Function(_FutureListener<dynamic,dynamic>?)",
+        "functionKind": 2
       },
       "dart:async::_Future._prependListeners._Future__prependListeners_closure.call": {
         "id": "function/dart:async::_Future._prependListeners._Future__prependListeners_closure.call",
@@ -17336,13 +17599,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      A._Future__propagateToListeners(this.$this, this._box_0.listeners);\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._propagateToListeners": {
         "id": "function/dart:async::_Future._propagateToListeners",
         "kind": "function",
         "name": "_propagateToListeners",
-        "size": 8434,
+        "size": 8083,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:async::_Future",
         "children": [
@@ -17373,14 +17637,15 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "_Future__propagateToListeners(source, listeners) {\n      var t2, t3, t4, _box_0, t5, t6, hasError, asyncError, nextListener, nextListener0, sourceResult, t7, zone, oldZone, result, current, _box_1 = {},\n        t1 = _box_1.source = source;\n      for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) {\n        _box_0 = {};\n        t5 = t1._state;\n        t6 = (t5 & 16) === 0;\n        hasError = !t6;\n        if (listeners == null) {\n          if (hasError && (t5 & 1) === 0) {\n            asyncError = t2._as(t1._resultOrListeners);\n            A._rootHandleError(asyncError.error, asyncError.stackTrace);\n          }\n          return;\n        }\n        _box_0.listener = listeners;\n        nextListener = listeners._nextListener;\n        for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) {\n          t1._nextListener = null;\n          A._Future__propagateToListeners(_box_1.source, t1);\n          _box_0.listener = nextListener;\n          nextListener0 = nextListener._nextListener;\n        }\n        t5 = _box_1.source;\n        sourceResult = t5._resultOrListeners;\n        _box_0.listenerHasError = hasError;\n        _box_0.listenerValueOrError = sourceResult;\n        if (t6) {\n          t7 = t1.state;\n          t7 = (t7 & 1) !== 0 || (t7 & 15) === 8;\n        } else\n          t7 = true;\n        if (t7) {\n          zone = t1.result._zone;\n          if (hasError) {\n            t5 = t5._zone === zone;\n            t5 = !(t5 || t5);\n          } else\n            t5 = false;\n          if (t5) {\n            t2._as(sourceResult);\n            A._rootHandleError(sourceResult.error, sourceResult.stackTrace);\n            return;\n          }\n          oldZone = $.Zone__current;\n          if (oldZone !== zone)\n            $.Zone__current = zone;\n          else\n            oldZone = null;\n          t1 = t1.state;\n          if ((t1 & 15) === 8)\n            new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0();\n          else if (t6) {\n            if ((t1 & 1) !== 0)\n              new A._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0();\n          } else if ((t1 & 2) !== 0)\n            new A._Future__propagateToListeners_handleError(_box_1, _box_0).call$0();\n          if (oldZone != null)\n            $.Zone__current = oldZone;\n          t1 = _box_0.listenerValueOrError;\n          if (t4._is(t1)) {\n            t5 = _box_0.listener.$ti;\n            t5 = t5._eval$1(\"Future<2>\")._is(t1) || !t5._rest[1]._is(t1);\n          } else\n            t5 = false;\n          if (t5) {\n            t4._as(t1);\n            result = _box_0.listener.result;\n            if (t1 instanceof A._Future)\n              if ((t1._state & 24) !== 0) {\n                current = t3._as(result._resultOrListeners);\n                result._resultOrListeners = null;\n                listeners = result._reverseListeners$1(current);\n                result._state = t1._state & 30 | result._state & 1;\n                result._resultOrListeners = t1._resultOrListeners;\n                _box_1.source = t1;\n                continue;\n              } else\n                A._Future__chainCoreFuture(t1, result);\n            else\n              result._chainForeignFuture$1(t1);\n            return;\n          }\n        }\n        result = _box_0.listener.result;\n        current = t3._as(result._resultOrListeners);\n        result._resultOrListeners = null;\n        listeners = result._reverseListeners$1(current);\n        t1 = _box_0.listenerHasError;\n        t5 = _box_0.listenerValueOrError;\n        if (!t1) {\n          result.$ti._precomputed1._as(t5);\n          result._state = 8;\n          result._resultOrListeners = t5;\n        } else {\n          t2._as(t5);\n          result._state = result._state & 1 | 16;\n          result._resultOrListeners = t5;\n        }\n        _box_1.source = result;\n        t1 = result;\n      }\n    }",
-        "type": "void Function(_Future<dynamic>,_FutureListener<dynamic,dynamic>?)"
+        "code": "_Future__propagateToListeners(source, listeners) {\n      var t2, t3, t4, _box_0, t5, t6, hasError, asyncError, nextListener, nextListener0, sourceResult, t7, zone, oldZone, result, current, _box_1 = {},\n        t1 = _box_1.source = source;\n      for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) {\n        _box_0 = {};\n        t5 = t1._state;\n        t6 = (t5 & 16) === 0;\n        hasError = !t6;\n        if (listeners == null) {\n          if (hasError && (t5 & 1) === 0) {\n            asyncError = t2._as(t1._resultOrListeners);\n            A._rootHandleError(asyncError.error, asyncError.stackTrace);\n          }\n          return;\n        }\n        _box_0.listener = listeners;\n        nextListener = listeners._nextListener;\n        for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) {\n          t1._nextListener = null;\n          A._Future__propagateToListeners(_box_1.source, t1);\n          _box_0.listener = nextListener;\n          nextListener0 = nextListener._nextListener;\n        }\n        t5 = _box_1.source;\n        sourceResult = t5._resultOrListeners;\n        _box_0.listenerHasError = hasError;\n        _box_0.listenerValueOrError = sourceResult;\n        if (t6) {\n          t7 = t1.state;\n          t7 = (t7 & 1) !== 0 || (t7 & 15) === 8;\n        } else\n          t7 = true;\n        if (t7) {\n          zone = t1.result._zone;\n          if (hasError) {\n            t5 = t5._zone === zone;\n            t5 = !(t5 || t5);\n          } else\n            t5 = false;\n          if (t5) {\n            t2._as(sourceResult);\n            A._rootHandleError(sourceResult.error, sourceResult.stackTrace);\n            return;\n          }\n          oldZone = $.Zone__current;\n          if (oldZone !== zone)\n            $.Zone__current = zone;\n          else\n            oldZone = null;\n          t1 = t1.state;\n          if ((t1 & 15) === 8)\n            new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0();\n          else if (t6) {\n            if ((t1 & 1) !== 0)\n              new A._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0();\n          } else if ((t1 & 2) !== 0)\n            new A._Future__propagateToListeners_handleError(_box_1, _box_0).call$0();\n          if (oldZone != null)\n            $.Zone__current = oldZone;\n          t1 = _box_0.listenerValueOrError;\n          if (t4._is(t1)) {\n            t5 = _box_0.listener.$ti;\n            t5 = t5._eval$1(\"Future<2>\")._is(t1) || !t5._rest[1]._is(t1);\n          } else\n            t5 = false;\n          if (t5) {\n            t4._as(t1);\n            result = _box_0.listener.result;\n            if ((t1._state & 24) !== 0) {\n              current = t3._as(result._resultOrListeners);\n              result._resultOrListeners = null;\n              listeners = result._reverseListeners$1(current);\n              result._state = t1._state & 30 | result._state & 1;\n              result._resultOrListeners = t1._resultOrListeners;\n              _box_1.source = t1;\n              continue;\n            } else\n              A._Future__chainCoreFuture(t1, result);\n            return;\n          }\n        }\n        result = _box_0.listener.result;\n        current = t3._as(result._resultOrListeners);\n        result._resultOrListeners = null;\n        listeners = result._reverseListeners$1(current);\n        t1 = _box_0.listenerHasError;\n        t5 = _box_0.listenerValueOrError;\n        if (!t1) {\n          result.$ti._precomputed1._as(t5);\n          result._state = 8;\n          result._resultOrListeners = t5;\n        } else {\n          t2._as(t5);\n          result._state = result._state & 1 | 16;\n          result._resultOrListeners = t5;\n        }\n        _box_1.source = result;\n        t1 = result;\n      }\n    }",
+        "type": "void Function(_Future<dynamic>,_FutureListener<dynamic,dynamic>?)",
+        "functionKind": 0
       },
       "dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleError.call": {
         "id": "function/dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleError.call",
         "kind": "function",
         "name": "call",
-        "size": 911,
+        "size": 820,
         "outputUnit": "outputUnit/main",
         "parent": "closure/dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleError",
         "children": [],
@@ -17395,8 +17660,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "call$0() {\n      var asyncError, e, s, t1, exception, t2, t3, t4, _this = this;\n      try {\n        asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);\n        t1 = _this._box_0;\n        if (A.boolConversionCheck(t1.listener.matchesErrorTest$1(asyncError)) && t1.listener.errorCallback != null) {\n          t1.listenerValueOrError = t1.listener.handleError$1(asyncError);\n          t1.listenerHasError = false;\n        }\n      } catch (exception) {\n        e = A.unwrapException(exception);\n        s = A.getTraceFromException(exception);\n        t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners);\n        t2 = t1.error;\n        t3 = e;\n        t4 = _this._box_0;\n        if (t2 == null ? t3 == null : t2 === t3)\n          t4.listenerValueOrError = t1;\n        else\n          t4.listenerValueOrError = A.AsyncError$(e, s);\n        t4.listenerHasError = true;\n      }\n    }",
-        "type": "void Function()"
+        "code": "call$0() {\n      var asyncError, e, s, t1, exception, t2, _this = this;\n      try {\n        asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);\n        t1 = _this._box_0;\n        if (t1.listener.matchesErrorTest$1(asyncError) && t1.listener.errorCallback != null) {\n          t1.listenerValueOrError = t1.listener.handleError$1(asyncError);\n          t1.listenerHasError = false;\n        }\n      } catch (exception) {\n        e = A.unwrapException(exception);\n        s = A.getTraceFromException(exception);\n        t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners);\n        t2 = _this._box_0;\n        if (t1.error === e)\n          t2.listenerValueOrError = t1;\n        else\n          t2.listenerValueOrError = A.AsyncError$(e, s);\n        t2.listenerHasError = true;\n      }\n    }",
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleValueCallback.call": {
         "id": "function/dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleValueCallback.call",
@@ -17418,13 +17684,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      var e, s, t1, t2, t3, t4, t5, exception;\n      try {\n        t1 = this._box_0;\n        t2 = t1.listener;\n        t3 = t2.$ti;\n        t4 = t3._precomputed1;\n        t5 = t4._as(this.sourceResult);\n        t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1(\"2/(1)\")._as(t2.callback), t5, t3._eval$1(\"2/\"), t4);\n      } catch (exception) {\n        e = A.unwrapException(exception);\n        s = A.getTraceFromException(exception);\n        t1 = this._box_0;\n        t1.listenerValueOrError = A.AsyncError$(e, s);\n        t1.listenerHasError = true;\n      }\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleWhenCompleteCallback.call": {
         "id": "function/dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleWhenCompleteCallback.call",
         "kind": "function",
         "name": "call",
-        "size": 1551,
+        "size": 1417,
         "outputUnit": "outputUnit/main",
         "parent": "closure/dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleWhenCompleteCallback",
         "children": [],
@@ -17439,8 +17706,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "call$0() {\n      var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;\n      try {\n        t1 = _this._box_0.listener;\n        completeResult = t1.result._zone.run$1$1(type$.dynamic_Function._as(t1.callback), type$.dynamic);\n      } catch (exception) {\n        e = A.unwrapException(exception);\n        s = A.getTraceFromException(exception);\n        if (_this.hasError) {\n          t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners).error;\n          t2 = e;\n          t2 = t1 == null ? t2 == null : t1 === t2;\n          t1 = t2;\n        } else\n          t1 = false;\n        t2 = _this._box_0;\n        if (t1)\n          t2.listenerValueOrError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);\n        else\n          t2.listenerValueOrError = A.AsyncError$(e, s);\n        t2.listenerHasError = true;\n        return;\n      }\n      if (completeResult instanceof A._Future && (completeResult._state & 24) !== 0) {\n        if ((completeResult._state & 16) !== 0) {\n          t1 = _this._box_0;\n          t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners);\n          t1.listenerHasError = true;\n        }\n        return;\n      }\n      if (type$.Future_dynamic._is(completeResult)) {\n        originalSource = _this._box_1.source;\n        t1 = _this._box_0;\n        t1.listenerValueOrError = completeResult.then$1$1(new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic);\n        t1.listenerHasError = false;\n      }\n    }",
-        "type": "void Function()"
+        "code": "call$0() {\n      var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;\n      try {\n        t1 = _this._box_0.listener;\n        completeResult = t1.result._zone.run$1$1(type$.dynamic_Function._as(t1.callback), type$.dynamic);\n      } catch (exception) {\n        e = A.unwrapException(exception);\n        s = A.getTraceFromException(exception);\n        t1 = _this.hasError && type$.AsyncError._as(_this._box_1.source._resultOrListeners).error === e;\n        t2 = _this._box_0;\n        if (t1)\n          t2.listenerValueOrError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);\n        else\n          t2.listenerValueOrError = A.AsyncError$(e, s);\n        t2.listenerHasError = true;\n        return;\n      }\n      if (completeResult instanceof A._Future && (completeResult._state & 24) !== 0) {\n        if ((completeResult._state & 16) !== 0) {\n          t1 = _this._box_0;\n          t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners);\n          t1.listenerHasError = true;\n        }\n        return;\n      }\n      if (type$.Future_dynamic._is(completeResult)) {\n        originalSource = _this._box_1.source;\n        t1 = _this._box_0;\n        t1.listenerValueOrError = completeResult.then$1$1(new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic);\n        t1.listenerHasError = false;\n      }\n    }",
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleWhenCompleteCallback_closure.call": {
         "id": "function/dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleWhenCompleteCallback_closure.call",
@@ -17468,7 +17736,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "call$1(_) {\n      return this.originalSource;\n    }",
-        "type": "_Future<dynamic> Function(dynamic)"
+        "type": "_Future<dynamic> Function(dynamic)",
+        "functionKind": 2
       },
       "dart:async::_Future._removeListeners": {
         "id": "function/dart:async::_Future._removeListeners",
@@ -17490,7 +17759,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 2,
         "code": "_removeListeners$0() {\n      var current = type$.nullable__FutureListener_dynamic_dynamic._as(this._resultOrListeners);\n      this._resultOrListeners = null;\n      return this._reverseListeners$1(current);\n    }",
-        "type": "_FutureListener<dynamic,dynamic>? Function()"
+        "type": "_FutureListener<dynamic,dynamic>? Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._reverseListeners": {
         "id": "function/dart:async::_Future._reverseListeners",
@@ -17518,7 +17788,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 0,
         "code": "_reverseListeners$1(listeners) {\n      var current, prev, next;\n      for (current = listeners, prev = null; current != null; prev = current, current = next) {\n        next = current._nextListener;\n        current._nextListener = prev;\n      }\n      return prev;\n    }",
-        "type": "_FutureListener<dynamic,dynamic>? Function(_FutureListener<dynamic,dynamic>?)"
+        "type": "_FutureListener<dynamic,dynamic>? Function(_FutureListener<dynamic,dynamic>?)",
+        "functionKind": 2
       },
       "dart:async::_Future._setChained": {
         "id": "function/dart:async::_Future._setChained",
@@ -17546,7 +17817,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(_Future<dynamic>)"
+        "type": "void Function(_Future<dynamic>)",
+        "functionKind": 2
       },
       "dart:async::_Future._setError": {
         "id": "function/dart:async::_Future._setError",
@@ -17567,19 +17839,20 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
             "name": "stackTrace",
-            "type": "[null|subtype=StackTrace]",
+            "type": "[subtype=StackTrace]",
             "declaredType": "StackTrace"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object,StackTrace)"
+        "type": "void Function(Object,StackTrace)",
+        "functionKind": 2
       },
       "dart:async::_Future._setErrorObject": {
         "id": "function/dart:async::_Future._setErrorObject",
@@ -17600,14 +17873,15 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|exact=AsyncError]",
+            "type": "[exact=AsyncError]",
             "declaredType": "AsyncError"
           }
         ],
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 1,
         "code": "_setErrorObject$1(error) {\n      this._state = this._state & 1 | 16;\n      this._resultOrListeners = error;\n    }",
-        "type": "void Function(AsyncError)"
+        "type": "void Function(AsyncError)",
+        "functionKind": 2
       },
       "dart:async::_Future._setPendingComplete": {
         "id": "function/dart:async::_Future._setPendingComplete",
@@ -17629,7 +17903,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 4,
         "code": "",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Future._setValue": {
         "id": "function/dart:async::_Future._setValue",
@@ -17657,7 +17932,8 @@
         "sideEffects": "SideEffects(reads nothing; writes field)",
         "inlinedCount": 3,
         "code": "",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 2
       },
       "dart:async::_Future._thenAwait": {
         "id": "function/dart:async::_Future._thenAwait",
@@ -17690,7 +17966,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_thenAwait$1$2(f, onError, $E) {\n      var result,\n        t1 = this.$ti;\n      t1._bind$1($E)._eval$1(\"1/(2)\")._as(f);\n      result = new A._Future($.Zone__current, $E._eval$1(\"_Future<0>\"));\n      this._addListener$1(new A._FutureListener(result, 3, f, onError, t1._eval$1(\"@<1>\")._bind$1($E)._eval$1(\"_FutureListener<1,2>\")));\n      return result;\n    }",
-        "type": "Future<#A> Function<#A extends Object?>(FutureOr<#A> Function(_Future.T),Function)"
+        "type": "Future<#A> Function<#A extends Object?>(FutureOr<#A> Function(_Future.T),Function)",
+        "functionKind": 2
       },
       "dart:async::_Future.then": {
         "id": "function/dart:async::_Future.then",
@@ -17723,7 +18000,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "then$1$2$onError(f, onError, $R) {\n      var currentZone, result, t2,\n        t1 = this.$ti;\n      t1._bind$1($R)._eval$1(\"1/(2)\")._as(f);\n      currentZone = $.Zone__current;\n      if (currentZone === B.C__RootZone) {\n        if (onError != null && !type$.dynamic_Function_Object_StackTrace._is(onError) && !type$.dynamic_Function_Object._is(onError))\n          throw A.wrapException(A.ArgumentError$value(onError, \"onError\", string$.Error_));\n      } else {\n        $R._eval$1(\"@<0/>\")._bind$1(t1._precomputed1)._eval$1(\"1(2)\")._as(f);\n        if (onError != null)\n          onError = A._registerErrorHandler(onError, currentZone);\n      }\n      result = new A._Future(currentZone, $R._eval$1(\"_Future<0>\"));\n      t2 = onError == null ? 1 : 3;\n      this._addListener$1(new A._FutureListener(result, t2, f, onError, t1._eval$1(\"@<1>\")._bind$1($R)._eval$1(\"_FutureListener<1,2>\")));\n      return result;\n    }\nthen$1$1(f, $R) {\n      return this.then$1$2$onError(f, null, $R);\n    }",
-        "type": "Future<#A> Function<#A extends Object?>(FutureOr<#A> Function(_Future.T),{Function? onError})"
+        "type": "Future<#A> Function<#A extends Object?>(FutureOr<#A> Function(_Future.T),{Function? onError})",
+        "functionKind": 2
       },
       "dart:async::_FutureListener._FutureListener.then": {
         "id": "function/dart:async::_FutureListener._FutureListener.then",
@@ -17761,7 +18039,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(_Future<_FutureListener.T>,FutureOr<_FutureListener.T> Function(_FutureListener.S),Function?)"
+        "type": "dynamic Function(_Future<_FutureListener.T>,FutureOr<_FutureListener.T> Function(_FutureListener.S),Function?)",
+        "functionKind": 3
       },
       "dart:async::_FutureListener._FutureListener.thenAwait": {
         "id": "function/dart:async::_FutureListener._FutureListener.thenAwait",
@@ -17799,7 +18078,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(_Future<_FutureListener.T>,FutureOr<_FutureListener.T> Function(_FutureListener.S),Function)"
+        "type": "dynamic Function(_Future<_FutureListener.T>,FutureOr<_FutureListener.T> Function(_FutureListener.S),Function)",
+        "functionKind": 3
       },
       "dart:async::_FutureListener._errorTest": {
         "id": "function/dart:async::_FutureListener._errorTest",
@@ -17821,7 +18101,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(Object) Function()"
+        "type": "bool Function(Object) Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener._onError": {
         "id": "function/dart:async::_FutureListener._onError",
@@ -17843,7 +18124,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Function? Function()"
+        "type": "Function? Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener._onValue": {
         "id": "function/dart:async::_FutureListener._onValue",
@@ -17865,7 +18147,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "FutureOr<_FutureListener.T> Function(_FutureListener.S) Function()"
+        "type": "FutureOr<_FutureListener.T> Function(_FutureListener.S) Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener._whenCompleteAction": {
         "id": "function/dart:async::_FutureListener._whenCompleteAction",
@@ -17887,7 +18170,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function() Function()"
+        "type": "dynamic Function() Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener._zone": {
         "id": "function/dart:async::_FutureListener._zone",
@@ -17909,13 +18193,14 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 6,
         "code": "",
-        "type": "_Zone Function()"
+        "type": "_Zone Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener.handleError": {
         "id": "function/dart:async::_FutureListener.handleError",
         "kind": "function",
         "name": "handleError",
-        "size": 1091,
+        "size": 1094,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:async::_FutureListener",
         "children": [],
@@ -17930,14 +18215,15 @@
         "parameters": [
           {
             "name": "asyncError",
-            "type": "[null|exact=AsyncError]",
+            "type": "[exact=AsyncError]",
             "declaredType": "AsyncError"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "handleError$1(asyncError) {\n      var exception, _this = this,\n        errorCallback = _this.errorCallback,\n        result = null,\n        t1 = type$.dynamic,\n        t2 = type$.Object,\n        t3 = _this.result._zone;\n      if (type$.dynamic_Function_Object_StackTrace._is(errorCallback))\n        result = t3.runBinary$3$3(errorCallback, asyncError.error, asyncError.stackTrace, t1, t2, type$.StackTrace);\n      else\n        result = t3.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), asyncError.error, t1, t2);\n      try {\n        t1 = _this.$ti._eval$1(\"2/\")._as(result);\n        return t1;\n      } catch (exception) {\n        if (type$.TypeError._is(A.unwrapException(exception))) {\n          if ((_this.state & 1) !== 0)\n            throw A.wrapException(A.ArgumentError$(\"The error handler of Future.then must return a value of the returned future's type\", \"onError\"));\n          throw A.wrapException(A.ArgumentError$(\"The error handler of Future.catchError must return a value of the future's type\", \"onError\"));\n        } else\n          throw exception;\n      }\n    }",
-        "type": "FutureOr<_FutureListener.T> Function(AsyncError)"
+        "code": "handleError$1(asyncError) {\n      var exception, _this = this,\n        errorCallback = _this.errorCallback,\n        result = null,\n        t1 = type$.dynamic,\n        t2 = type$.Object,\n        t3 = asyncError.error,\n        t4 = _this.result._zone;\n      if (type$.dynamic_Function_Object_StackTrace._is(errorCallback))\n        result = t4.runBinary$3$3(errorCallback, t3, asyncError.stackTrace, t1, t2, type$.StackTrace);\n      else\n        result = t4.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), t3, t1, t2);\n      try {\n        t1 = _this.$ti._eval$1(\"2/\")._as(result);\n        return t1;\n      } catch (exception) {\n        if (type$.TypeError._is(A.unwrapException(exception))) {\n          if ((_this.state & 1) !== 0)\n            throw A.wrapException(A.ArgumentError$(\"The error handler of Future.then must return a value of the returned future's type\", \"onError\"));\n          throw A.wrapException(A.ArgumentError$(\"The error handler of Future.catchError must return a value of the future's type\", \"onError\"));\n        } else\n          throw exception;\n      }\n    }",
+        "type": "FutureOr<_FutureListener.T> Function(AsyncError)",
+        "functionKind": 2
       },
       "dart:async::_FutureListener.handleValue": {
         "id": "function/dart:async::_FutureListener.handleValue",
@@ -17965,7 +18251,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "FutureOr<_FutureListener.T> Function(Object?)"
+        "type": "FutureOr<_FutureListener.T> Function(Object?)",
+        "functionKind": 2
       },
       "dart:async::_FutureListener.handleWhenComplete": {
         "id": "function/dart:async::_FutureListener.handleWhenComplete",
@@ -17987,7 +18274,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener.handlesComplete": {
         "id": "function/dart:async::_FutureListener.handlesComplete",
@@ -18009,7 +18297,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener.handlesError": {
         "id": "function/dart:async::_FutureListener.handlesError",
@@ -18031,7 +18320,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener.handlesValue": {
         "id": "function/dart:async::_FutureListener.handlesValue",
@@ -18053,7 +18343,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener.hasErrorCallback": {
         "id": "function/dart:async::_FutureListener.hasErrorCallback",
@@ -18075,7 +18366,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener.hasErrorTest": {
         "id": "function/dart:async::_FutureListener.hasErrorTest",
@@ -18097,7 +18389,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:async::_FutureListener.matchesErrorTest": {
         "id": "function/dart:async::_FutureListener.matchesErrorTest",
@@ -18114,18 +18407,19 @@
           "external": false
         },
         "returnType": "bool",
-        "inferredReturnType": "[null|subtype=bool]",
+        "inferredReturnType": "[subtype=bool]",
         "parameters": [
           {
             "name": "asyncError",
-            "type": "[null|exact=AsyncError]",
+            "type": "[exact=AsyncError]",
             "declaredType": "AsyncError"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "matchesErrorTest$1(asyncError) {\n      if ((this.state & 15) !== 6)\n        return true;\n      return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object);\n    }",
-        "type": "bool Function(AsyncError)"
+        "type": "bool Function(AsyncError)",
+        "functionKind": 2
       },
       "dart:async::_FutureListener.shouldChain": {
         "id": "function/dart:async::_FutureListener.shouldChain",
@@ -18146,14 +18440,15 @@
         "parameters": [
           {
             "name": "value",
-            "type": "[null|exact=_Future]",
+            "type": "[exact=_Future]",
             "declaredType": "Future<dynamic>"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function(Future<dynamic>)"
+        "type": "bool Function(Future<dynamic>)",
+        "functionKind": 2
       },
       "dart:async::_RootZone._scheduleMicrotask": {
         "id": "function/dart:async::_RootZone._scheduleMicrotask",
@@ -18175,7 +18470,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "_ZoneFunction<void Function(Zone,ZoneDelegate,Zone,void Function())> Function()"
+        "type": "_ZoneFunction<void Function(Zone,ZoneDelegate,Zone,void Function())> Function()",
+        "functionKind": 2
       },
       "dart:async::_RootZone.bindCallbackGuarded": {
         "id": "function/dart:async::_RootZone.bindCallbackGuarded",
@@ -18205,7 +18501,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "bindCallbackGuarded$1(f) {\n      return new A._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f));\n    }",
-        "type": "void Function() Function(void Function())"
+        "type": "void Function() Function(void Function())",
+        "functionKind": 2
       },
       "dart:async::_RootZone.bindCallbackGuarded._RootZone_bindCallbackGuarded_closure.call": {
         "id": "function/dart:async::_RootZone.bindCallbackGuarded._RootZone_bindCallbackGuarded_closure.call",
@@ -18227,7 +18524,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      return this.$this.runGuarded$1(this.f);\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_RootZone.errorCallback": {
         "id": "function/dart:async::_RootZone.errorCallback",
@@ -18248,7 +18546,7 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
@@ -18260,7 +18558,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "AsyncError? Function(Object,StackTrace?)"
+        "type": "AsyncError? Function(Object,StackTrace?)",
+        "functionKind": 2
       },
       "dart:async::_RootZone.errorZone": {
         "id": "function/dart:async::_RootZone.errorZone",
@@ -18282,7 +18581,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 6,
         "code": "",
-        "type": "Zone Function()"
+        "type": "Zone Function()",
+        "functionKind": 2
       },
       "dart:async::_RootZone.handleUncaughtError": {
         "id": "function/dart:async::_RootZone.handleUncaughtError",
@@ -18303,7 +18603,7 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
@@ -18315,7 +18615,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "",
-        "type": "void Function(Object,StackTrace)"
+        "type": "void Function(Object,StackTrace)",
+        "functionKind": 2
       },
       "dart:async::_RootZone.registerBinaryCallback": {
         "id": "function/dart:async::_RootZone.registerBinaryCallback",
@@ -18343,7 +18644,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "registerBinaryCallback$3$1(f, $R, T1, T2) {\n      return $R._eval$1(\"@<0>\")._bind$1(T1)._bind$1(T2)._eval$1(\"1(2,3)\")._as(f);\n    }",
-        "type": "#A Function(#B,#C) Function<#A extends Object?,#B extends Object?,#C extends Object?>(#A Function(#B,#C))"
+        "type": "#A Function(#B,#C) Function<#A extends Object?,#B extends Object?,#C extends Object?>(#A Function(#B,#C))",
+        "functionKind": 2
       },
       "dart:async::_RootZone.registerCallback": {
         "id": "function/dart:async::_RootZone.registerCallback",
@@ -18371,7 +18673,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "#A Function() Function<#A extends Object?>(#A Function())"
+        "type": "#A Function() Function<#A extends Object?>(#A Function())",
+        "functionKind": 2
       },
       "dart:async::_RootZone.registerUnaryCallback": {
         "id": "function/dart:async::_RootZone.registerUnaryCallback",
@@ -18399,7 +18702,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "#A Function(#B) Function<#A extends Object?,#B extends Object?>(#A Function(#B))"
+        "type": "#A Function(#B) Function<#A extends Object?,#B extends Object?>(#A Function(#B))",
+        "functionKind": 2
       },
       "dart:async::_RootZone.run": {
         "id": "function/dart:async::_RootZone.run",
@@ -18427,7 +18731,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "run$1$1(f, $R) {\n      $R._eval$1(\"0()\")._as(f);\n      if ($.Zone__current === B.C__RootZone)\n        return f.call$0();\n      return A._rootRun(null, null, this, f, $R);\n    }",
-        "type": "#A Function<#A extends Object?>(#A Function())"
+        "type": "#A Function<#A extends Object?>(#A Function())",
+        "functionKind": 2
       },
       "dart:async::_RootZone.runBinary": {
         "id": "function/dart:async::_RootZone.runBinary",
@@ -18453,7 +18758,7 @@
           },
           {
             "name": "arg1",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "runBinary.T1"
           },
           {
@@ -18465,13 +18770,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "runBinary$3$3(f, arg1, arg2, $R, T1, T2) {\n      $R._eval$1(\"@<0>\")._bind$1(T1)._bind$1(T2)._eval$1(\"1(2,3)\")._as(f);\n      T1._as(arg1);\n      T2._as(arg2);\n      if ($.Zone__current === B.C__RootZone)\n        return f.call$2(arg1, arg2);\n      return A._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2);\n    }",
-        "type": "#A Function<#A extends Object?,#B extends Object?,#C extends Object?>(#A Function(#B,#C),#B,#C)"
+        "type": "#A Function<#A extends Object?,#B extends Object?,#C extends Object?>(#A Function(#B,#C),#B,#C)",
+        "functionKind": 2
       },
       "dart:async::_RootZone.runGuarded": {
         "id": "function/dart:async::_RootZone.runGuarded",
         "kind": "function",
         "name": "runGuarded",
-        "size": 430,
+        "size": 448,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:async::_RootZone",
         "children": [],
@@ -18492,8 +18798,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "runGuarded$1(f) {\n      var e, s, exception;\n      type$.void_Function._as(f);\n      try {\n        if (B.C__RootZone === $.Zone__current) {\n          f.call$0();\n          return;\n        }\n        A._rootRun(null, null, this, f, type$.void);\n      } catch (exception) {\n        e = A.unwrapException(exception);\n        s = A.getTraceFromException(exception);\n        A._rootHandleError(e, type$.StackTrace._as(s));\n      }\n    }",
-        "type": "void Function(void Function())"
+        "code": "runGuarded$1(f) {\n      var e, s, exception;\n      type$.void_Function._as(f);\n      try {\n        if (B.C__RootZone === $.Zone__current) {\n          f.call$0();\n          return;\n        }\n        A._rootRun(null, null, this, f, type$.void);\n      } catch (exception) {\n        e = A.unwrapException(exception);\n        s = A.getTraceFromException(exception);\n        A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s));\n      }\n    }",
+        "type": "void Function(void Function())",
+        "functionKind": 2
       },
       "dart:async::_RootZone.runUnary": {
         "id": "function/dart:async::_RootZone.runUnary",
@@ -18514,7 +18821,7 @@
         "parameters": [
           {
             "name": "f",
-            "type": "[null|subclass=Closure]",
+            "type": "[subclass=Closure]",
             "declaredType": "runUnary.R Function(runUnary.T)"
           },
           {
@@ -18526,7 +18833,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "runUnary$2$2(f, arg, $R, $T) {\n      $R._eval$1(\"@<0>\")._bind$1($T)._eval$1(\"1(2)\")._as(f);\n      $T._as(arg);\n      if ($.Zone__current === B.C__RootZone)\n        return f.call$1(arg);\n      return A._rootRunUnary(null, null, this, f, arg, $R, $T);\n    }",
-        "type": "#A Function<#A extends Object?,#B extends Object?>(#A Function(#B),#B)"
+        "type": "#A Function<#A extends Object?,#B extends Object?>(#A Function(#B),#B)",
+        "functionKind": 2
       },
       "dart:async::_RootZone.scheduleMicrotask": {
         "id": "function/dart:async::_RootZone.scheduleMicrotask",
@@ -18554,7 +18862,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 6,
         "code": "",
-        "type": "void Function(void Function())"
+        "type": "void Function(void Function())",
+        "functionKind": 2
       },
       "dart:async::_StreamIterator._StreamIterator": {
         "id": "function/dart:async::_StreamIterator._StreamIterator",
@@ -18575,14 +18884,15 @@
         "parameters": [
           {
             "name": "stream",
-            "type": "[null]",
+            "type": "[empty]",
             "declaredType": "Stream<_StreamIterator.T>"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(Stream<_StreamIterator.T>)"
+        "type": "dynamic Function(Stream<_StreamIterator.T>)",
+        "functionKind": 3
       },
       "dart:async::_TimerImpl._TimerImpl": {
         "id": "function/dart:async::_TimerImpl._TimerImpl",
@@ -18617,7 +18927,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_TimerImpl$(milliseconds, callback) {\n      var t1 = new A._TimerImpl();\n      t1._TimerImpl$2(milliseconds, callback);\n      return t1;\n    }",
-        "type": "dynamic Function(int,void Function())"
+        "type": "dynamic Function(int,void Function())",
+        "functionKind": 3
       },
       "dart:async::_TimerImpl._TimerImpl._TimerImpl_internalCallback.call": {
         "id": "function/dart:async::_TimerImpl._TimerImpl._TimerImpl_internalCallback.call",
@@ -18639,7 +18950,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$0() {\n      this.callback.call$0();\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_Zone.inSameErrorZone": {
         "id": "function/dart:async::_Zone.inSameErrorZone",
@@ -18667,7 +18979,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "bool Function(Zone)"
+        "type": "bool Function(Zone)",
+        "functionKind": 2
       },
       "dart:async::_asyncAwait": {
         "id": "function/dart:async::_asyncAwait",
@@ -18700,7 +19013,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asyncAwait(object, bodyFunction) {\n      A._awaitOnObject(object, bodyFunction);\n    }",
-        "type": "dynamic Function(dynamic,void Function(int,dynamic))"
+        "type": "dynamic Function(dynamic,void Function(int,dynamic))",
+        "functionKind": 0
       },
       "dart:async::_asyncRethrow": {
         "id": "function/dart:async::_asyncRethrow",
@@ -18733,7 +19047,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asyncRethrow(object, completer) {\n      completer.completeError$2(A.unwrapException(object), A.getTraceFromException(object));\n    }",
-        "type": "dynamic Function(dynamic,Completer<dynamic>)"
+        "type": "dynamic Function(dynamic,Completer<dynamic>)",
+        "functionKind": 0
       },
       "dart:async::_asyncReturn": {
         "id": "function/dart:async::_asyncReturn",
@@ -18766,7 +19081,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asyncReturn(object, completer) {\n      completer.complete$1(object);\n    }",
-        "type": "dynamic Function(dynamic,Completer<dynamic>)"
+        "type": "dynamic Function(dynamic,Completer<dynamic>)",
+        "functionKind": 0
       },
       "dart:async::_asyncStartSync": {
         "id": "function/dart:async::_asyncStartSync",
@@ -18799,7 +19115,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_asyncStartSync(bodyFunction, completer) {\n      bodyFunction.call$2(0, null);\n      completer.isSync = true;\n      return completer._future;\n    }",
-        "type": "dynamic Function(void Function(int,dynamic),_AsyncAwaitCompleter<dynamic>)"
+        "type": "dynamic Function(void Function(int,dynamic),_AsyncAwaitCompleter<dynamic>)",
+        "functionKind": 0
       },
       "dart:async::_awaitOnObject": {
         "id": "function/dart:async::_awaitOnObject",
@@ -18828,14 +19145,15 @@
           },
           {
             "name": "bodyFunction",
-            "type": "[null|subclass=Closure]",
+            "type": "[subclass=Closure]",
             "declaredType": "void Function(int,dynamic)"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_awaitOnObject(object, bodyFunction) {\n      var t1, future,\n        thenCallback = new A._awaitOnObject_closure(bodyFunction),\n        errorCallback = new A._awaitOnObject_closure0(bodyFunction);\n      if (object instanceof A._Future)\n        object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic);\n      else {\n        t1 = type$.dynamic;\n        if (type$.Future_dynamic._is(object))\n          object.then$1$2$onError(thenCallback, errorCallback, t1);\n        else {\n          future = new A._Future($.Zone__current, type$._Future_dynamic);\n          future._state = 8;\n          future._resultOrListeners = object;\n          future._thenAwait$1$2(thenCallback, errorCallback, t1);\n        }\n      }\n    }",
-        "type": "void Function(dynamic,void Function(int,dynamic))"
+        "type": "void Function(dynamic,void Function(int,dynamic))",
+        "functionKind": 0
       },
       "dart:async::_awaitOnObject._awaitOnObject_closure.call": {
         "id": "function/dart:async::_awaitOnObject._awaitOnObject_closure.call",
@@ -18863,7 +19181,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$1(result) {\n      return this.bodyFunction.call$2(0, result);\n    }",
-        "type": "void Function(dynamic)"
+        "type": "void Function(dynamic)",
+        "functionKind": 2
       },
       "dart:async::_awaitOnObject._awaitOnObject_closure.call%0": {
         "id": "function/dart:async::_awaitOnObject._awaitOnObject_closure.call%0",
@@ -18896,7 +19215,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "call$2(error, stackTrace) {\n      this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));\n    }",
-        "type": "Null Function(dynamic,StackTrace)"
+        "type": "Null Function(dynamic,StackTrace)",
+        "functionKind": 2
       },
       "dart:async::_hasTimer": {
         "id": "function/dart:async::_hasTimer",
@@ -18918,7 +19238,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 0
       },
       "dart:async::_makeAsyncAwaitCompleter": {
         "id": "function/dart:async::_makeAsyncAwaitCompleter",
@@ -18940,7 +19261,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_makeAsyncAwaitCompleter($T) {\n      return new A._AsyncAwaitCompleter(new A._Future($.Zone__current, $T._eval$1(\"_Future<0>\")), $T._eval$1(\"_AsyncAwaitCompleter<0>\"));\n    }",
-        "type": "Completer<#A> Function<#A extends Object?>()"
+        "type": "Completer<#A> Function<#A extends Object?>()",
+        "functionKind": 0
       },
       "dart:async::_microtaskLoop": {
         "id": "function/dart:async::_microtaskLoop",
@@ -18962,7 +19284,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_microtaskLoop() {\n      var entry, next;\n      for (entry = $._nextCallback; entry != null; entry = $._nextCallback) {\n        $._lastPriorityCallback = null;\n        next = entry.next;\n        $._nextCallback = next;\n        if (next == null)\n          $._lastCallback = null;\n        entry.callback.call$0();\n      }\n    }",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 0
       },
       "dart:async::_registerErrorHandler": {
         "id": "function/dart:async::_registerErrorHandler",
@@ -18995,13 +19318,14 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "_registerErrorHandler(errorHandler, zone) {\n      var t1;\n      if (type$.dynamic_Function_Object_StackTrace._is(errorHandler))\n        return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace);\n      t1 = type$.dynamic_Function_Object;\n      if (t1._is(errorHandler))\n        return t1._as(errorHandler);\n      throw A.wrapException(A.ArgumentError$value(errorHandler, \"onError\", string$.Error_));\n    }",
-        "type": "Function Function(Function,Zone)"
+        "type": "Function Function(Function,Zone)",
+        "functionKind": 0
       },
       "dart:async::_rootHandleError": {
         "id": "function/dart:async::_rootHandleError",
         "kind": "function",
         "name": "_rootHandleError",
-        "size": 480,
+        "size": 574,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:async::",
         "children": [
@@ -19018,25 +19342,26 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
             "name": "stackTrace",
-            "type": "[null|subtype=StackTrace]",
+            "type": "[subtype=StackTrace]",
             "declaredType": "StackTrace"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_rootHandleError(error, stackTrace) {\n      A._schedulePriorityAsyncCallback(new A._rootHandleError_closure(error, stackTrace));\n    }",
-        "type": "void Function(Object,StackTrace)"
+        "type": "void Function(Object,StackTrace)",
+        "functionKind": 0
       },
       "dart:async::_rootHandleError._rootHandleError_closure.call": {
         "id": "function/dart:async::_rootHandleError._rootHandleError_closure.call",
         "kind": "function",
         "name": "call",
-        "size": 124,
+        "size": 218,
         "outputUnit": "outputUnit/main",
         "parent": "closure/dart:async::_rootHandleError._rootHandleError_closure",
         "children": [],
@@ -19047,12 +19372,13 @@
           "external": false
         },
         "returnType": "void",
-        "inferredReturnType": "[empty]",
+        "inferredReturnType": "[null]",
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "call$0() {\n      A.Error_throwWithStackTrace(this.error, this.stackTrace);\n      A.ReachabilityError$(string$._null_);\n    }",
-        "type": "void Function()"
+        "code": "call$0() {\n      var t1 = this.error,\n        t2 = this.stackTrace;\n      A.checkNotNullable(t1, \"error\", type$.Object);\n      A.checkNotNullable(t2, \"stackTrace\", type$.StackTrace);\n      A.Error__throw(t1, t2);\n    }",
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:async::_rootRun": {
         "id": "function/dart:async::_rootRun",
@@ -19095,7 +19421,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_rootRun($self, $parent, zone, f, $R) {\n      var old,\n        t1 = $.Zone__current;\n      if (t1 === zone)\n        return f.call$0();\n      $.Zone__current = zone;\n      old = t1;\n      try {\n        t1 = f.call$0();\n        return t1;\n      } finally {\n        $.Zone__current = old;\n      }\n    }",
-        "type": "#A Function<#A extends Object?>(Zone?,ZoneDelegate?,Zone,#A Function())"
+        "type": "#A Function<#A extends Object?>(Zone?,ZoneDelegate?,Zone,#A Function())",
+        "functionKind": 0
       },
       "dart:async::_rootRunBinary": {
         "id": "function/dart:async::_rootRunBinary",
@@ -19136,7 +19463,7 @@
           },
           {
             "name": "arg1",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "_rootRunBinary.T1"
           },
           {
@@ -19148,7 +19475,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, T1, T2) {\n      var old,\n        t1 = $.Zone__current;\n      if (t1 === zone)\n        return f.call$2(arg1, arg2);\n      $.Zone__current = zone;\n      old = t1;\n      try {\n        t1 = f.call$2(arg1, arg2);\n        return t1;\n      } finally {\n        $.Zone__current = old;\n      }\n    }",
-        "type": "#A Function<#A extends Object?,#B extends Object?,#C extends Object?>(Zone?,ZoneDelegate?,Zone,#A Function(#B,#C),#B,#C)"
+        "type": "#A Function<#A extends Object?,#B extends Object?,#C extends Object?>(Zone?,ZoneDelegate?,Zone,#A Function(#B,#C),#B,#C)",
+        "functionKind": 0
       },
       "dart:async::_rootRunUnary": {
         "id": "function/dart:async::_rootRunUnary",
@@ -19184,7 +19512,7 @@
           },
           {
             "name": "f",
-            "type": "[null|subclass=Closure]",
+            "type": "[subclass=Closure]",
             "declaredType": "_rootRunUnary.R Function(_rootRunUnary.T)"
           },
           {
@@ -19196,7 +19524,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_rootRunUnary($self, $parent, zone, f, arg, $R, $T) {\n      var old,\n        t1 = $.Zone__current;\n      if (t1 === zone)\n        return f.call$1(arg);\n      $.Zone__current = zone;\n      old = t1;\n      try {\n        t1 = f.call$1(arg);\n        return t1;\n      } finally {\n        $.Zone__current = old;\n      }\n    }",
-        "type": "#A Function<#A extends Object?,#B extends Object?>(Zone?,ZoneDelegate?,Zone,#A Function(#B),#B)"
+        "type": "#A Function<#A extends Object?,#B extends Object?>(Zone?,ZoneDelegate?,Zone,#A Function(#B),#B)",
+        "functionKind": 0
       },
       "dart:async::_rootScheduleMicrotask": {
         "id": "function/dart:async::_rootScheduleMicrotask",
@@ -19239,7 +19568,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_rootScheduleMicrotask($self, $parent, zone, f) {\n      type$.void_Function._as(f);\n      if (B.C__RootZone !== zone)\n        f = zone.bindCallbackGuarded$1(f);\n      A._scheduleAsyncCallback(f);\n    }",
-        "type": "void Function(Zone?,ZoneDelegate?,Zone,void Function())"
+        "type": "void Function(Zone?,ZoneDelegate?,Zone,void Function())",
+        "functionKind": 0
       },
       "dart:async::_scheduleAsyncCallback": {
         "id": "function/dart:async::_scheduleAsyncCallback",
@@ -19267,7 +19597,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_scheduleAsyncCallback(callback) {\n      var newEntry = new A._AsyncCallbackEntry(callback),\n        lastCallback = $._lastCallback;\n      if (lastCallback == null) {\n        $._nextCallback = $._lastCallback = newEntry;\n        if (!$._isInCallbackLoop)\n          $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure());\n      } else\n        $._lastCallback = lastCallback.next = newEntry;\n    }",
-        "type": "void Function(void Function())"
+        "type": "void Function(void Function())",
+        "functionKind": 0
       },
       "dart:async::_schedulePriorityAsyncCallback": {
         "id": "function/dart:async::_schedulePriorityAsyncCallback",
@@ -19295,7 +19626,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_schedulePriorityAsyncCallback(callback) {\n      var entry, lastPriorityCallback, next,\n        t1 = $._nextCallback;\n      if (t1 == null) {\n        A._scheduleAsyncCallback(callback);\n        $._lastPriorityCallback = $._lastCallback;\n        return;\n      }\n      entry = new A._AsyncCallbackEntry(callback);\n      lastPriorityCallback = $._lastPriorityCallback;\n      if (lastPriorityCallback == null) {\n        entry.next = t1;\n        $._nextCallback = $._lastPriorityCallback = entry;\n      } else {\n        next = lastPriorityCallback.next;\n        entry.next = next;\n        $._lastPriorityCallback = lastPriorityCallback.next = entry;\n        if (next == null)\n          $._lastCallback = entry;\n      }\n    }",
-        "type": "void Function(void Function())"
+        "type": "void Function(void Function())",
+        "functionKind": 0
       },
       "dart:async::_startMicrotaskLoop": {
         "id": "function/dart:async::_startMicrotaskLoop",
@@ -19317,13 +19649,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_startMicrotaskLoop() {\n      $._isInCallbackLoop = true;\n      try {\n        A._microtaskLoop();\n      } finally {\n        $._lastPriorityCallback = null;\n        $._isInCallbackLoop = false;\n        if ($._nextCallback != null)\n          $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure());\n      }\n    }\n_static_0(A, \"async___startMicrotaskLoop$closure\", \"_startMicrotaskLoop\", 0);\n",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 0
       },
       "dart:async::_wrapJsFunctionForAsync": {
         "id": "function/dart:async::_wrapJsFunctionForAsync",
         "kind": "function",
         "name": "_wrapJsFunctionForAsync",
-        "size": 828,
+        "size": 827,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:async::",
         "children": [
@@ -19347,13 +19680,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_wrapJsFunctionForAsync($function) {\n      var $protected = function(fn, ERROR) {\n        return function(errorCode, result) {\n          while (true)\n            try {\n              fn(errorCode, result);\n              break;\n            } catch (error) {\n              result = error;\n              errorCode = ERROR;\n            }\n        };\n      }($function, 1);\n      return $.Zone__current.registerBinaryCallback$3$1(new A._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic);\n    }",
-        "type": "void Function(int,dynamic) Function(dynamic)"
+        "type": "void Function(int,dynamic) Function(dynamic)",
+        "functionKind": 0
       },
       "dart:async::_wrapJsFunctionForAsync._wrapJsFunctionForAsync_closure.call": {
         "id": "function/dart:async::_wrapJsFunctionForAsync._wrapJsFunctionForAsync_closure.call",
         "kind": "function",
         "name": "call",
-        "size": 86,
+        "size": 85,
         "outputUnit": "outputUnit/main",
         "parent": "closure/dart:async::_wrapJsFunctionForAsync._wrapJsFunctionForAsync_closure",
         "children": [],
@@ -19368,7 +19702,7 @@
         "parameters": [
           {
             "name": "errorCode",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "int"
           },
           {
@@ -19379,8 +19713,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "call$2(errorCode, result) {\n      this.$protected(A._asIntS(errorCode), result);\n    }",
-        "type": "void Function(int,dynamic)"
+        "code": "call$2(errorCode, result) {\n      this.$protected(A._asInt(errorCode), result);\n    }",
+        "type": "void Function(int,dynamic)",
+        "functionKind": 2
       },
       "dart:async::scheduleMicrotask": {
         "id": "function/dart:async::scheduleMicrotask",
@@ -19408,7 +19743,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "scheduleMicrotask(callback) {\n      var _null = null,\n        currentZone = $.Zone__current;\n      if (B.C__RootZone === currentZone) {\n        A._rootScheduleMicrotask(_null, _null, B.C__RootZone, callback);\n        return;\n      }\n      A._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(currentZone.bindCallbackGuarded$1(callback)));\n    }",
-        "type": "void Function(void Function())"
+        "type": "void Function(void Function())",
+        "functionKind": 0
       },
       "dart:collection::IterableBase.iterableToFullString": {
         "id": "function/dart:collection::IterableBase.iterableToFullString",
@@ -19446,7 +19782,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "IterableBase_iterableToFullString(iterable, leftDelimiter, rightDelimiter) {\n      var buffer, t1;\n      if (A._isToStringVisiting(iterable))\n        return leftDelimiter + \"...\" + rightDelimiter;\n      buffer = new A.StringBuffer(leftDelimiter);\n      B.JSArray_methods.add$1($._toStringVisiting, iterable);\n      try {\n        t1 = buffer;\n        t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, \", \");\n      } finally {\n        if (0 >= $._toStringVisiting.length)\n          return A.ioore($._toStringVisiting, -1);\n        $._toStringVisiting.pop();\n      }\n      buffer._contents += rightDelimiter;\n      t1 = buffer._contents;\n      return t1.charCodeAt(0) == 0 ? t1 : t1;\n    }",
-        "type": "String Function(Iterable<dynamic>,[String,String])"
+        "type": "String Function(Iterable<dynamic>,[String,String])",
+        "functionKind": 0
       },
       "dart:collection::LinkedHashMap.LinkedHashMap._empty": {
         "id": "function/dart:collection::LinkedHashMap.LinkedHashMap._empty",
@@ -19468,7 +19805,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "LinkedHashMap_LinkedHashMap$_empty($K, $V) {\n      return new A.JsLinkedHashMap($K._eval$1(\"@<0>\")._bind$1($V)._eval$1(\"JsLinkedHashMap<1,2>\"));\n    }",
-        "type": "LinkedHashMap<#A,#B> Function<#A extends Object?,#B extends Object?>()"
+        "type": "LinkedHashMap<#A,#B> Function<#A extends Object?,#B extends Object?>()",
+        "functionKind": 3
       },
       "dart:collection::LinkedHashSet.LinkedHashSet": {
         "id": "function/dart:collection::LinkedHashSet.LinkedHashSet",
@@ -19490,7 +19828,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "LinkedHashSet_LinkedHashSet($E) {\n      return new A._LinkedHashSet($E._eval$1(\"_LinkedHashSet<0>\"));\n    }",
-        "type": "LinkedHashSet<#A> Function<#A extends Object?>({bool Function(#A,#A)? equals,int Function(#A)? hashCode,bool Function(dynamic)? isValidKey})"
+        "type": "LinkedHashSet<#A> Function<#A extends Object?>({bool Function(#A,#A)? equals,int Function(#A)? hashCode,bool Function(dynamic)? isValidKey})",
+        "functionKind": 3
       },
       "dart:collection::ListBase.listToString": {
         "id": "function/dart:collection::ListBase.listToString",
@@ -19518,7 +19857,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(List<dynamic>)"
+        "type": "String Function(List<dynamic>)",
+        "functionKind": 0
       },
       "dart:collection::MapBase.mapToString": {
         "id": "function/dart:collection::MapBase.mapToString",
@@ -19548,7 +19888,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "MapBase_mapToString(m) {\n      var result, t1 = {};\n      if (A._isToStringVisiting(m))\n        return \"{...}\";\n      result = new A.StringBuffer(\"\");\n      try {\n        B.JSArray_methods.add$1($._toStringVisiting, m);\n        result._contents += \"{\";\n        t1.first = true;\n        m.forEach$1(0, new A.MapBase_mapToString_closure(t1, result));\n        result._contents += \"}\";\n      } finally {\n        if (0 >= $._toStringVisiting.length)\n          return A.ioore($._toStringVisiting, -1);\n        $._toStringVisiting.pop();\n      }\n      t1 = result._contents;\n      return t1.charCodeAt(0) == 0 ? t1 : t1;\n    }",
-        "type": "String Function(Map<Object?,Object?>)"
+        "type": "String Function(Map<Object?,Object?>)",
+        "functionKind": 0
       },
       "dart:collection::MapBase.mapToString.MapBase_mapToString_closure.call": {
         "id": "function/dart:collection::MapBase.mapToString.MapBase_mapToString_closure.call",
@@ -19581,7 +19922,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "call$2(k, v) {\n      var t2,\n        t1 = this._box_0;\n      if (!t1.first)\n        this.result._contents += \", \";\n      t1.first = false;\n      t1 = this.result;\n      t2 = t1._contents += A.S(k);\n      t1._contents = t2 + \": \";\n      t1._contents += A.S(v);\n    }",
-        "type": "void Function(Object?,Object?)"
+        "type": "void Function(Object?,Object?)",
+        "functionKind": 2
       },
       "dart:collection::MapMixin.length": {
         "id": "function/dart:collection::MapMixin.length",
@@ -19603,7 +19945,8 @@
         "sideEffects": "SideEffects(reads anything; writes field)",
         "inlinedCount": 0,
         "code": "get$length(_) {\n      return this.__js_helper$_length;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:collection::MapMixin.toString": {
         "id": "function/dart:collection::MapMixin.toString",
@@ -19625,7 +19968,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return A.MapBase_mapToString(this);\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:collection::SetMixin.toString": {
         "id": "function/dart:collection::SetMixin.toString",
@@ -19647,7 +19991,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return A.IterableBase_iterableToFullString(this, \"{\", \"}\");\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet._LinkedHashSet": {
         "id": "function/dart:collection::_LinkedHashSet._LinkedHashSet",
@@ -19669,7 +20014,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:collection::_LinkedHashSet._add": {
         "id": "function/dart:collection::_LinkedHashSet._add",
@@ -19697,7 +20043,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_add$1(element) {\n      var rest, hash, bucket, _this = this;\n      A._instanceType(_this)._precomputed1._as(element);\n      rest = _this._collection$_rest;\n      if (rest == null)\n        rest = _this._collection$_rest = A._LinkedHashSet__newHashTable();\n      hash = _this._computeHashCode$1(element);\n      bucket = rest[hash];\n      if (bucket == null)\n        rest[hash] = [_this._newLinkedCell$1(element)];\n      else {\n        if (_this._findBucketIndex$2(bucket, element) >= 0)\n          return false;\n        bucket.push(_this._newLinkedCell$1(element));\n      }\n      return true;\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet._addHashTableEntry": {
         "id": "function/dart:collection::_LinkedHashSet._addHashTableEntry",
@@ -19730,7 +20077,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_addHashTableEntry$2(table, element) {\n      A._instanceType(this)._precomputed1._as(element);\n      if (type$.nullable__LinkedHashSetCell._as(table[element]) != null)\n        return false;\n      table[element] = this._newLinkedCell$1(element);\n      return true;\n    }",
-        "type": "bool Function(dynamic,Object?)"
+        "type": "bool Function(dynamic,Object?)",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet._computeHashCode": {
         "id": "function/dart:collection::_LinkedHashSet._computeHashCode",
@@ -19758,7 +20106,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_computeHashCode$1(element) {\n      return J.get$hashCode$(element) & 1073741823;\n    }",
-        "type": "int Function(dynamic)"
+        "type": "int Function(dynamic)",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet._contains": {
         "id": "function/dart:collection::_LinkedHashSet._contains",
@@ -19779,14 +20128,15 @@
         "parameters": [
           {
             "name": "object",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_contains$1(object) {\n      var rest = this._collection$_rest;\n      if (rest == null)\n        return false;\n      return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet._deleteTableEntry": {
         "id": "function/dart:collection::_LinkedHashSet._deleteTableEntry",
@@ -19819,7 +20169,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(dynamic,dynamic)"
+        "type": "void Function(dynamic,dynamic)",
+        "functionKind": 0
       },
       "dart:collection::_LinkedHashSet._findBucketIndex": {
         "id": "function/dart:collection::_LinkedHashSet._findBucketIndex",
@@ -19852,7 +20203,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "_findBucketIndex$2(bucket, element) {\n      var $length, i;\n      if (bucket == null)\n        return -1;\n      $length = bucket.length;\n      for (i = 0; i < $length; ++i)\n        if (J.$eq$(bucket[i]._element, element))\n          return i;\n      return -1;\n    }",
-        "type": "int Function(dynamic,dynamic)"
+        "type": "int Function(dynamic,dynamic)",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet._getBucket": {
         "id": "function/dart:collection::_LinkedHashSet._getBucket",
@@ -19878,14 +20230,15 @@
           },
           {
             "name": "element",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "dynamic"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "List<dynamic>? Function(dynamic,dynamic)"
+        "type": "List<dynamic>? Function(dynamic,dynamic)",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet._getTableEntry": {
         "id": "function/dart:collection::_LinkedHashSet._getTableEntry",
@@ -19918,7 +20271,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 3,
         "code": "",
-        "type": "dynamic Function(dynamic,dynamic)"
+        "type": "dynamic Function(dynamic,dynamic)",
+        "functionKind": 0
       },
       "dart:collection::_LinkedHashSet._isNumericElement": {
         "id": "function/dart:collection::_LinkedHashSet._isNumericElement",
@@ -19946,7 +20300,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(dynamic)"
+        "type": "bool Function(dynamic)",
+        "functionKind": 0
       },
       "dart:collection::_LinkedHashSet._isStringElement": {
         "id": "function/dart:collection::_LinkedHashSet._isStringElement",
@@ -19974,7 +20329,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "bool Function(dynamic)"
+        "type": "bool Function(dynamic)",
+        "functionKind": 0
       },
       "dart:collection::_LinkedHashSet._modified": {
         "id": "function/dart:collection::_LinkedHashSet._modified",
@@ -19996,7 +20352,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function()"
+        "type": "void Function()",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet._newHashTable": {
         "id": "function/dart:collection::_LinkedHashSet._newHashTable",
@@ -20018,7 +20375,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "_LinkedHashSet__newHashTable() {\n      var table = Object.create(null);\n      table[\"<non-identifier-key>\"] = table;\n      delete table[\"<non-identifier-key>\"];\n      return table;\n    }",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 0
       },
       "dart:collection::_LinkedHashSet._newLinkedCell": {
         "id": "function/dart:collection::_LinkedHashSet._newLinkedCell",
@@ -20046,7 +20404,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 0,
         "code": "_newLinkedCell$1(element) {\n      var _this = this,\n        cell = new A._LinkedHashSetCell(A._instanceType(_this)._precomputed1._as(element));\n      if (_this._first == null)\n        _this._first = _this._last = cell;\n      else\n        _this._last = _this._last._next = cell;\n      ++_this._collection$_length;\n      _this._modifications = _this._modifications + 1 & 1073741823;\n      return cell;\n    }",
-        "type": "_LinkedHashSetCell Function(Object?)"
+        "type": "_LinkedHashSetCell Function(Object?)",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet._setTableEntry": {
         "id": "function/dart:collection::_LinkedHashSet._setTableEntry",
@@ -20084,7 +20443,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 3,
         "code": "",
-        "type": "void Function(dynamic,dynamic,dynamic)"
+        "type": "void Function(dynamic,dynamic,dynamic)",
+        "functionKind": 0
       },
       "dart:collection::_LinkedHashSet.add": {
         "id": "function/dart:collection::_LinkedHashSet.add",
@@ -20112,13 +20472,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "add$1(_, element) {\n      var strings, nums, _this = this;\n      A._instanceType(_this)._precomputed1._as(element);\n      if (typeof element == \"string\" && element !== \"__proto__\") {\n        strings = _this._strings;\n        return _this._addHashTableEntry$2(strings == null ? _this._strings = A._LinkedHashSet__newHashTable() : strings, element);\n      } else if (typeof element == \"number\" && (element & 1073741823) === element) {\n        nums = _this._nums;\n        return _this._addHashTableEntry$2(nums == null ? _this._nums = A._LinkedHashSet__newHashTable() : nums, element);\n      } else\n        return _this._add$1(element);\n    }",
-        "type": "bool Function(Object?)"
+        "type": "bool Function(Object?)",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet.contains": {
         "id": "function/dart:collection::_LinkedHashSet.contains",
         "kind": "function",
         "name": "contains",
-        "size": 363,
+        "size": 334,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:collection::_LinkedHashSet",
         "children": [],
@@ -20133,14 +20494,15 @@
         "parameters": [
           {
             "name": "object",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "Object?"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "contains$1(_, object) {\n      var strings, t1;\n      if (typeof object == \"string\" && object !== \"__proto__\") {\n        strings = this._strings;\n        if (strings == null)\n          return false;\n        return type$.nullable__LinkedHashSetCell._as(strings[object]) != null;\n      } else {\n        t1 = this._contains$1(object);\n        return t1;\n      }\n    }",
-        "type": "bool Function(Object?)"
+        "code": "contains$1(_, object) {\n      var strings, t1;\n      if (object !== \"__proto__\") {\n        strings = this._strings;\n        if (strings == null)\n          return false;\n        return type$.nullable__LinkedHashSetCell._as(strings[object]) != null;\n      } else {\n        t1 = this._contains$1(object);\n        return t1;\n      }\n    }",
+        "type": "bool Function(Object?)",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet.iterator": {
         "id": "function/dart:collection::_LinkedHashSet.iterator",
@@ -20162,7 +20524,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 0,
         "code": "get$iterator(_) {\n      var _this = this,\n        t1 = new A._LinkedHashSetIterator(_this, _this._modifications, A._instanceType(_this)._eval$1(\"_LinkedHashSetIterator<1>\"));\n      t1._cell = _this._first;\n      return t1;\n    }",
-        "type": "Iterator<_LinkedHashSet.E> Function()"
+        "type": "Iterator<_LinkedHashSet.E> Function()",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSet.length": {
         "id": "function/dart:collection::_LinkedHashSet.length",
@@ -20184,7 +20547,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "get$length(_) {\n      return this._collection$_length;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSetCell._LinkedHashSetCell": {
         "id": "function/dart:collection::_LinkedHashSetCell._LinkedHashSetCell",
@@ -20212,7 +20576,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(dynamic)"
+        "type": "dynamic Function(dynamic)",
+        "functionKind": 3
       },
       "dart:collection::_LinkedHashSetIterator._LinkedHashSetIterator": {
         "id": "function/dart:collection::_LinkedHashSetIterator._LinkedHashSetIterator",
@@ -20245,13 +20610,14 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(_LinkedHashSet<_LinkedHashSetIterator.E>,int)"
+        "type": "dynamic Function(_LinkedHashSet<_LinkedHashSetIterator.E>,int)",
+        "functionKind": 3
       },
       "dart:collection::_LinkedHashSetIterator.current": {
         "id": "function/dart:collection::_LinkedHashSetIterator.current",
         "kind": "function",
         "name": "current",
-        "size": 61,
+        "size": 126,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:collection::_LinkedHashSetIterator",
         "children": [],
@@ -20266,8 +20632,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
-        "code": "get$current() {\n      return this._collection$_current;\n    }",
-        "type": "_LinkedHashSetIterator.E Function()"
+        "code": "get$current() {\n      var t1 = this._collection$_current;\n      return t1 == null ? this.$ti._precomputed1._as(t1) : t1;\n    }",
+        "type": "_LinkedHashSetIterator.E Function()",
+        "functionKind": 2
       },
       "dart:collection::_LinkedHashSetIterator.moveNext": {
         "id": "function/dart:collection::_LinkedHashSetIterator.moveNext",
@@ -20289,7 +20656,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 0,
         "code": "moveNext$0() {\n      var _this = this,\n        cell = _this._cell,\n        t1 = _this._set;\n      if (_this._modifications !== t1._modifications)\n        throw A.wrapException(A.ConcurrentModificationError$(t1));\n      else if (cell == null) {\n        _this.set$_collection$_current(null);\n        return false;\n      } else {\n        _this.set$_collection$_current(_this.$ti._eval$1(\"1?\")._as(cell._element));\n        _this._cell = cell._next;\n        return true;\n      }\n    }",
-        "type": "bool Function()"
+        "type": "bool Function()",
+        "functionKind": 2
       },
       "dart:collection::_LinkedIdentityHashSet._LinkedIdentityHashSet": {
         "id": "function/dart:collection::_LinkedIdentityHashSet._LinkedIdentityHashSet",
@@ -20311,7 +20679,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:collection::_isToStringVisiting": {
         "id": "function/dart:collection::_isToStringVisiting",
@@ -20339,7 +20708,8 @@
         "sideEffects": "SideEffects(reads anything; writes field)",
         "inlinedCount": 0,
         "code": "_isToStringVisiting(o) {\n      var t1, i;\n      for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i)\n        if (o === $._toStringVisiting[i])\n          return true;\n      return false;\n    }",
-        "type": "bool Function(Object)"
+        "type": "bool Function(Object)",
+        "functionKind": 0
       },
       "dart:core::ArgumentError.ArgumentError": {
         "id": "function/dart:core::ArgumentError.ArgumentError",
@@ -20372,7 +20742,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "ArgumentError$(message, $name) {\n      return new A.ArgumentError(false, null, $name, message);\n    }",
-        "type": "dynamic Function([dynamic,String?])"
+        "type": "dynamic Function([dynamic,String?])",
+        "functionKind": 3
       },
       "dart:core::ArgumentError.ArgumentError.value": {
         "id": "function/dart:core::ArgumentError.ArgumentError.value",
@@ -20410,7 +20781,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "ArgumentError$value(value, $name, message) {\n      return new A.ArgumentError(true, value, $name, message);\n    }",
-        "type": "dynamic Function(dynamic,[String?,dynamic])"
+        "type": "dynamic Function(dynamic,[String?,dynamic])",
+        "functionKind": 3
       },
       "dart:core::ArgumentError._errorExplanation": {
         "id": "function/dart:core::ArgumentError._errorExplanation",
@@ -20432,7 +20804,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "get$_errorExplanation() {\n      return \"\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::ArgumentError._errorName": {
         "id": "function/dart:core::ArgumentError._errorName",
@@ -20454,7 +20827,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "get$_errorName() {\n      return \"Invalid argument\" + (!this._hasValue ? \"(s)\" : \"\");\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::ArgumentError.toString": {
         "id": "function/dart:core::ArgumentError.toString",
@@ -20476,7 +20850,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var _this = this,\n        $name = _this.name,\n        nameString = $name == null ? \"\" : \" (\" + $name + \")\",\n        message = _this.message,\n        messageString = message == null ? \"\" : \": \" + message,\n        prefix = _this.get$_errorName() + nameString + messageString;\n      if (!_this._hasValue)\n        return prefix;\n      return prefix + _this.get$_errorExplanation() + \": \" + A.Error_safeToString(_this.invalidValue);\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::AssertionError.AssertionError": {
         "id": "function/dart:core::AssertionError.AssertionError",
@@ -20504,7 +20879,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "AssertionError$(message) {\n      return new A.AssertionError(message);\n    }",
-        "type": "dynamic Function([Object?])"
+        "type": "dynamic Function([Object?])",
+        "functionKind": 3
       },
       "dart:core::AssertionError.toString": {
         "id": "function/dart:core::AssertionError.toString",
@@ -20526,7 +20902,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var t1 = this.message;\n      if (t1 != null)\n        return \"Assertion failed: \" + A.Error_safeToString(t1);\n      return \"Assertion failed\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::ConcurrentModificationError.ConcurrentModificationError": {
         "id": "function/dart:core::ConcurrentModificationError.ConcurrentModificationError",
@@ -20554,7 +20931,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "ConcurrentModificationError$(modifiedObject) {\n      return new A.ConcurrentModificationError(modifiedObject);\n    }",
-        "type": "dynamic Function([Object?])"
+        "type": "dynamic Function([Object?])",
+        "functionKind": 3
       },
       "dart:core::ConcurrentModificationError.toString": {
         "id": "function/dart:core::ConcurrentModificationError.toString",
@@ -20576,7 +20954,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      var t1 = this.modifiedObject;\n      if (t1 == null)\n        return \"Concurrent modification during iteration.\";\n      return \"Concurrent modification during iteration: \" + A.Error_safeToString(t1) + \".\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::CyclicInitializationError.CyclicInitializationError": {
         "id": "function/dart:core::CyclicInitializationError.CyclicInitializationError",
@@ -20597,20 +20976,21 @@
         "parameters": [
           {
             "name": "variableName",
-            "type": "[null|exact=JSString]",
+            "type": "[exact=JSString]",
             "declaredType": "String?"
           }
         ],
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function([String?])"
+        "type": "dynamic Function([String?])",
+        "functionKind": 3
       },
       "dart:core::CyclicInitializationError.toString": {
         "id": "function/dart:core::CyclicInitializationError.toString",
         "kind": "function",
         "name": "toString",
-        "size": 231,
+        "size": 115,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::CyclicInitializationError",
         "children": [],
@@ -20625,8 +21005,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(_) {\n      var variableName = this.variableName;\n      return variableName == null ? \"Reading static variable during its initialization\" : \"Reading static variable '\" + variableName + \"' during its initialization\";\n    }",
-        "type": "String Function()"
+        "code": "toString$0(_) {\n      return \"Reading static variable '\" + this.variableName + \"' during its initialization\";\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::Duration.inMilliseconds": {
         "id": "function/dart:core::Duration.inMilliseconds",
@@ -20648,13 +21029,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:core::Error._objectToString": {
         "id": "function/dart:core::Error._objectToString",
         "kind": "function",
         "name": "_objectToString",
-        "size": 192,
+        "size": 187,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::Error",
         "children": [],
@@ -20675,8 +21057,9 @@
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Error__objectToString(object) {\n      if (object instanceof A.Closure)\n        return object.toString$0(0);\n      return \"Instance of '\" + A.S(A.Primitives_objectTypeName(object)) + \"'\";\n    }",
-        "type": "String Function(Object)"
+        "code": "Error__objectToString(object) {\n      if (object instanceof A.Closure)\n        return object.toString$0(0);\n      return \"Instance of '\" + A.Primitives_objectTypeName(object) + \"'\";\n    }",
+        "type": "String Function(Object)",
+        "functionKind": 0
       },
       "dart:core::Error._stringToSafeString": {
         "id": "function/dart:core::Error._stringToSafeString",
@@ -20704,13 +21087,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "String Function(String)"
+        "type": "String Function(String)",
+        "functionKind": 0
       },
       "dart:core::Error._throw": {
         "id": "function/dart:core::Error._throw",
         "kind": "function",
         "name": "_throw",
-        "size": 187,
+        "size": 252,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::Error",
         "children": [],
@@ -20725,19 +21109,20 @@
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
             "name": "stackTrace",
-            "type": "[null|subtype=StackTrace]",
+            "type": "[subtype=StackTrace]",
             "declaredType": "StackTrace"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "Error__throw(error, stackTrace) {\n      error = A.wrapException(error);\n      error.stack = J.toString$0$(stackTrace);\n      throw error;\n      throw A.wrapException(\"unreachable\");\n    }",
-        "type": "Never Function(Object,StackTrace)"
+        "code": "Error__throw(error, stackTrace) {\n      error = A.wrapException(error);\n      if (error == null)\n        error = type$.Object._as(error);\n      error.stack = stackTrace.toString$0(0);\n      throw error;\n      throw A.wrapException(\"unreachable\");\n    }",
+        "type": "Never Function(Object,StackTrace)",
+        "functionKind": 0
       },
       "dart:core::Error.safeToString": {
         "id": "function/dart:core::Error.safeToString",
@@ -20765,7 +21150,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "Error_safeToString(object) {\n      if (typeof object == \"number\" || A._isBool(object) || object == null)\n        return J.toString$0$(object);\n      if (typeof object == \"string\")\n        return JSON.stringify(object);\n      return A.Error__objectToString(object);\n    }",
-        "type": "String Function(Object?)"
+        "type": "String Function(Object?)",
+        "functionKind": 0
       },
       "dart:core::Error.stackTrace": {
         "id": "function/dart:core::Error.stackTrace",
@@ -20782,18 +21168,19 @@
           "external": false
         },
         "returnType": "StackTrace?",
-        "inferredReturnType": "[null|subtype=StackTrace]",
+        "inferredReturnType": "[subtype=StackTrace]",
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "get$stackTrace() {\n      return A.getTraceFromException(this.$thrownJsError);\n    }",
-        "type": "StackTrace? Function()"
+        "type": "StackTrace? Function()",
+        "functionKind": 2
       },
       "dart:core::Error.throwWithStackTrace": {
         "id": "function/dart:core::Error.throwWithStackTrace",
         "kind": "function",
         "name": "throwWithStackTrace",
-        "size": 263,
+        "size": 0,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::Error",
         "children": [],
@@ -20804,23 +21191,24 @@
           "external": false
         },
         "returnType": "Never",
-        "inferredReturnType": "[empty]",
+        "inferredReturnType": "[null]",
         "parameters": [
           {
             "name": "error",
-            "type": "[null|subclass=Object]",
+            "type": "[subclass=Object]",
             "declaredType": "Object"
           },
           {
             "name": "stackTrace",
-            "type": "[null|subtype=StackTrace]",
+            "type": "[subtype=StackTrace]",
             "declaredType": "StackTrace"
           }
         ],
         "sideEffects": "SideEffects(reads anything; writes anything)",
-        "inlinedCount": 0,
-        "code": "Error_throwWithStackTrace(error, stackTrace) {\n      A.checkNotNullable(error, \"error\", type$.Object);\n      A.checkNotNullable(stackTrace, \"stackTrace\", type$.StackTrace);\n      A.Error__throw(error, stackTrace);\n      A.ReachabilityError$(string$._null_);\n    }",
-        "type": "Never Function(Object,StackTrace)"
+        "inlinedCount": 1,
+        "code": "",
+        "type": "Never Function(Object,StackTrace)",
+        "functionKind": 0
       },
       "dart:core::Exception.Exception": {
         "id": "function/dart:core::Exception.Exception",
@@ -20848,7 +21236,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "Exception Function([dynamic])"
+        "type": "Exception Function([dynamic])",
+        "functionKind": 3
       },
       "dart:core::IndexError.IndexError": {
         "id": "function/dart:core::IndexError.IndexError",
@@ -20896,13 +21285,14 @@
         "sideEffects": "SideEffects(reads anything; writes field)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(int,dynamic,[String?,String?,int?])"
+        "type": "dynamic Function(int,dynamic,[String?,String?,int?])",
+        "functionKind": 3
       },
       "dart:core::IndexError._errorExplanation": {
         "id": "function/dart:core::IndexError._errorExplanation",
         "kind": "function",
         "name": "_errorExplanation",
-        "size": 387,
+        "size": 260,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::IndexError",
         "children": [],
@@ -20917,8 +21307,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
-        "code": "get$_errorExplanation() {\n      var t1,\n        invalidValue = A._asIntS(this.invalidValue);\n      if (typeof invalidValue !== \"number\")\n        return invalidValue.$lt();\n      if (invalidValue < 0)\n        return \": index must not be negative\";\n      t1 = this.length;\n      if (t1 === 0)\n        return \": no indices are valid\";\n      return \": index should be less than \" + t1;\n    }",
-        "type": "String Function()"
+        "code": "get$_errorExplanation() {\n      if (A._asInt(this.invalidValue) < 0)\n        return \": index must not be negative\";\n      var t1 = this.length;\n      if (t1 === 0)\n        return \": no indices are valid\";\n      return \": index should be less than \" + t1;\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::IndexError._errorName": {
         "id": "function/dart:core::IndexError._errorName",
@@ -20940,7 +21331,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "get$_errorName() {\n      return \"RangeError\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::List.List.filled": {
         "id": "function/dart:core::List.List.filled",
@@ -20973,7 +21365,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "List_List$filled($length, fill, $E) {\n      var i,\n        result = J.JSArray_JSArray$fixed($length, $E);\n      if ($length !== 0 && fill != null)\n        for (i = 0; i < $length; ++i)\n          result[i] = fill;\n      return result;\n    }",
-        "type": "List<#A> Function<#A extends Object?>(int,#A,{bool growable})"
+        "type": "List<#A> Function<#A extends Object?>(int,#A,{bool growable})",
+        "functionKind": 3
       },
       "dart:core::List.List.from": {
         "id": "function/dart:core::List.List.from",
@@ -21001,7 +21394,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "List_List$from(elements, $E) {\n      var t1, _i,\n        list = A._setArrayType([], $E._eval$1(\"JSArray<0>\"));\n      for (t1 = elements.length, _i = 0; _i < t1; ++_i)\n        B.JSArray_methods.add$1(list, $E._as(elements[_i]));\n      return list;\n    }",
-        "type": "List<#A> Function<#A extends Object?>(Iterable<dynamic>,{bool growable})"
+        "type": "List<#A> Function<#A extends Object?>(Iterable<dynamic>,{bool growable})",
+        "functionKind": 3
       },
       "dart:core::List.List.generate": {
         "id": "function/dart:core::List.List.generate",
@@ -21034,7 +21428,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "List_List$generate($length, generator, $E) {\n      var i,\n        result = J.JSArray_JSArray$growable($length, $E);\n      for (i = 0; i < $length; ++i)\n        B.JSArray_methods.$indexSet(result, i, generator.call$1(i));\n      return result;\n    }",
-        "type": "List<#A> Function<#A extends Object?>(int,#A Function(int),{bool growable})"
+        "type": "List<#A> Function<#A extends Object?>(int,#A Function(int),{bool growable})",
+        "functionKind": 3
       },
       "dart:core::Null.hashCode": {
         "id": "function/dart:core::Null.hashCode",
@@ -21056,7 +21451,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "get$hashCode(_) {\n      return A.Object.prototype.get$hashCode.call(this, this);\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:core::Null.toString": {
         "id": "function/dart:core::Null.toString",
@@ -21078,7 +21474,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"null\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::NullThrownError.NullThrownError": {
         "id": "function/dart:core::NullThrownError.NullThrownError",
@@ -21100,7 +21497,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:core::NullThrownError.toString": {
         "id": "function/dart:core::NullThrownError.toString",
@@ -21122,7 +21520,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"Throw of null.\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::Object.==": {
         "id": "function/dart:core::Object.==",
@@ -21150,7 +21549,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "$eq(_, other) {\n      return this === other;\n    }",
-        "type": "bool Function(Object)"
+        "type": "bool Function(Object)",
+        "functionKind": 2
       },
       "dart:core::Object.hashCode": {
         "id": "function/dart:core::Object.hashCode",
@@ -21172,13 +21572,14 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "get$hashCode(_) {\n      return A.Primitives_objectHashCode(this);\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:core::Object.toString": {
         "id": "function/dart:core::Object.toString",
         "kind": "function",
         "name": "toString",
-        "size": 98,
+        "size": 93,
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::Object",
         "children": [],
@@ -21193,8 +21594,9 @@
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
-        "code": "toString$0(_) {\n      return \"Instance of '\" + A.S(A.Primitives_objectTypeName(this)) + \"'\";\n    }",
-        "type": "String Function()"
+        "code": "toString$0(_) {\n      return \"Instance of '\" + A.Primitives_objectTypeName(this) + \"'\";\n    }",
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::RangeError.RangeError.range": {
         "id": "function/dart:core::RangeError.RangeError.range",
@@ -21237,7 +21639,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(num,int?,int?,[String?,String?])"
+        "type": "dynamic Function(num,int?,int?,[String?,String?])",
+        "functionKind": 3
       },
       "dart:core::RangeError.RangeError.value": {
         "id": "function/dart:core::RangeError.RangeError.value",
@@ -21270,7 +21673,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function(num,[String?,String?])"
+        "type": "dynamic Function(num,[String?,String?])",
+        "functionKind": 3
       },
       "dart:core::RangeError._errorExplanation": {
         "id": "function/dart:core::RangeError._errorExplanation",
@@ -21292,7 +21696,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "get$_errorExplanation() {\n      var explanation,\n        start = this.start,\n        end = this.end;\n      if (start == null)\n        explanation = end != null ? \": Not less than or equal to \" + A.S(end) : \"\";\n      else if (end == null)\n        explanation = \": Not greater than or equal to \" + A.S(start);\n      else if (end > start)\n        explanation = \": Not in inclusive range \" + A.S(start) + \"..\" + A.S(end);\n      else\n        explanation = end < start ? \": Valid value range is empty\" : \": Only valid value is \" + A.S(start);\n      return explanation;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::RangeError._errorName": {
         "id": "function/dart:core::RangeError._errorName",
@@ -21314,7 +21719,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "get$_errorName() {\n      return \"RangeError\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::StackOverflowError.StackOverflowError": {
         "id": "function/dart:core::StackOverflowError.StackOverflowError",
@@ -21336,7 +21742,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 2,
         "code": "",
-        "type": "dynamic Function()"
+        "type": "dynamic Function()",
+        "functionKind": 3
       },
       "dart:core::StackOverflowError.stackTrace": {
         "id": "function/dart:core::StackOverflowError.stackTrace",
@@ -21358,7 +21765,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "get$stackTrace() {\n      return null;\n    }",
-        "type": "StackTrace? Function()"
+        "type": "StackTrace? Function()",
+        "functionKind": 2
       },
       "dart:core::StackOverflowError.toString": {
         "id": "function/dart:core::StackOverflowError.toString",
@@ -21380,7 +21788,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"Stack Overflow\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::StackTrace.current": {
         "id": "function/dart:core::StackTrace.current",
@@ -21402,7 +21811,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "StackTrace_current() {\n      var stackTrace, exception;\n      if (A.boolConversionCheck($.$get$_hasErrorStackProperty()))\n        return A.getTraceFromException(new Error());\n      try {\n        throw A.wrapException(\"\");\n      } catch (exception) {\n        stackTrace = A.getTraceFromException(exception);\n        return stackTrace;\n      }\n    }",
-        "type": "StackTrace Function()"
+        "type": "StackTrace Function()",
+        "functionKind": 0
       },
       "dart:core::StateError.StateError": {
         "id": "function/dart:core::StateError.StateError",
@@ -21430,7 +21840,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "StateError$(message) {\n      return new A.StateError(message);\n    }",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:core::StateError.toString": {
         "id": "function/dart:core::StateError.toString",
@@ -21452,7 +21863,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"Bad state: \" + this.message;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::StringBuffer.StringBuffer": {
         "id": "function/dart:core::StringBuffer.StringBuffer",
@@ -21480,7 +21892,8 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 2,
         "code": "",
-        "type": "dynamic Function([Object])"
+        "type": "dynamic Function([Object])",
+        "functionKind": 3
       },
       "dart:core::StringBuffer._writeAll": {
         "id": "function/dart:core::StringBuffer._writeAll",
@@ -21518,7 +21931,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "StringBuffer__writeAll(string, objects, separator) {\n      var iterator = J.get$iterator$a(objects);\n      if (!iterator.moveNext$0())\n        return string;\n      if (separator.length === 0) {\n        do\n          string += A.S(iterator.get$current());\n        while (iterator.moveNext$0());\n      } else {\n        string += A.S(iterator.get$current());\n        for (; iterator.moveNext$0();)\n          string = string + separator + A.S(iterator.get$current());\n      }\n      return string;\n    }",
-        "type": "String Function(String,Iterable<dynamic>,String)"
+        "type": "String Function(String,Iterable<dynamic>,String)",
+        "functionKind": 0
       },
       "dart:core::StringBuffer._writeOne": {
         "id": "function/dart:core::StringBuffer._writeOne",
@@ -21551,7 +21965,8 @@
         "sideEffects": "SideEffects(reads nothing; writes anything)",
         "inlinedCount": 4,
         "code": "",
-        "type": "String Function(String,Object?)"
+        "type": "String Function(String,Object?)",
+        "functionKind": 0
       },
       "dart:core::StringBuffer._writeString": {
         "id": "function/dart:core::StringBuffer._writeString",
@@ -21579,7 +21994,8 @@
         "sideEffects": "SideEffects(reads field; writes field)",
         "inlinedCount": 7,
         "code": "",
-        "type": "void Function(String)"
+        "type": "void Function(String)",
+        "functionKind": 2
       },
       "dart:core::StringBuffer.length": {
         "id": "function/dart:core::StringBuffer.length",
@@ -21601,7 +22017,8 @@
         "sideEffects": "SideEffects(reads anything; writes nothing)",
         "inlinedCount": 0,
         "code": "get$length(_) {\n      return this._contents.length;\n    }",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:core::StringBuffer.toString": {
         "id": "function/dart:core::StringBuffer.toString",
@@ -21623,7 +22040,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 2,
         "code": "toString$0(_) {\n      var t1 = this._contents;\n      return t1.charCodeAt(0) == 0 ? t1 : t1;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::StringBuffer.write": {
         "id": "function/dart:core::StringBuffer.write",
@@ -21651,7 +22069,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 7,
         "code": "",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 2
       },
       "dart:core::StringBuffer.writeAll": {
         "id": "function/dart:core::StringBuffer.writeAll",
@@ -21684,7 +22103,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Iterable<dynamic>,[String])"
+        "type": "void Function(Iterable<dynamic>,[String])",
+        "functionKind": 2
       },
       "dart:core::UnsupportedError.UnsupportedError": {
         "id": "function/dart:core::UnsupportedError.UnsupportedError",
@@ -21712,7 +22132,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "UnsupportedError$(message) {\n      return new A.UnsupportedError(message);\n    }",
-        "type": "dynamic Function(String)"
+        "type": "dynamic Function(String)",
+        "functionKind": 3
       },
       "dart:core::UnsupportedError.toString": {
         "id": "function/dart:core::UnsupportedError.toString",
@@ -21734,7 +22155,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"Unsupported operation: \" + this.message;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::_Exception._Exception": {
         "id": "function/dart:core::_Exception._Exception",
@@ -21762,7 +22184,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 1,
         "code": "",
-        "type": "dynamic Function([dynamic])"
+        "type": "dynamic Function([dynamic])",
+        "functionKind": 3
       },
       "dart:core::_Exception.toString": {
         "id": "function/dart:core::_Exception.toString",
@@ -21784,7 +22207,8 @@
         "sideEffects": "SideEffects(reads field; writes anything)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"Exception: \" + this.message;\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::_StringStackTrace.toString": {
         "id": "function/dart:core::_StringStackTrace.toString",
@@ -21806,7 +22230,8 @@
         "sideEffects": "SideEffects(reads field; writes nothing)",
         "inlinedCount": 0,
         "code": "toString$0(_) {\n      return \"\";\n    }",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::bool.hashCode": {
         "id": "function/dart:core::bool.hashCode",
@@ -21828,7 +22253,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "",
-        "type": "int Function()"
+        "type": "int Function()",
+        "functionKind": 2
       },
       "dart:core::bool.toString": {
         "id": "function/dart:core::bool.toString",
@@ -21850,7 +22276,8 @@
         "sideEffects": "SideEffects(reads nothing; writes nothing)",
         "inlinedCount": 0,
         "code": "",
-        "type": "String Function()"
+        "type": "String Function()",
+        "functionKind": 2
       },
       "dart:core::print": {
         "id": "function/dart:core::print",
@@ -21878,7 +22305,8 @@
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 1,
         "code": "",
-        "type": "void Function(Object?)"
+        "type": "void Function(Object?)",
+        "functionKind": 0
       },
       "hello_world_deferred.dart::main": {
         "id": "function/hello_world_deferred.dart::main",
@@ -21894,13 +22322,14 @@
           "factory": false,
           "external": false
         },
-        "returnType": "Future<void>*",
+        "returnType": "Future<void>",
         "inferredReturnType": "[exact=_Future]",
         "parameters": [],
         "sideEffects": "SideEffects(reads anything; writes anything)",
         "inlinedCount": 0,
         "code": "main() {\n      var $async$goto = 0,\n        $async$completer = A._makeAsyncAwaitCompleter(type$.void);\n      var $async$main = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {\n        if ($async$errorCode === 1)\n          return A._asyncRethrow($async$result, $async$completer);\n        while (true)\n          switch ($async$goto) {\n            case 0:\n              // Function start\n              $async$goto = 2;\n              return A._asyncAwait(A.loadDeferredLibrary(\"deferred_import\"), $async$main);\n            case 2:\n              // returning from await.\n              A.checkDeferredIsLoaded(\"deferred_import\");\n              A.printString(C.C_Deferred);\n              // implicit return\n              return A._asyncReturn(null, $async$completer);\n          }\n      });\n      return A._asyncStartSync($async$main, $async$completer);\n    }",
-        "type": "Future<void>* Function()"
+        "type": "Future<void> Function()",
+        "functionKind": 0
       }
     },
     "typedef": {},
@@ -21989,18 +22418,6 @@
         "code": "",
         "type": "String"
       },
-      "dart:_internal::ReachabilityError._message": {
-        "id": "field/dart:_internal::ReachabilityError._message",
-        "kind": "field",
-        "name": "_message",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_internal::ReachabilityError",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"`null` encountered as the result from expression with type `Never`.\")",
-        "code": "",
-        "type": "String?"
-      },
       "dart:_internal::printToZone": {
         "id": "field/dart:_internal::printToZone",
         "kind": "field",
@@ -22013,66 +22430,6 @@
         "code": "",
         "type": "void Function(String)?"
       },
-      "dart:_js_embedded_names::RtiUniverseFieldNames.erasedTypes": {
-        "id": "field/dart:_js_embedded_names::RtiUniverseFieldNames.erasedTypes",
-        "kind": "field",
-        "name": "erasedTypes",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"eT\")",
-        "code": "",
-        "type": "String"
-      },
-      "dart:_js_embedded_names::RtiUniverseFieldNames.evalCache": {
-        "id": "field/dart:_js_embedded_names::RtiUniverseFieldNames.evalCache",
-        "kind": "field",
-        "name": "evalCache",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"eC\")",
-        "code": "",
-        "type": "String"
-      },
-      "dart:_js_embedded_names::RtiUniverseFieldNames.sharedEmptyArray": {
-        "id": "field/dart:_js_embedded_names::RtiUniverseFieldNames.sharedEmptyArray",
-        "kind": "field",
-        "name": "sharedEmptyArray",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"sEA\")",
-        "code": "",
-        "type": "String"
-      },
-      "dart:_js_embedded_names::RtiUniverseFieldNames.typeParameterVariances": {
-        "id": "field/dart:_js_embedded_names::RtiUniverseFieldNames.typeParameterVariances",
-        "kind": "field",
-        "name": "typeParameterVariances",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"tPV\")",
-        "code": "",
-        "type": "String"
-      },
-      "dart:_js_embedded_names::RtiUniverseFieldNames.typeRules": {
-        "id": "field/dart:_js_embedded_names::RtiUniverseFieldNames.typeRules",
-        "kind": "field",
-        "name": "typeRules",
-        "size": 0,
-        "outputUnit": "outputUnit/main",
-        "parent": "class/dart:_js_embedded_names::RtiUniverseFieldNames",
-        "children": [],
-        "inferredType": "Value([exact=JSString], value: \"tR\")",
-        "code": "",
-        "type": "String"
-      },
       "dart:_js_helper::BoundClosure._interceptor": {
         "id": "field/dart:_js_helper::BoundClosure._interceptor",
         "kind": "field",
@@ -22141,7 +22498,7 @@
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::DeferredNotLoadedError",
         "children": [],
-        "inferredType": "[null|exact=JSString]",
+        "inferredType": "[exact=JSString]",
         "code": "",
         "type": "String"
       },
@@ -22165,7 +22522,7 @@
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::ExceptionAndStackTrace",
         "children": [],
-        "inferredType": "[null|subtype=StackTrace]",
+        "inferredType": "[subtype=StackTrace]",
         "code": "",
         "type": "StackTrace"
       },
@@ -22261,7 +22618,7 @@
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::JsNoSuchMethodError",
         "children": [],
-        "inferredType": "[null|exact=JSString]",
+        "inferredType": "[exact=JSString]",
         "code": "",
         "type": "String"
       },
@@ -22405,7 +22762,7 @@
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:_js_helper::NullError",
         "children": [],
-        "inferredType": "[null|exact=JSString]",
+        "inferredType": "[exact=JSString]",
         "code": "",
         "type": "String"
       },
@@ -22761,12 +23118,12 @@
         "id": "field/dart:_js_helper::_thisScriptBaseUrl",
         "kind": "field",
         "name": "_thisScriptBaseUrl",
-        "size": 179,
+        "size": 183,
         "outputUnit": "outputUnit/main",
         "parent": "library/dart:_js_helper::",
         "children": [],
         "inferredType": "[null|exact=JSString]",
-        "code": "_lazyFinal($, \"_thisScriptBaseUrl\", \"$get$_thisScriptBaseUrl\", () => {\n      var script = $.$get$thisScript();\n      return script.substring(0, script.lastIndexOf(\"/\"));\n    });\n",
+        "code": "_lazyFinal($, \"_thisScriptBaseUrl\", \"$get$_thisScriptBaseUrl\", () => {\n      var script = $.$get$thisScript();\n      return script.substring(0, script.lastIndexOf(\"/\") + 1);\n    });\n",
         "type": "String"
       },
       "dart:_js_helper::deferredLoadHook": {
@@ -22793,6 +23150,66 @@
         "code": "_lazyFinal($, \"thisScript\", \"$get$thisScript\", () => A._computeThisScript());\n",
         "type": "String?"
       },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames.erasedTypes": {
+        "id": "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.erasedTypes",
+        "kind": "field",
+        "name": "erasedTypes",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "children": [],
+        "inferredType": "Value([exact=JSString], value: \"eT\")",
+        "code": "",
+        "type": "String"
+      },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames.evalCache": {
+        "id": "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.evalCache",
+        "kind": "field",
+        "name": "evalCache",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "children": [],
+        "inferredType": "Value([exact=JSString], value: \"eC\")",
+        "code": "",
+        "type": "String"
+      },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames.sharedEmptyArray": {
+        "id": "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.sharedEmptyArray",
+        "kind": "field",
+        "name": "sharedEmptyArray",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "children": [],
+        "inferredType": "Value([exact=JSString], value: \"sEA\")",
+        "code": "",
+        "type": "String"
+      },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeParameterVariances": {
+        "id": "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeParameterVariances",
+        "kind": "field",
+        "name": "typeParameterVariances",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "children": [],
+        "inferredType": "Value([exact=JSString], value: \"tPV\")",
+        "code": "",
+        "type": "String"
+      },
+      "dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeRules": {
+        "id": "field/dart:_js_shared_embedded_names::RtiUniverseFieldNames.typeRules",
+        "kind": "field",
+        "name": "typeRules",
+        "size": 0,
+        "outputUnit": "outputUnit/main",
+        "parent": "class/dart:_js_shared_embedded_names::RtiUniverseFieldNames",
+        "children": [],
+        "inferredType": "Value([exact=JSString], value: \"tR\")",
+        "code": "",
+        "type": "String"
+      },
       "dart:_late_helper::_Cell._name": {
         "id": "field/dart:_late_helper::_Cell._name",
         "kind": "field",
@@ -23053,7 +23470,7 @@
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:async::AsyncError",
         "children": [],
-        "inferredType": "[null|subclass=Object]",
+        "inferredType": "[subclass=Object]",
         "code": "",
         "type": "Object"
       },
@@ -23281,7 +23698,7 @@
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:async::_StreamIterator",
         "children": [],
-        "inferredType": "[null|subclass=Object]",
+        "inferredType": "[subclass=Object]",
         "code": "",
         "type": "Object?"
       },
@@ -23701,7 +24118,7 @@
         "outputUnit": "outputUnit/main",
         "parent": "class/dart:core::CyclicInitializationError",
         "children": [],
-        "inferredType": "[null|exact=JSString]",
+        "inferredType": "[exact=JSString]",
         "code": "",
         "type": "String?"
       },
@@ -23866,7 +24283,7 @@
       "A.C_Deferred = \"Hello, World!\";\n": {
         "id": "constant/A.C_Deferred = \"Hello, World!\";\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 32,
         "outputUnit": "outputUnit/1",
         "code": "A.C_Deferred = \"Hello, World!\";\n"
@@ -23874,7 +24291,7 @@
       "B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n": {
         "id": "constant/B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 131,
         "outputUnit": "outputUnit/main",
         "code": "B.C_JS_CONST = function getTagFallback(o) {\n  var s = Object.prototype.toString.call(o);\n  return s.substring(8, s.length - 1);\n};\n"
@@ -23882,7 +24299,7 @@
       "B.C__RootZone = new A._RootZone();\n": {
         "id": "constant/B.C__RootZone = new A._RootZone();\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 35,
         "outputUnit": "outputUnit/main",
         "code": "B.C__RootZone = new A._RootZone();\n"
@@ -23890,7 +24307,7 @@
       "B.C__StringStackTrace = new A._StringStackTrace();\n": {
         "id": "constant/B.C__StringStackTrace = new A._StringStackTrace();\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 51,
         "outputUnit": "outputUnit/main",
         "code": "B.C__StringStackTrace = new A._StringStackTrace();\n"
@@ -23898,7 +24315,7 @@
       "B.Interceptor_methods = J.Interceptor.prototype;\n": {
         "id": "constant/B.Interceptor_methods = J.Interceptor.prototype;\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 49,
         "outputUnit": "outputUnit/main",
         "code": "B.Interceptor_methods = J.Interceptor.prototype;\n"
@@ -23906,7 +24323,7 @@
       "B.JSArray_methods = J.JSArray.prototype;\n": {
         "id": "constant/B.JSArray_methods = J.JSArray.prototype;\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 41,
         "outputUnit": "outputUnit/main",
         "code": "B.JSArray_methods = J.JSArray.prototype;\n"
@@ -23914,7 +24331,7 @@
       "B.JSInt_methods = J.JSInt.prototype;\n": {
         "id": "constant/B.JSInt_methods = J.JSInt.prototype;\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 37,
         "outputUnit": "outputUnit/main",
         "code": "B.JSInt_methods = J.JSInt.prototype;\n"
@@ -23922,7 +24339,7 @@
       "B.JSString_methods = J.JSString.prototype;\n": {
         "id": "constant/B.JSString_methods = J.JSString.prototype;\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 43,
         "outputUnit": "outputUnit/main",
         "code": "B.JSString_methods = J.JSString.prototype;\n"
@@ -23930,7 +24347,7 @@
       "B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n": {
         "id": "constant/B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n",
         "kind": "constant",
-        "name": null,
+        "name": "",
         "size": 59,
         "outputUnit": "outputUnit/main",
         "code": "B.JavaScriptObject_methods = J.JavaScriptObject.prototype;\n"
@@ -23986,7 +24403,7 @@
         "id": "closure/dart:_js_helper::_loadHunk._loadHunk_failure",
         "kind": "closure",
         "name": "_loadHunk_failure",
-        "size": 811,
+        "size": 806,
         "outputUnit": "outputUnit/main",
         "parent": "function/dart:_js_helper::_loadHunk",
         "function": "function/dart:_js_helper::_loadHunk._loadHunk_failure.call"
@@ -24049,7 +24466,7 @@
         "id": "closure/dart:async::Future.wait.Future_wait_handleError",
         "kind": "closure",
         "name": "Future_wait_handleError",
-        "size": 947,
+        "size": 981,
         "outputUnit": "outputUnit/main",
         "parent": "function/dart:async::Future.wait",
         "function": "function/dart:async::Future.wait.Future_wait_handleError.call"
@@ -24130,7 +24547,7 @@
         "id": "closure/dart:async::_Future._chainForeignFuture._Future__chainForeignFuture_closure%0",
         "kind": "closure",
         "name": "_Future__chainForeignFuture_closure",
-        "size": 348,
+        "size": 366,
         "outputUnit": "outputUnit/main",
         "parent": "function/dart:async::_Future._chainForeignFuture",
         "function": "function/dart:async::_Future._chainForeignFuture._Future__chainForeignFuture_closure.call%0"
@@ -24166,7 +24583,7 @@
         "id": "closure/dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleError",
         "kind": "closure",
         "name": "_Future__propagateToListeners_handleError",
-        "size": 1198,
+        "size": 1107,
         "outputUnit": "outputUnit/main",
         "parent": "function/dart:async::_Future._propagateToListeners",
         "function": "function/dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleError.call"
@@ -24184,7 +24601,7 @@
         "id": "closure/dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleWhenCompleteCallback",
         "kind": "closure",
         "name": "_Future__propagateToListeners_handleWhenCompleteCallback",
-        "size": 1928,
+        "size": 1794,
         "outputUnit": "outputUnit/main",
         "parent": "function/dart:async::_Future._propagateToListeners",
         "function": "function/dart:async::_Future._propagateToListeners._Future__propagateToListeners_handleWhenCompleteCallback.call"
@@ -24238,7 +24655,7 @@
         "id": "closure/dart:async::_rootHandleError._rootHandleError_closure",
         "kind": "closure",
         "name": "_rootHandleError_closure",
-        "size": 346,
+        "size": 440,
         "outputUnit": "outputUnit/main",
         "parent": "function/dart:async::_rootHandleError",
         "function": "function/dart:async::_rootHandleError._rootHandleError_closure.call"
@@ -24247,7 +24664,7 @@
         "id": "closure/dart:async::_wrapJsFunctionForAsync._wrapJsFunctionForAsync_closure",
         "kind": "closure",
         "name": "_wrapJsFunctionForAsync_closure",
-        "size": 310,
+        "size": 309,
         "outputUnit": "outputUnit/main",
         "parent": "function/dart:async::_wrapJsFunctionForAsync",
         "function": "function/dart:async::_wrapJsFunctionForAsync._wrapJsFunctionForAsync_closure.call"
@@ -25176,314 +25593,6 @@
         "mask": null
       }
     ],
-    "field/dart:_internal::NotNullableError._name": [
-      {
-        "id": "field/dart:_internal::NotNullableError._name",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::throwCyclicInit",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_late_helper::throwLateFieldADI",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
-      }
-    ],
-    "field/dart:_internal::ReachabilityError._message": [
-      {
-        "id": "field/dart:_internal::ReachabilityError._message",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::throwCyclicInit",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_late_helper::throwLateFieldADI",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
-      }
-    ],
     "field/dart:_js_helper::BoundClosure._interceptor": [
       {
         "id": "field/dart:_js_helper::BoundClosure._interceptor",
@@ -29730,9 +29839,9 @@
         "mask": null
       }
     ],
-    "field/dart:_rti::_Type._rti": [
+    "field/dart:async::AsyncError.error": [
       {
-        "id": "field/dart:_rti::_Type._rti",
+        "id": "field/dart:async::AsyncError.error",
         "mask": null
       },
       {
@@ -29884,20 +29993,6 @@
         "mask": null
       }
     ],
-    "field/dart:async::AsyncError.error": [
-      {
-        "id": "field/dart:async::AsyncError.error",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::throwCyclicInit",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_late_helper::throwLateFieldADI",
-        "mask": null
-      }
-    ],
     "field/dart:async::AsyncError.stackTrace": [
       {
         "id": "field/dart:async::AsyncError.stackTrace",
@@ -35834,6 +35929,150 @@
       {
         "id": "field/dart:_interceptors::ArrayIterator._current",
         "mask": null
+      },
+      {
+        "id": "field/dart:_rti::Rti._precomputed1",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::Rti._bind",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::Rti._eval",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_arrayInstanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDouble",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedAsCheck",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedIsTest",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_instanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::findType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::instanceType",
+        "mask": null
       }
     ],
     "function/dart:_interceptors::ArrayIterator.moveNext": [
@@ -35884,10 +36123,6 @@
       {
         "id": "function/dart:_js_helper::Primitives.objectTypeName",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
       }
     ],
     "function/dart:_interceptors::JSArray.JSArray.fixed": [
@@ -37246,7 +37481,177 @@
     ],
     "function/dart:_interceptors::JSString.+": [
       {
-        "id": "function/dart:_js_helper::wrapException",
+        "id": "function/dart:_rti::Rti._bind",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::Rti._eval",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_arrayInstanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDouble",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedAsCheck",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedIsTest",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_instanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::findType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::instanceType",
+        "mask": null
+      }
+    ],
+    "function/dart:_internal::LateError.toString": [
+      {
+        "id": "field/dart:_internal::LateError._message",
+        "mask": null
+      }
+    ],
+    "function/dart:_internal::checkNotNullable": [
+      {
+        "id": "function/dart:_internal::NotNullableError.NotNullableError",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_internal::NotNullableError.NotNullableError",
+        "mask": "inlined"
+      }
+    ],
+    "function/dart:_js_helper::BoundClosure.==": [
+      {
+        "id": "field/dart:_js_helper::BoundClosure._receiver",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_js_helper::BoundClosure._target",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_js_helper::BoundClosure._target",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_js_helper::BoundClosure._target",
         "mask": null
       },
       {
@@ -37388,76 +37793,6 @@
       {
         "id": "function/dart:_rti::instanceType",
         "mask": null
-      },
-      {
-        "id": "function/dart:core::ArgumentError.ArgumentError.value",
-        "mask": null
-      }
-    ],
-    "function/dart:_internal::LateError.toString": [
-      {
-        "id": "field/dart:_internal::LateError._message",
-        "mask": null
-      }
-    ],
-    "function/dart:_internal::NotNullableError.toString": [
-      {
-        "id": "field/dart:_internal::NotNullableError._name",
-        "mask": null
-      },
-      {
-        "id": "field/dart:_rti::Rti._precomputed1",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_Type.toString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::createRuntimeType",
-        "mask": null
-      }
-    ],
-    "function/dart:_internal::ReachabilityError.toString": [
-      {
-        "id": "field/dart:_internal::ReachabilityError._message",
-        "mask": null
-      }
-    ],
-    "function/dart:_internal::checkNotNullable": [
-      {
-        "id": "function/dart:_internal::NotNullableError.NotNullableError",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_internal::NotNullableError.NotNullableError",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_js_helper::wrapException",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      }
-    ],
-    "function/dart:_js_helper::BoundClosure.==": [
-      {
-        "id": "field/dart:_js_helper::BoundClosure._receiver",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::BoundClosure._target",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::BoundClosure._target",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_js_helper::BoundClosure._target",
-        "mask": "inlined"
       }
     ],
     "function/dart:_js_helper::BoundClosure._computeFieldNamed": [
@@ -37574,10 +37909,6 @@
       {
         "id": "function/dart:_js_helper::Primitives.objectTypeName",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::Closure._computeSignatureFunctionNewRti": [
@@ -37586,302 +37917,14 @@
         "mask": null
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::wrapException",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::Closure.cspForwardCall": [
       {
         "id": "function/dart:_js_helper::BoundClosure.receiverOf",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::Closure.cspForwardInterceptedCall": [
@@ -37902,162 +37945,18 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::wrapException",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::Closure.forwardCallTo": [
       {
         "id": "function/dart:_js_helper::BoundClosure.receiverFieldName",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_js_helper::BoundClosure.receiverFieldName",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_js_helper::BoundClosure.receiverFieldName",
@@ -38080,10 +37979,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._bind",
         "mask": null
       },
@@ -38440,10 +38335,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._bind",
         "mask": null
       },
@@ -38594,10 +38485,6 @@
       {
         "id": "field/dart:_js_helper::DeferredNotLoadedError.libraryName",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::JsLinkedHashMap.[]": [
@@ -38635,155 +38522,15 @@
       },
       {
         "id": "function/dart:_js_helper::JsLinkedHashMap._isStringKey",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_js_helper::JsLinkedHashMap._isStringKey",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_js_helper::JsLinkedHashMap.internalGet",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::JsLinkedHashMap.[]=": [
@@ -39778,10 +39525,6 @@
       {
         "id": "field/dart:_js_helper::JsNoSuchMethodError._receiver",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::LinkedHashMapKeyIterable.length": [
@@ -39802,10 +39545,6 @@
       {
         "id": "field/dart:_js_helper::NullError._method",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::NullThrownFromJavaScriptException.toString": [
@@ -40056,14 +39795,6 @@
         "mask": "[subclass=Object]"
       },
       {
-        "id": "function/dart:_internal::NotNullableError.toString",
-        "mask": "[subclass=Object]"
-      },
-      {
-        "id": "function/dart:_internal::ReachabilityError.toString",
-        "mask": "[subclass=Object]"
-      },
-      {
         "id": "function/dart:_js_helper::BoundClosure.toString",
         "mask": "[subclass=Object]"
       },
@@ -40112,18 +39843,10 @@
         "mask": "[subclass=Object]"
       },
       {
-        "id": "function/dart:_js_helper::wrapException",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Error.toString",
         "mask": "[subclass=Object]"
       },
       {
-        "id": "function/dart:_rti::_Type.toString",
-        "mask": "[subclass=Object]"
-      },
-      {
         "id": "function/dart:async::AsyncError.toString",
         "mask": "[subclass=Object]"
       },
@@ -40140,10 +39863,6 @@
         "mask": "[subclass=Object]"
       },
       {
-        "id": "function/dart:core::ArgumentError.ArgumentError.value",
-        "mask": null
-      },
-      {
         "id": "function/dart:core::ArgumentError.toString",
         "mask": "[subclass=Object]"
       },
@@ -40261,151 +39980,11 @@
       },
       {
         "id": "function/dart:_interceptors::JSString.isEmpty",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_interceptors::JSString.isEmpty",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
+        "mask": "inlined"
       }
     ],
     "function/dart:_js_helper::_AssertionError.toString": [
@@ -40728,152 +40307,8 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::requiresPreamble",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_js_helper::_computeThisScriptFromTrace": [
@@ -41028,10 +40463,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::convertDartClosureToJS",
         "mask": null
       },
@@ -41625,11 +41056,11 @@
       },
       {
         "id": "function/dart:_js_helper::NullError.NullError",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_js_helper::NullError.NullError",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_js_helper::S",
@@ -41641,11 +41072,11 @@
       },
       {
         "id": "function/dart:_js_helper::UnknownJsTypeError.UnknownJsTypeError",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_js_helper::UnknownJsTypeError.UnknownJsTypeError",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_js_helper::contains",
@@ -41867,7 +41298,7 @@
       },
       {
         "id": "function/dart:collection::_LinkedHashSet.contains",
-        "mask": "[null|subclass=_LinkedHashSet]"
+        "mask": "[subclass=_LinkedHashSet]"
       }
     ],
     "function/dart:_js_helper::closureFromTearOff": [
@@ -42475,7 +41906,7 @@
       },
       {
         "id": "function/dart:collection::_LinkedHashSet.add",
-        "mask": "[null|subclass=_LinkedHashSet]"
+        "mask": "[subclass=_LinkedHashSet]"
       }
     ],
     "function/dart:_js_helper::loadDeferredLibrary.loadDeferredLibrary_initializeSomeLoadedHunks.call": [
@@ -43220,14 +42651,6 @@
         "mask": "[null|subclass=Object]"
       },
       {
-        "id": "function/dart:_internal::NotNullableError.toString",
-        "mask": "[null|subclass=Object]"
-      },
-      {
-        "id": "function/dart:_internal::ReachabilityError.toString",
-        "mask": "[null|subclass=Object]"
-      },
-      {
         "id": "function/dart:_js_helper::BoundClosure.toString",
         "mask": "[null|subclass=Object]"
       },
@@ -43280,10 +42703,6 @@
         "mask": "[null|subclass=Object]"
       },
       {
-        "id": "function/dart:_rti::_Type.toString",
-        "mask": "[null|subclass=Object]"
-      },
-      {
         "id": "function/dart:async::AsyncError.toString",
         "mask": "[null|subclass=Object]"
       },
@@ -43386,6 +42805,146 @@
       {
         "id": "function/dart:_js_helper::saveStackTrace",
         "mask": null
+      },
+      {
+        "id": "function/dart:_rti::Rti._bind",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::Rti._eval",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_arrayInstanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDouble",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedAsCheck",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedIsTest",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_instanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::findType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::instanceType",
+        "mask": null
       }
     ],
     "function/dart:_js_helper::wrapException": [
@@ -43582,10 +43141,6 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::throwExpression",
         "mask": null
       }
@@ -43750,10 +43305,6 @@
       {
         "id": "function/dart:_rti::_Utils.asString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asString",
-        "mask": "inlined"
       }
     ],
     "function/dart:_rti::Rti._getFunctionParameters": [
@@ -44600,10 +44151,6 @@
     ],
     "function/dart:_rti::_Error.compose": [
       {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_rtiToString",
         "mask": null
       },
@@ -44751,17 +44298,17 @@
     "function/dart:_rti::_Parser.handleDigit": [
       {
         "id": "function/dart:_recipe_syntax::Recipe.digitValue",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_recipe_syntax::Recipe.digitValue",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_recipe_syntax::Recipe.digitValue",
         "mask": null
       },
       {
+        "id": "function/dart:_recipe_syntax::Recipe.digitValue",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_recipe_syntax::Recipe.digitValue",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_recipe_syntax::Recipe.isDigit",
         "mask": null
       },
@@ -44770,14 +44317,6 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Parser.charCodeAt",
         "mask": null
       },
@@ -44787,143 +44326,11 @@
       },
       {
         "id": "function/dart:_rti::_Parser.push",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Parser.push",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
+        "mask": "inlined"
       }
     ],
     "function/dart:_rti::_Parser.handleExtendedOperations": [
@@ -46180,14 +45587,6 @@
     ],
     "function/dart:_rti::_Parser.toType": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Parser.indexToType",
         "mask": null
       },
@@ -46213,11 +45612,11 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.asString",
@@ -46242,138 +45641,6 @@
       {
         "id": "function/dart:_rti::_Utils.isString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_Parser.toTypes": [
@@ -46436,16 +45703,6 @@
         "mask": "inlined"
       }
     ],
-    "function/dart:_rti::_Type.toString": [
-      {
-        "id": "field/dart:_rti::_Type._rti",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_rtiToString",
-        "mask": null
-      }
-    ],
     "function/dart:_rti::_TypeError._TypeError.forType": [
       {
         "id": "function/dart:_rti::_Error.compose",
@@ -46516,14 +45773,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._getCanonicalRecipe",
         "mask": null
       },
@@ -46541,10 +45790,6 @@
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
         "mask": null
       },
       {
@@ -46556,7 +45801,7 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_Utils.arrayLength",
+        "id": "function/dart:_rti::_Utils.arrayAt",
         "mask": "inlined"
       },
       {
@@ -46564,6 +45809,10 @@
         "mask": null
       },
       {
+        "id": "function/dart:_rti::_Utils.arrayLength",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_rti::_Utils.asBool",
         "mask": null
       },
@@ -46586,138 +45835,6 @@
       {
         "id": "function/dart:_rti::_Utils.asString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_Universe._canonicalRecipeOfAny": [
@@ -49180,14 +48297,6 @@
     ],
     "function/dart:_rti::_Universe.findErasedType": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Universe._canonicalRecipeOfErased",
         "mask": null
       },
@@ -49237,11 +48346,11 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.isNum",
@@ -49254,147 +48363,11 @@
       {
         "id": "function/dart:_rti::_Utils.newArrayOrEmpty",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_Universe.findRule": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
+        "id": "function/dart:_rti::_Universe._findRule",
         "mask": null
       },
       {
@@ -49403,10 +48376,6 @@
       },
       {
         "id": "function/dart:_rti::_Universe._findRule",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_Universe._findRule",
         "mask": "inlined"
       },
       {
@@ -49428,138 +48397,6 @@
       {
         "id": "function/dart:_rti::_Utils.isString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_Universe.findTypeParameterVariances": [
@@ -49876,14 +48713,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -49896,144 +48725,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isNum",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isNum",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asDoubleQ": [
@@ -50042,14 +48739,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -50062,144 +48751,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isNum",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isNum",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asDoubleS": [
@@ -50208,14 +48765,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -50228,144 +48777,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isNum",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isNum",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asInt": [
@@ -50374,14 +48791,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -50394,144 +48803,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isInt",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isInt",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asIntQ": [
@@ -50540,14 +48817,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -50560,144 +48829,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isInt",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isInt",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asIntS": [
@@ -50706,14 +48843,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -50726,144 +48855,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isInt",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isInt",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asNum": [
@@ -50872,14 +48869,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -50892,144 +48881,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isNum",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isNum",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asNumQ": [
@@ -51038,11 +48895,29 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
+        "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._eval",
+        "id": "function/dart:_rti::_Utils.asNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asNum",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_isNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isNum",
+        "mask": "inlined"
+      }
+    ],
+    "function/dart:_rti::_asNumS": [
+      {
+        "id": "function/dart:_js_helper::wrapException",
         "mask": null
       },
       {
@@ -51058,147 +48933,15 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isNum",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isNum",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
-    "function/dart:_rti::_asNumS": [
+    "function/dart:_rti::_asObject": [
       {
         "id": "function/dart:_js_helper::wrapException",
         "mask": null
@@ -51216,164 +48959,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_Utils.asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asNum",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
-      }
-    ],
-    "function/dart:_rti::_asObject": [
-      {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_arrayInstanceType",
         "mask": null
       },
@@ -51512,14 +49097,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -51532,144 +49109,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isString",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asStringQ": [
@@ -51678,14 +49123,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -51698,144 +49135,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isString",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_asStringS": [
@@ -51844,14 +49149,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_TypeError._TypeError.forType",
         "mask": null
       },
@@ -51864,144 +49161,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isString",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isString",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_failedAsCheck": [
@@ -52082,14 +49247,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_interceptors::JSString.+",
-        "mask": "[null|exact=JSString]"
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::ioore",
         "mask": null
       },
@@ -52159,18 +49316,6 @@
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
         "mask": null
       },
       {
@@ -52182,6 +49327,30 @@
         "mask": "inlined"
       },
       {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayLength",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayLength",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayLength",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_rti::_Utils.arrayLength",
         "mask": "inlined"
       },
@@ -52190,18 +49359,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_Utils.arrayLength",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayLength",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayLength",
-        "mask": "inlined"
-      },
-      {
         "id": "function/dart:_rti::_Utils.asBool",
         "mask": null
       },
@@ -52215,6 +49372,18 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asRti",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asRti",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asRti",
         "mask": null
       },
       {
@@ -52222,26 +49391,14 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asString",
-        "mask": "inlined"
-      },
-      {
         "id": "function/dart:_rti::_Utils.asString",
         "mask": null
       },
       {
+        "id": "function/dart:_rti::_Utils.asString",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_rti::_Utils.isIdentical",
         "mask": null
       },
@@ -52421,11 +49578,11 @@
       },
       {
         "id": "function/dart:_rti::Rti._isCheck",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::Rti._isCheck",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
@@ -52570,6 +49727,10 @@
       {
         "id": "function/dart:_rti::instanceType",
         "mask": null
+      },
+      {
+        "id": "function/dart:_rti::isNullable",
+        "mask": null
       }
     ],
     "function/dart:_rti::_generalIsTestImplementation": [
@@ -52612,11 +49773,7 @@
     ],
     "function/dart:_rti::_generalNullableAsCheckImplementation": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
+        "id": "function/dart:_rti::Rti._isCheck",
         "mask": null
       },
       {
@@ -52624,7 +49781,7 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::Rti._isCheck",
+        "id": "function/dart:_rti::_Utils.asRti",
         "mask": null
       },
       {
@@ -52632,144 +49789,8 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_Utils.asRti",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_failedAsCheck",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_generalNullableIsTestImplementation": [
@@ -52984,6 +50005,10 @@
         "mask": null
       },
       {
+        "id": "function/dart:_rti::isNullable",
+        "mask": null
+      },
+      {
         "id": "function/dart:_rti::isObjectType",
         "mask": null
       },
@@ -53320,14 +50345,6 @@
     ],
     "function/dart:_rti::_instanceTypeFromConstructorMiss": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Universe.findErasedType",
         "mask": null
       },
@@ -53336,110 +50353,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isClosure",
         "mask": null
       },
@@ -53448,40 +50361,12 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
+        "id": "function/dart:_rti::_theUniverse",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_theUniverse",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_theUniverse",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_isClosure": [
@@ -53912,14 +50797,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._getInterfaceName",
         "mask": "inlined"
       },
@@ -53937,17 +50814,17 @@
       },
       {
         "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::Rti._getInterfaceTypeArguments",
-        "mask": "inlined"
-      },
-      {
         "id": "function/dart:_rti::Rti._getPrimary",
         "mask": null
       },
@@ -53977,11 +50854,11 @@
       },
       {
         "id": "function/dart:_rti::_Universe.findTypeParameterVariances",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Universe.findTypeParameterVariances",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Universe.sharedEmptyArray",
@@ -53997,14 +50874,10 @@
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayLength",
         "mask": null
       },
       {
@@ -54012,6 +50885,10 @@
         "mask": "inlined"
       },
       {
+        "id": "function/dart:_rti::_Utils.arrayLength",
+        "mask": null
+      },
+      {
         "id": "function/dart:_rti::_Utils.arraySetAt",
         "mask": null
       },
@@ -54021,17 +50898,17 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asString",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asString",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.asString",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_Utils.asString",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asString",
-        "mask": "inlined"
-      },
-      {
         "id": "function/dart:_rti::_Utils.isString",
         "mask": "inlined"
       },
@@ -54041,151 +50918,19 @@
       },
       {
         "id": "function/dart:_rti::_Utils.newArrayOrEmpty",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.newArrayOrEmpty",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_areArgumentsSubtypes",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_theUniverse",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_isListTestViaProperty": [
@@ -54194,14 +50939,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._getSpecializedTestResource",
         "mask": null
       },
@@ -54211,11 +50948,11 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.instanceOf",
@@ -54230,110 +50967,6 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isDartObject",
         "mask": null
       },
@@ -54342,36 +50975,8 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_nullIs",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_isSubtype": [
@@ -54401,11 +51006,11 @@
       },
       {
         "id": "function/dart:_rti::Rti._getFutureOrArgument",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::Rti._getFutureOrArgument",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::Rti._getFutureOrArgument",
@@ -54480,6 +51085,10 @@
         "mask": "inlined"
       },
       {
+        "id": "function/dart:_rti::Rti._getQuestionFromStar",
+        "mask": null
+      },
+      {
         "id": "function/dart:_rti::Rti._getRest",
         "mask": null
       },
@@ -54489,10 +51098,6 @@
       },
       {
         "id": "function/dart:_rti::Rti._getStarArgument",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._getStarArgument",
         "mask": "inlined"
       },
       {
@@ -54500,22 +51105,26 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
+        "id": "function/dart:_rti::Rti._getStarArgument",
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
         "mask": null
       },
       {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:_rti::_Utils.arrayAt",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_rti::_Utils.arrayConcat",
         "mask": null
       },
@@ -54529,11 +51138,11 @@
       },
       {
         "id": "function/dart:_rti::_Utils.arrayLength",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.arrayLength",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.arrayLength",
@@ -54782,14 +51391,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._getSpecializedTestResource",
         "mask": null
       },
@@ -54799,118 +51400,18 @@
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.asRti",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::_Utils.instanceOf",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
+        "id": "function/dart:_rti::_isDartObject",
         "mask": null
       },
       {
@@ -54918,40 +51419,8 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_isDartObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_nullIs",
         "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::_nullIs": [
@@ -55166,10 +51635,6 @@
     ],
     "function/dart:_rti::_rtiArrayToString": [
       {
-        "id": "function/dart:_interceptors::JSString.+",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Utils.arrayAt",
         "mask": null
       },
@@ -55228,18 +51693,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_interceptors::JSString.+",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_interceptors::JSString.+",
-        "mask": "[null|exact=JSString]"
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::ioore",
         "mask": null
       },
@@ -55261,11 +51714,11 @@
       },
       {
         "id": "function/dart:_rti::Rti._getGenericFunctionBase",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_rti::Rti._getGenericFunctionBase",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::Rti._getGenericFunctionBounds",
@@ -56590,80 +53043,6 @@
         "mask": null
       }
     ],
-    "function/dart:_rti::createRuntimeType": [
-      {
-        "id": "field/dart:_rti::Rti._cachedRuntimeType",
-        "mask": null
-      },
-      {
-        "id": "field/dart:_rti::Rti._cachedRuntimeType",
-        "mask": null
-      },
-      {
-        "id": "field/dart:_rti::Rti._canonicalRecipe",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._getCachedRuntimeType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._getCachedRuntimeType",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::Rti._getCachedRuntimeType",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::Rti._getCanonicalRecipe",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._getCanonicalRecipe",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::Rti._setCachedRuntimeType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._setCachedRuntimeType",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Type._Type",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_Type._Type",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Type._Type",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Type._Type",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_Universe.eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_Utils.asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_theUniverse",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_theUniverse",
-        "mask": "inlined"
-      }
-    ],
     "function/dart:_rti::evalInInstance": [
       {
         "id": "function/dart:_rti::_rtiEval",
@@ -56690,27 +53069,15 @@
     ],
     "function/dart:_rti::getTypeFromTypesTable": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Universe.eval",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_rti::_Utils.arrayAt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_Utils.arraySetAt",
         "mask": "inlined"
       },
       {
@@ -56718,6 +53085,10 @@
         "mask": null
       },
       {
+        "id": "function/dart:_rti::_Utils.arraySetAt",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:_rti::_Utils.asRti",
         "mask": null
       },
@@ -56742,130 +53113,6 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_theUniverse",
         "mask": null
       },
@@ -56876,26 +53123,10 @@
       {
         "id": "function/dart:_rti::findType",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::instanceOrFunctionType": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::Rti._isUnionOfFunctionType",
         "mask": null
       },
@@ -56904,110 +53135,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isClosure",
         "mask": null
       },
@@ -57016,52 +53143,16 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::closureFunctionType",
         "mask": null
       },
       {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::instanceType",
         "mask": null
       }
     ],
     "function/dart:_rti::instanceType": [
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_Utils.asRti",
         "mask": null
       },
@@ -57082,106 +53173,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_instanceType",
         "mask": null
       },
@@ -57194,44 +53185,12 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
         "id": "function/dart:_rti::_isDartObject",
         "mask": null
       },
       {
         "id": "function/dart:_rti::_isDartObject",
         "mask": "inlined"
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
       }
     ],
     "function/dart:_rti::isBottomType": [
@@ -58216,10 +54175,150 @@
         "mask": null
       },
       {
+        "id": "function/dart:_rti::Rti._bind",
+        "mask": null
+      },
+      {
         "id": "function/dart:_rti::Rti._eval",
         "mask": null
       },
       {
+        "id": "function/dart:_rti::Rti._eval",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_arrayInstanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDouble",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedAsCheck",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedIsTest",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_instanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::findType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::instanceType",
+        "mask": null
+      },
+      {
         "id": "function/dart:async::_Future._Future.immediate",
         "mask": null
       },
@@ -58483,7 +54582,7 @@
       },
       {
         "id": "function/dart:async::_Future.then",
-        "mask": "[null|exact=_Future]"
+        "mask": "[exact=_Future]"
       },
       {
         "id": "function/dart:async::_RootZone.errorCallback",
@@ -59200,10 +55299,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:async::AsyncError.defaultStackTrace",
-        "mask": null
-      },
-      {
         "id": "function/dart:async::_Future._asyncCompleteError",
         "mask": null
       },
@@ -63076,10 +59171,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:async::_Future._chainForeignFuture",
-        "mask": null
-      },
-      {
         "id": "function/dart:async::_Future._cloneResult",
         "mask": null
       },
@@ -63089,6 +59180,10 @@
       },
       {
         "id": "function/dart:async::_Future._error",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:async::_Future._error",
         "mask": null
       },
       {
@@ -63096,34 +59191,30 @@
         "mask": "inlined"
       },
       {
-        "id": "function/dart:async::_Future._error",
-        "mask": "inlined"
+        "id": "function/dart:async::_Future._hasError",
+        "mask": null
       },
       {
         "id": "function/dart:async::_Future._hasError",
         "mask": "inlined"
       },
       {
-        "id": "function/dart:async::_Future._hasError",
-        "mask": null
+        "id": "function/dart:async::_Future._ignoreError",
+        "mask": "inlined"
       },
       {
         "id": "function/dart:async::_Future._ignoreError",
         "mask": null
       },
       {
-        "id": "function/dart:async::_Future._ignoreError",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:async::_Future._isComplete",
-        "mask": "inlined"
-      },
-      {
         "id": "function/dart:async::_Future._isComplete",
         "mask": null
       },
       {
+        "id": "function/dart:async::_Future._isComplete",
+        "mask": "inlined"
+      },
+      {
         "id": "function/dart:async::_Future._propagateToListeners",
         "mask": null
       },
@@ -63274,10 +59365,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_js_helper::boolConversionCheck",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::getTraceFromException",
         "mask": null
       },
@@ -63431,21 +59518,21 @@
       },
       {
         "id": "function/dart:async::_Future._error",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:async::_Future._error",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:async::_Future._error",
+        "mask": "inlined"
+      },
+      {
+        "id": "function/dart:async::_Future._error",
         "mask": null
       },
       {
-        "id": "function/dart:async::_Future._error",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:async::_Future._error",
-        "mask": "inlined"
-      },
-      {
-        "id": "function/dart:async::_Future._error",
-        "mask": "inlined"
-      },
-      {
         "id": "function/dart:async::_FutureListener._onError",
         "mask": null
       },
@@ -66193,21 +62280,21 @@
       },
       {
         "id": "function/dart:async::_AsyncAwaitCompleter.completeError",
-        "mask": "[null|subtype=Completer]"
+        "mask": "[subtype=Completer]"
       },
       {
         "id": "function/dart:async::_Completer.completeError",
-        "mask": "[null|subtype=Completer]"
+        "mask": "[subtype=Completer]"
       }
     ],
     "function/dart:async::_asyncReturn": [
       {
         "id": "function/dart:async::_AsyncAwaitCompleter.complete",
-        "mask": "[null|subtype=Completer]"
+        "mask": "[subtype=Completer]"
       },
       {
         "id": "function/dart:async::_AsyncCompleter.complete",
-        "mask": "[null|subtype=Completer]"
+        "mask": "[subtype=Completer]"
       }
     ],
     "function/dart:async::_asyncStartSync": [
@@ -66812,12 +62899,28 @@
     ],
     "function/dart:async::_rootHandleError._rootHandleError_closure.call": [
       {
-        "id": "function/dart:_internal::ReachabilityError.ReachabilityError",
+        "id": "function/dart:_internal::checkNotNullable",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_internal::checkNotNullable",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::findType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:core::Error._throw",
         "mask": null
       },
       {
         "id": "function/dart:core::Error.throwWithStackTrace",
         "mask": null
+      },
+      {
+        "id": "function/dart:core::Error.throwWithStackTrace",
+        "mask": "inlined"
       }
     ],
     "function/dart:async::_rootRun": [
@@ -69448,8 +65551,152 @@
     ],
     "function/dart:collection::_LinkedHashSetIterator.current": [
       {
+        "id": "field/dart:_rti::Rti._precomputed1",
+        "mask": null
+      },
+      {
         "id": "field/dart:collection::_LinkedHashSetIterator._current",
         "mask": null
+      },
+      {
+        "id": "function/dart:_rti::Rti._bind",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::Rti._eval",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_arrayInstanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDouble",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedAsCheck",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedIsTest",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_instanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::findType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::instanceType",
+        "mask": null
       }
     ],
     "function/dart:collection::_LinkedHashSetIterator.moveNext": [
@@ -69744,10 +65991,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
-      },
-      {
         "id": "function/dart:_js_helper::StaticClosure.toString",
         "mask": "[subclass=Closure]"
       }
@@ -69760,12 +66003,8 @@
     ],
     "function/dart:core::Error._throw": [
       {
-        "id": "function/dart:_interceptors::JSNull.toString",
-        "mask": "[null|subtype=StackTrace]"
-      },
-      {
         "id": "function/dart:_js_helper::_StackTrace.toString",
-        "mask": "[null|subtype=StackTrace]"
+        "mask": "[subtype=StackTrace]"
       },
       {
         "id": "function/dart:_js_helper::wrapException",
@@ -69776,12 +66015,152 @@
         "mask": null
       },
       {
+        "id": "function/dart:_rti::Rti._bind",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::Rti._eval",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_arrayInstanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asBoolS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDouble",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asDoubleS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asIntS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asNumS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringQ",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asStringS",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_asTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedAsCheck",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_installSpecializedIsTest",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_instanceType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isBool",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isInt",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isNum",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isObject",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isString",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::_isTop",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::findType",
+        "mask": null
+      },
+      {
+        "id": "function/dart:_rti::instanceType",
+        "mask": null
+      },
+      {
         "id": "function/dart:core::Object.toString",
-        "mask": "[null|subtype=StackTrace]"
+        "mask": "[subtype=StackTrace]"
       },
       {
         "id": "function/dart:core::_StringStackTrace.toString",
-        "mask": "[null|subtype=StackTrace]"
+        "mask": "[subtype=StackTrace]"
       }
     ],
     "function/dart:core::Error.safeToString": [
@@ -69980,28 +66359,6 @@
         "mask": null
       }
     ],
-    "function/dart:core::Error.throwWithStackTrace": [
-      {
-        "id": "function/dart:_internal::ReachabilityError.ReachabilityError",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_internal::checkNotNullable",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_internal::checkNotNullable",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:core::Error._throw",
-        "mask": null
-      }
-    ],
     "function/dart:core::Exception.Exception": [
       {
         "id": "function/dart:core::_Exception._Exception",
@@ -70018,7 +66375,7 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::_asIntS",
+        "id": "function/dart:_rti::_asInt",
         "mask": null
       }
     ],
@@ -70364,10 +66721,6 @@
       {
         "id": "function/dart:_js_helper::Primitives.objectTypeName",
         "mask": null
-      },
-      {
-        "id": "function/dart:_js_helper::S",
-        "mask": null
       }
     ],
     "function/dart:core::RangeError._errorExplanation": [
@@ -70563,11 +66916,11 @@
       },
       {
         "id": "function/dart:_interceptors::JSString.isEmpty",
-        "mask": "inlined"
+        "mask": null
       },
       {
         "id": "function/dart:_interceptors::JSString.isEmpty",
-        "mask": null
+        "mask": "inlined"
       },
       {
         "id": "function/dart:_js_helper::Primitives.stringConcatUnchecked",
@@ -70578,146 +66931,6 @@
         "mask": null
       },
       {
-        "id": "function/dart:_rti::Rti._bind",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::Rti._eval",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_arrayInstanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asBoolS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDouble",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asDoubleS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asIntS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asNumS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringQ",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asStringS",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_asTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableAsCheckImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_generalNullableIsTestImplementation",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedAsCheck",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_installSpecializedIsTest",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_instanceType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isBool",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isInt",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isNum",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isObject",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isString",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::_isTop",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::findType",
-        "mask": null
-      },
-      {
-        "id": "function/dart:_rti::instanceType",
-        "mask": null
-      },
-      {
         "id": "function/dart:collection::_LinkedHashSet.iterator",
         "mask": "Union([subclass=JSArray], [subclass=_LinkedHashSet])"
       },
@@ -70945,7 +67158,7 @@
       "id": "outputUnit/1",
       "kind": "outputUnit",
       "name": "1",
-      "size": 596,
+      "size": 594,
       "filename": "hello_world_deferred.js_1.part.js",
       "imports": [
         "deferred_import"
@@ -70955,7 +67168,7 @@
       "id": "outputUnit/main",
       "kind": "outputUnit",
       "name": "main",
-      "size": 190719,
+      "size": 188050,
       "filename": "hello_world_deferred.js",
       "imports": []
     }
@@ -70974,11 +67187,11 @@
   "dump_minor_version": 1,
   "program": {
     "entrypoint": "function/hello_world_deferred.dart::main",
-    "size": 191315,
+    "size": 188644,
     "dart2jsVersion": null,
-    "compilationMoment": "2022-04-19 11:39:03.126775",
-    "compilationDuration": 2121195,
-    "toJsonDuration": 3000,
+    "compilationMoment": "2022-05-26 21:07:11.259922",
+    "compilationDuration": 4395336,
+    "toJsonDuration": 9000,
     "dumpInfoDuration": 0,
     "noSuchMethodEnabled": false,
     "isRuntimeTypeUsed": false,
diff --git a/pkg/dart2js_info/test/json_to_proto_test.dart b/pkg/dart2js_info/test/json_to_proto_test.dart
index 72d4e7b..6579ea9 100644
--- a/pkg/dart2js_info/test/json_to_proto_test.dart
+++ b/pkg/dart2js_info/test/json_to_proto_test.dart
@@ -22,11 +22,11 @@
       final proto = AllInfoProtoCodec().encode(decoded);
 
       expect(proto.program.entrypointId, isNotNull);
-      expect(proto.program.size, 91189);
+      expect(proto.program.size, 90362);
       expect(proto.program.compilationMoment.toInt(),
-          DateTime.parse("2022-04-19 11:35:28.623405").microsecondsSinceEpoch);
+          DateTime.parse("2022-05-26 21:08:43.608041").microsecondsSinceEpoch);
       expect(proto.program.toProtoDuration.toInt(),
-          Duration(milliseconds: 2).inMicroseconds);
+          Duration(milliseconds: 3).inMicroseconds);
       expect(proto.program.dumpInfoDuration.toInt(),
           Duration(milliseconds: 0).inMicroseconds);
       expect(proto.program.noSuchMethodEnabled, isFalse);
diff --git a/pkg/dart2js_info/test/parse_test.dart b/pkg/dart2js_info/test/parse_test.dart
index 80a0870..bb80faf 100644
--- a/pkg/dart2js_info/test/parse_test.dart
+++ b/pkg/dart2js_info/test/parse_test.dart
@@ -22,11 +22,11 @@
       expect(program, isNotNull);
 
       expect(program.entrypoint, isNotNull);
-      expect(program.size, 91189);
+      expect(program.size, 90362);
       expect(program.compilationMoment,
-          DateTime.parse("2022-04-19 11:35:28.623405"));
-      expect(program.compilationDuration, Duration(microseconds: 1461256));
-      expect(program.toJsonDuration, Duration(milliseconds: 2));
+          DateTime.parse("2022-05-26 21:08:43.608041"));
+      expect(program.compilationDuration, Duration(microseconds: 3177312));
+      expect(program.toJsonDuration, Duration(milliseconds: 3));
       expect(program.dumpInfoDuration, Duration(seconds: 0));
       expect(program.noSuchMethodEnabled, false);
       expect(program.minified, false);
diff --git a/pkg/dev_compiler/lib/src/kernel/property_model.dart b/pkg/dev_compiler/lib/src/kernel/property_model.dart
index 294b9a3..b70c9c1 100644
--- a/pkg/dev_compiler/lib/src/kernel/property_model.dart
+++ b/pkg/dev_compiler/lib/src/kernel/property_model.dart
@@ -2,10 +2,9 @@
 // for details. All rights 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' show HashMap, HashSet, Queue;
 
+import 'package:collection/collection.dart' show IterableNullableExtension;
 import 'package:kernel/core_types.dart';
 import 'package:kernel/kernel.dart';
 import 'package:kernel/type_environment.dart';
@@ -109,7 +108,7 @@
         HashMap.fromIterables(allClasses, allClasses.map(getInstanceFieldMap));
 
     for (var class_ in allClasses) {
-      Set<Class> superclasses;
+      Set<Class>? superclasses;
 
       // Visit accessors in the current class, and see if they override an
       // otherwise private field.
@@ -131,15 +130,15 @@
 
         if (superclasses == null) {
           superclasses = <Class>{};
-          void collectSupertypes(Class c) {
-            if (!superclasses.add(c)) return;
+          void collectSupertypes(Class c, Set<Class> supers) {
+            if (!supers.add(c)) return;
             var s = c.superclass;
-            if (s != null) collectSupertypes(s);
+            if (s != null) collectSupertypes(s, supers);
             var m = c.mixedInClass;
-            if (m != null) collectSupertypes(m);
+            if (m != null) collectSupertypes(m, supers);
           }
 
-          collectSupertypes(class_);
+          collectSupertypes(class_, superclasses);
           superclasses.remove(class_);
           superclasses.removeWhere((s) => s.enclosingLibrary != library);
         }
@@ -147,9 +146,8 @@
         // Look in all super classes to see if we're overriding a field in our
         // library, if so mark that field as overridden.
         var name = member.name.text;
-        _overriddenPrivateFields.addAll(superclasses
-            .map((c) => allFields[c][name])
-            .where((f) => f != null));
+        _overriddenPrivateFields.addAll(
+            superclasses.map((c) => allFields[c]![name]).whereNotNull());
       }
     }
   }
@@ -159,7 +157,7 @@
     // If the field was marked non-virtual, we know for sure.
     if (field.isStatic) return false;
 
-    var class_ = field.enclosingClass;
+    var class_ = field.enclosingClass!;
     if (class_.isEnum) {
       // Enums are not extensible.
       return false;
diff --git a/pkg/front_end/test/spell_checking_list_code.txt b/pkg/front_end/test/spell_checking_list_code.txt
index bdc9ea7..e3d8120 100644
--- a/pkg/front_end/test/spell_checking_list_code.txt
+++ b/pkg/front_end/test/spell_checking_list_code.txt
@@ -1364,7 +1364,6 @@
 tex
 textualize
 textualized
-tflite
 th
 therein
 they'll
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 f9ddb1b..e7aa041 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 52eeaa7..d9d43c9 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,4 +1,3 @@
-// @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 7b9b8af..fafec6e 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.expect
index 90a2cad..b9c0727 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.expect
@@ -1,177 +1,167 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Class extends core::Object {
-  field core::Function* field1a = #C1;
-  field () →* core::int* field1b = #C1;
-  field (core::int*) →* core::int* field2 = #C2;
-  field (core::int*, core::int*) →* core::int* field3 = #C3;
-  field (core::int*, [core::int*]) →* core::int* field4 = #C4;
-  field ([core::int*, core::int*]) →* core::int* field5 = #C5;
-  field (core::int*, {b: core::int*}) →* core::int* field6 = #C6;
-  field ({a: core::int*, b: core::int*}) →* core::int* field7 = #C7;
-  synthetic constructor •() → self::Class*
+  field core::Function field1a = #C1;
+  field () → core::int field1b = #C1;
+  field (core::int) → core::int field2 = #C2;
+  field (core::int, core::int) → core::int field3 = #C3;
+  field (core::int, [core::int]) → core::int field4 = #C4;
+  field ([core::int, core::int]) → core::int field5 = #C5;
+  field (core::int, {b: core::int}) → core::int field6 = #C6;
+  field ({a: core::int, b: core::int}) → core::int field7 = #C7;
+  synthetic constructor •() → self::Class
     : super core::Object::•()
     ;
-  get getter1a() → core::Function*
+  get getter1a() → core::Function
     return #C1;
-  get getter1b() → () →* core::int*
+  get getter1b() → () → core::int
     return #C1;
-  get getter2() → (core::int*) →* core::int*
+  get getter2() → (core::int) → core::int
     return #C2;
-  get getter3() → (core::int*, core::int*) →* core::int*
+  get getter3() → (core::int, core::int) → core::int
     return #C3;
-  get getter4() → (core::int*, [core::int*]) →* core::int*
+  get getter4() → (core::int, [core::int]) → core::int
     return #C4;
-  get getter5() → ([core::int*, core::int*]) →* core::int*
+  get getter5() → ([core::int, core::int]) → core::int
     return #C5;
-  get getter6() → (core::int*, {b: core::int*}) →* core::int*
+  get getter6() → (core::int, {b: core::int}) → core::int
     return #C6;
-  get getter7() → ({a: core::int*, b: core::int*}) →* core::int*
+  get getter7() → ({a: core::int, b: core::int}) → core::int
     return #C7;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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*
+  synthetic constructor •() → self::Subclass
     : super self::Class::•()
     ;
-  get field1a() → core::Function* {
+  get field1a() → core::Function {
     self::enableRead = false;
     return #C1;
   }
-  get field1b() → () →* core::int* {
+  get field1b() → () → core::int {
     self::enableRead = false;
     return #C1;
   }
-  get field2() → (core::int*) →* core::int* {
+  get field2() → (core::int) → core::int {
     self::enableRead = false;
     return #C2;
   }
-  get field3() → (core::int*, core::int*) →* core::int* {
+  get field3() → (core::int, core::int) → core::int {
     self::enableRead = false;
     return #C3;
   }
-  get field4() → (core::int*, [core::int*]) →* core::int* {
+  get field4() → (core::int, [core::int]) → core::int {
     self::enableRead = false;
     return #C4;
   }
-  get field5() → ([core::int*, core::int*]) →* core::int* {
+  get field5() → ([core::int, core::int]) → core::int {
     self::enableRead = false;
     return #C5;
   }
-  get field6() → (core::int*, {b: core::int*}) →* core::int* {
+  get field6() → (core::int, {b: core::int}) → core::int {
     self::enableRead = false;
     return #C6;
   }
-  get field7() → ({a: core::int*, b: core::int*}) →* core::int* {
+  get field7() → ({a: core::int, b: core::int}) → core::int {
     self::enableRead = false;
     return #C7;
   }
-  get getter1a() → core::Function* {
+  get getter1a() → core::Function {
     self::enableRead = false;
     return #C1;
   }
-  get getter1b() → () →* core::int* {
+  get getter1b() → () → core::int {
     self::enableRead = false;
     return #C1;
   }
-  get getter2() → (core::int*) →* core::int* {
+  get getter2() → (core::int) → core::int {
     self::enableRead = false;
     return #C2;
   }
-  get getter3() → (core::int*, core::int*) →* core::int* {
+  get getter3() → (core::int, core::int) → core::int {
     self::enableRead = false;
     return #C3;
   }
-  get getter4() → (core::int*, [core::int*]) →* core::int* {
+  get getter4() → (core::int, [core::int]) → core::int {
     self::enableRead = false;
     return #C4;
   }
-  get getter5() → ([core::int*, core::int*]) →* core::int* {
+  get getter5() → ([core::int, core::int]) → core::int {
     self::enableRead = false;
     return #C5;
   }
-  get getter6() → (core::int*, {b: core::int*}) →* core::int* {
+  get getter6() → (core::int, {b: core::int}) → core::int {
     self::enableRead = false;
     return #C6;
   }
-  get getter7() → ({a: core::int*, b: core::int*}) →* core::int* {
+  get getter7() → ({a: core::int, b: core::int}) → core::int {
     self::enableRead = false;
     return #C7;
   }
 }
-static field core::bool* enableRead = true;
-static method read(core::int* value) → core::int*
-  return self::enableRead ?{core::int*} value : 1.{core::int::unary-}(){() →* core::int*};
-static method method1() → core::int*
+static field core::bool enableRead = true;
+static method read(core::int value) → core::int
+  return self::enableRead ?{core::int} value : 1.{core::int::unary-}(){() → core::int};
+static method method1() → core::int
   return 0;
-static method method2(core::int* a) → core::int*
-  return a.{core::int::unary-}(){() →* core::int*};
-static method method3(core::int* a, core::int* b) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method4(core::int* a, [core::int* b = #C8]) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method5([core::int* a = #C8, core::int* b = #C8]) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method6(core::int* a, {core::int* b = #C8}) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method7({core::int* a = #C8, core::int* b = #C8}) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
+static method method2(core::int a) → core::int
+  return a.{core::int::unary-}(){() → core::int};
+static method method3(core::int a, core::int b) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method4(core::int a, [core::int b = #C8]) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method5([core::int a = #C8, core::int b = #C8]) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method6(core::int a, {core::int b = #C8}) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method7({core::int a = #C8, core::int b = #C8}) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
 static method main() → dynamic {
   self::callField(new self::Class::•());
   self::callGetter(new self::Class::•());
   self::callField(new self::Subclass::•());
   self::callGetter(new self::Subclass::•());
 }
-static method callField(self::Class* c) → dynamic {
+static method callField(self::Class c) → dynamic {
   self::expect(0, c.{self::Class::field1a}());
-  self::expect(0, c.{self::Class::field1b}(){() →* core::int*});
-  self::expect(42.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t1 = c in let final core::int* #t2 = self::read(42) in #t1.{self::Class::field2}(#t2){(core::int*) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t3 = c in let final core::int* #t4 = self::read(12) in let final core::int* #t5 = self::read(23) in #t3.{self::Class::field3}(#t4, #t5){(core::int*, core::int*) →* core::int*});
-  self::expect(12, let final self::Class* #t6 = c in let final core::int* #t7 = self::read(12) in #t6.{self::Class::field4}(#t7){(core::int*, [core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t8 = c in let final core::int* #t9 = self::read(12) in let final core::int* #t10 = self::read(23) in #t8.{self::Class::field4}(#t9, #t10){(core::int*, [core::int*]) →* core::int*});
-  self::expect(0, c.{self::Class::field5}(){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t11 = c in let final core::int* #t12 = self::read(12) in #t11.{self::Class::field5}(#t12){([core::int*, core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t13 = c in let final core::int* #t14 = self::read(12) in let final core::int* #t15 = self::read(23) in #t13.{self::Class::field5}(#t14, #t15){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t16 = c in let final core::int* #t17 = self::read(12) in #t16.{self::Class::field6}(#t17){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t18 = c in let final core::int* #t19 = self::read(12) in let final core::int* #t20 = self::read(23) in #t18.{self::Class::field6}(#t19, b: #t20){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(0, c.{self::Class::field7}(){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(12, let final self::Class* #t21 = c in let final core::int* #t22 = self::read(12) in #t21.{self::Class::field7}(a: #t22){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(23.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t23 = c in let final core::int* #t24 = self::read(23) in #t23.{self::Class::field7}(b: #t24){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t25 = c in let final core::int* #t26 = self::read(12) in let final core::int* #t27 = self::read(23) in #t25.{self::Class::field7}(a: #t26, b: #t27){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t28 = c in let final core::int* #t29 = self::read(23) in let final core::int* #t30 = self::read(12) in #t28.{self::Class::field7}(b: #t29, a: #t30){({a: core::int*, b: core::int*}) →* core::int*});
+  self::expect(0, c.{self::Class::field1b}(){() → core::int});
+  self::expect(42.{core::int::unary-}(){() → core::int}, let final self::Class #t1 = c in let final core::int #t2 = self::read(42) in #t1.{self::Class::field2}(#t2){(core::int) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t3 = c in let final core::int #t4 = self::read(12) in let final core::int #t5 = self::read(23) in #t3.{self::Class::field3}(#t4, #t5){(core::int, core::int) → core::int});
+  self::expect(12, let final self::Class #t6 = c in let final core::int #t7 = self::read(12) in #t6.{self::Class::field4}(#t7){(core::int, [core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t8 = c in let final core::int #t9 = self::read(12) in let final core::int #t10 = self::read(23) in #t8.{self::Class::field4}(#t9, #t10){(core::int, [core::int]) → core::int});
+  self::expect(0, c.{self::Class::field5}(){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t11 = c in let final core::int #t12 = self::read(12) in #t11.{self::Class::field5}(#t12){([core::int, core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t13 = c in let final core::int #t14 = self::read(12) in let final core::int #t15 = self::read(23) in #t13.{self::Class::field5}(#t14, #t15){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t16 = c in let final core::int #t17 = self::read(12) in #t16.{self::Class::field6}(#t17){(core::int, {b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t18 = c in let final core::int #t19 = self::read(12) in let final core::int #t20 = self::read(23) in #t18.{self::Class::field6}(#t19, b: #t20){(core::int, {b: core::int}) → core::int});
+  self::expect(0, c.{self::Class::field7}(){({a: core::int, b: core::int}) → core::int});
+  self::expect(12, let final self::Class #t21 = c in let final core::int #t22 = self::read(12) in #t21.{self::Class::field7}(a: #t22){({a: core::int, b: core::int}) → core::int});
+  self::expect(23.{core::int::unary-}(){() → core::int}, let final self::Class #t23 = c in let final core::int #t24 = self::read(23) in #t23.{self::Class::field7}(b: #t24){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t25 = c in let final core::int #t26 = self::read(12) in let final core::int #t27 = self::read(23) in #t25.{self::Class::field7}(a: #t26, b: #t27){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t28 = c in let final core::int #t29 = self::read(23) in let final core::int #t30 = self::read(12) in #t28.{self::Class::field7}(b: #t29, a: #t30){({a: core::int, b: core::int}) → core::int});
 }
-static method callGetter(self::Class* c) → dynamic {
+static method callGetter(self::Class c) → dynamic {
   self::expect(0, c.{self::Class::getter1a}());
-  self::expect(0, c.{self::Class::getter1b}(){() →* core::int*});
-  self::expect(42.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t31 = c in let final core::int* #t32 = self::read(42) in #t31.{self::Class::getter2}(#t32){(core::int*) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t33 = c in let final core::int* #t34 = self::read(12) in let final core::int* #t35 = self::read(23) in #t33.{self::Class::getter3}(#t34, #t35){(core::int*, core::int*) →* core::int*});
-  self::expect(12, let final self::Class* #t36 = c in let final core::int* #t37 = self::read(12) in #t36.{self::Class::getter4}(#t37){(core::int*, [core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t38 = c in let final core::int* #t39 = self::read(12) in let final core::int* #t40 = self::read(23) in #t38.{self::Class::getter4}(#t39, #t40){(core::int*, [core::int*]) →* core::int*});
-  self::expect(0, c.{self::Class::getter5}(){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t41 = c in let final core::int* #t42 = self::read(12) in #t41.{self::Class::getter5}(#t42){([core::int*, core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t43 = c in let final core::int* #t44 = self::read(12) in let final core::int* #t45 = self::read(23) in #t43.{self::Class::getter5}(#t44, #t45){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t46 = c in let final core::int* #t47 = self::read(12) in #t46.{self::Class::getter6}(#t47){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t48 = c in let final core::int* #t49 = self::read(12) in let final core::int* #t50 = self::read(23) in #t48.{self::Class::getter6}(#t49, b: #t50){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(0, c.{self::Class::getter7}(){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(12, let final self::Class* #t51 = c in let final core::int* #t52 = self::read(12) in #t51.{self::Class::getter7}(a: #t52){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(23.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t53 = c in let final core::int* #t54 = self::read(23) in #t53.{self::Class::getter7}(b: #t54){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t55 = c in let final core::int* #t56 = self::read(12) in let final core::int* #t57 = self::read(23) in #t55.{self::Class::getter7}(a: #t56, b: #t57){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t58 = c in let final core::int* #t59 = self::read(23) in let final core::int* #t60 = self::read(12) in #t58.{self::Class::getter7}(b: #t59, a: #t60){({a: core::int*, b: core::int*}) →* core::int*});
+  self::expect(0, c.{self::Class::getter1b}(){() → core::int});
+  self::expect(42.{core::int::unary-}(){() → core::int}, let final self::Class #t31 = c in let final core::int #t32 = self::read(42) in #t31.{self::Class::getter2}(#t32){(core::int) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t33 = c in let final core::int #t34 = self::read(12) in let final core::int #t35 = self::read(23) in #t33.{self::Class::getter3}(#t34, #t35){(core::int, core::int) → core::int});
+  self::expect(12, let final self::Class #t36 = c in let final core::int #t37 = self::read(12) in #t36.{self::Class::getter4}(#t37){(core::int, [core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t38 = c in let final core::int #t39 = self::read(12) in let final core::int #t40 = self::read(23) in #t38.{self::Class::getter4}(#t39, #t40){(core::int, [core::int]) → core::int});
+  self::expect(0, c.{self::Class::getter5}(){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t41 = c in let final core::int #t42 = self::read(12) in #t41.{self::Class::getter5}(#t42){([core::int, core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t43 = c in let final core::int #t44 = self::read(12) in let final core::int #t45 = self::read(23) in #t43.{self::Class::getter5}(#t44, #t45){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t46 = c in let final core::int #t47 = self::read(12) in #t46.{self::Class::getter6}(#t47){(core::int, {b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t48 = c in let final core::int #t49 = self::read(12) in let final core::int #t50 = self::read(23) in #t48.{self::Class::getter6}(#t49, b: #t50){(core::int, {b: core::int}) → core::int});
+  self::expect(0, c.{self::Class::getter7}(){({a: core::int, b: core::int}) → core::int});
+  self::expect(12, let final self::Class #t51 = c in let final core::int #t52 = self::read(12) in #t51.{self::Class::getter7}(a: #t52){({a: core::int, b: core::int}) → core::int});
+  self::expect(23.{core::int::unary-}(){() → core::int}, let final self::Class #t53 = c in let final core::int #t54 = self::read(23) in #t53.{self::Class::getter7}(b: #t54){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t55 = c in let final core::int #t56 = self::read(12) in let final core::int #t57 = self::read(23) in #t55.{self::Class::getter7}(a: #t56, b: #t57){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t58 = c in let final core::int #t59 = self::read(23) in let final core::int #t60 = self::read(12) in #t58.{self::Class::getter7}(b: #t59, a: #t60){({a: core::int, b: core::int}) → core::int});
 }
 static method expect(dynamic expected, dynamic actual) → dynamic {
   self::enableRead = true;
-  if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+  if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
     throw "Expected ${expected}, ${actual}";
 }
 
diff --git a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.modular.expect b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.modular.expect
index 90a2cad..b9c0727 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.modular.expect
@@ -1,177 +1,167 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Class extends core::Object {
-  field core::Function* field1a = #C1;
-  field () →* core::int* field1b = #C1;
-  field (core::int*) →* core::int* field2 = #C2;
-  field (core::int*, core::int*) →* core::int* field3 = #C3;
-  field (core::int*, [core::int*]) →* core::int* field4 = #C4;
-  field ([core::int*, core::int*]) →* core::int* field5 = #C5;
-  field (core::int*, {b: core::int*}) →* core::int* field6 = #C6;
-  field ({a: core::int*, b: core::int*}) →* core::int* field7 = #C7;
-  synthetic constructor •() → self::Class*
+  field core::Function field1a = #C1;
+  field () → core::int field1b = #C1;
+  field (core::int) → core::int field2 = #C2;
+  field (core::int, core::int) → core::int field3 = #C3;
+  field (core::int, [core::int]) → core::int field4 = #C4;
+  field ([core::int, core::int]) → core::int field5 = #C5;
+  field (core::int, {b: core::int}) → core::int field6 = #C6;
+  field ({a: core::int, b: core::int}) → core::int field7 = #C7;
+  synthetic constructor •() → self::Class
     : super core::Object::•()
     ;
-  get getter1a() → core::Function*
+  get getter1a() → core::Function
     return #C1;
-  get getter1b() → () →* core::int*
+  get getter1b() → () → core::int
     return #C1;
-  get getter2() → (core::int*) →* core::int*
+  get getter2() → (core::int) → core::int
     return #C2;
-  get getter3() → (core::int*, core::int*) →* core::int*
+  get getter3() → (core::int, core::int) → core::int
     return #C3;
-  get getter4() → (core::int*, [core::int*]) →* core::int*
+  get getter4() → (core::int, [core::int]) → core::int
     return #C4;
-  get getter5() → ([core::int*, core::int*]) →* core::int*
+  get getter5() → ([core::int, core::int]) → core::int
     return #C5;
-  get getter6() → (core::int*, {b: core::int*}) →* core::int*
+  get getter6() → (core::int, {b: core::int}) → core::int
     return #C6;
-  get getter7() → ({a: core::int*, b: core::int*}) →* core::int*
+  get getter7() → ({a: core::int, b: core::int}) → core::int
     return #C7;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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*
+  synthetic constructor •() → self::Subclass
     : super self::Class::•()
     ;
-  get field1a() → core::Function* {
+  get field1a() → core::Function {
     self::enableRead = false;
     return #C1;
   }
-  get field1b() → () →* core::int* {
+  get field1b() → () → core::int {
     self::enableRead = false;
     return #C1;
   }
-  get field2() → (core::int*) →* core::int* {
+  get field2() → (core::int) → core::int {
     self::enableRead = false;
     return #C2;
   }
-  get field3() → (core::int*, core::int*) →* core::int* {
+  get field3() → (core::int, core::int) → core::int {
     self::enableRead = false;
     return #C3;
   }
-  get field4() → (core::int*, [core::int*]) →* core::int* {
+  get field4() → (core::int, [core::int]) → core::int {
     self::enableRead = false;
     return #C4;
   }
-  get field5() → ([core::int*, core::int*]) →* core::int* {
+  get field5() → ([core::int, core::int]) → core::int {
     self::enableRead = false;
     return #C5;
   }
-  get field6() → (core::int*, {b: core::int*}) →* core::int* {
+  get field6() → (core::int, {b: core::int}) → core::int {
     self::enableRead = false;
     return #C6;
   }
-  get field7() → ({a: core::int*, b: core::int*}) →* core::int* {
+  get field7() → ({a: core::int, b: core::int}) → core::int {
     self::enableRead = false;
     return #C7;
   }
-  get getter1a() → core::Function* {
+  get getter1a() → core::Function {
     self::enableRead = false;
     return #C1;
   }
-  get getter1b() → () →* core::int* {
+  get getter1b() → () → core::int {
     self::enableRead = false;
     return #C1;
   }
-  get getter2() → (core::int*) →* core::int* {
+  get getter2() → (core::int) → core::int {
     self::enableRead = false;
     return #C2;
   }
-  get getter3() → (core::int*, core::int*) →* core::int* {
+  get getter3() → (core::int, core::int) → core::int {
     self::enableRead = false;
     return #C3;
   }
-  get getter4() → (core::int*, [core::int*]) →* core::int* {
+  get getter4() → (core::int, [core::int]) → core::int {
     self::enableRead = false;
     return #C4;
   }
-  get getter5() → ([core::int*, core::int*]) →* core::int* {
+  get getter5() → ([core::int, core::int]) → core::int {
     self::enableRead = false;
     return #C5;
   }
-  get getter6() → (core::int*, {b: core::int*}) →* core::int* {
+  get getter6() → (core::int, {b: core::int}) → core::int {
     self::enableRead = false;
     return #C6;
   }
-  get getter7() → ({a: core::int*, b: core::int*}) →* core::int* {
+  get getter7() → ({a: core::int, b: core::int}) → core::int {
     self::enableRead = false;
     return #C7;
   }
 }
-static field core::bool* enableRead = true;
-static method read(core::int* value) → core::int*
-  return self::enableRead ?{core::int*} value : 1.{core::int::unary-}(){() →* core::int*};
-static method method1() → core::int*
+static field core::bool enableRead = true;
+static method read(core::int value) → core::int
+  return self::enableRead ?{core::int} value : 1.{core::int::unary-}(){() → core::int};
+static method method1() → core::int
   return 0;
-static method method2(core::int* a) → core::int*
-  return a.{core::int::unary-}(){() →* core::int*};
-static method method3(core::int* a, core::int* b) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method4(core::int* a, [core::int* b = #C8]) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method5([core::int* a = #C8, core::int* b = #C8]) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method6(core::int* a, {core::int* b = #C8}) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method7({core::int* a = #C8, core::int* b = #C8}) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
+static method method2(core::int a) → core::int
+  return a.{core::int::unary-}(){() → core::int};
+static method method3(core::int a, core::int b) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method4(core::int a, [core::int b = #C8]) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method5([core::int a = #C8, core::int b = #C8]) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method6(core::int a, {core::int b = #C8}) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method7({core::int a = #C8, core::int b = #C8}) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
 static method main() → dynamic {
   self::callField(new self::Class::•());
   self::callGetter(new self::Class::•());
   self::callField(new self::Subclass::•());
   self::callGetter(new self::Subclass::•());
 }
-static method callField(self::Class* c) → dynamic {
+static method callField(self::Class c) → dynamic {
   self::expect(0, c.{self::Class::field1a}());
-  self::expect(0, c.{self::Class::field1b}(){() →* core::int*});
-  self::expect(42.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t1 = c in let final core::int* #t2 = self::read(42) in #t1.{self::Class::field2}(#t2){(core::int*) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t3 = c in let final core::int* #t4 = self::read(12) in let final core::int* #t5 = self::read(23) in #t3.{self::Class::field3}(#t4, #t5){(core::int*, core::int*) →* core::int*});
-  self::expect(12, let final self::Class* #t6 = c in let final core::int* #t7 = self::read(12) in #t6.{self::Class::field4}(#t7){(core::int*, [core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t8 = c in let final core::int* #t9 = self::read(12) in let final core::int* #t10 = self::read(23) in #t8.{self::Class::field4}(#t9, #t10){(core::int*, [core::int*]) →* core::int*});
-  self::expect(0, c.{self::Class::field5}(){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t11 = c in let final core::int* #t12 = self::read(12) in #t11.{self::Class::field5}(#t12){([core::int*, core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t13 = c in let final core::int* #t14 = self::read(12) in let final core::int* #t15 = self::read(23) in #t13.{self::Class::field5}(#t14, #t15){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t16 = c in let final core::int* #t17 = self::read(12) in #t16.{self::Class::field6}(#t17){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t18 = c in let final core::int* #t19 = self::read(12) in let final core::int* #t20 = self::read(23) in #t18.{self::Class::field6}(#t19, b: #t20){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(0, c.{self::Class::field7}(){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(12, let final self::Class* #t21 = c in let final core::int* #t22 = self::read(12) in #t21.{self::Class::field7}(a: #t22){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(23.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t23 = c in let final core::int* #t24 = self::read(23) in #t23.{self::Class::field7}(b: #t24){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t25 = c in let final core::int* #t26 = self::read(12) in let final core::int* #t27 = self::read(23) in #t25.{self::Class::field7}(a: #t26, b: #t27){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t28 = c in let final core::int* #t29 = self::read(23) in let final core::int* #t30 = self::read(12) in #t28.{self::Class::field7}(b: #t29, a: #t30){({a: core::int*, b: core::int*}) →* core::int*});
+  self::expect(0, c.{self::Class::field1b}(){() → core::int});
+  self::expect(42.{core::int::unary-}(){() → core::int}, let final self::Class #t1 = c in let final core::int #t2 = self::read(42) in #t1.{self::Class::field2}(#t2){(core::int) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t3 = c in let final core::int #t4 = self::read(12) in let final core::int #t5 = self::read(23) in #t3.{self::Class::field3}(#t4, #t5){(core::int, core::int) → core::int});
+  self::expect(12, let final self::Class #t6 = c in let final core::int #t7 = self::read(12) in #t6.{self::Class::field4}(#t7){(core::int, [core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t8 = c in let final core::int #t9 = self::read(12) in let final core::int #t10 = self::read(23) in #t8.{self::Class::field4}(#t9, #t10){(core::int, [core::int]) → core::int});
+  self::expect(0, c.{self::Class::field5}(){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t11 = c in let final core::int #t12 = self::read(12) in #t11.{self::Class::field5}(#t12){([core::int, core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t13 = c in let final core::int #t14 = self::read(12) in let final core::int #t15 = self::read(23) in #t13.{self::Class::field5}(#t14, #t15){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t16 = c in let final core::int #t17 = self::read(12) in #t16.{self::Class::field6}(#t17){(core::int, {b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t18 = c in let final core::int #t19 = self::read(12) in let final core::int #t20 = self::read(23) in #t18.{self::Class::field6}(#t19, b: #t20){(core::int, {b: core::int}) → core::int});
+  self::expect(0, c.{self::Class::field7}(){({a: core::int, b: core::int}) → core::int});
+  self::expect(12, let final self::Class #t21 = c in let final core::int #t22 = self::read(12) in #t21.{self::Class::field7}(a: #t22){({a: core::int, b: core::int}) → core::int});
+  self::expect(23.{core::int::unary-}(){() → core::int}, let final self::Class #t23 = c in let final core::int #t24 = self::read(23) in #t23.{self::Class::field7}(b: #t24){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t25 = c in let final core::int #t26 = self::read(12) in let final core::int #t27 = self::read(23) in #t25.{self::Class::field7}(a: #t26, b: #t27){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t28 = c in let final core::int #t29 = self::read(23) in let final core::int #t30 = self::read(12) in #t28.{self::Class::field7}(b: #t29, a: #t30){({a: core::int, b: core::int}) → core::int});
 }
-static method callGetter(self::Class* c) → dynamic {
+static method callGetter(self::Class c) → dynamic {
   self::expect(0, c.{self::Class::getter1a}());
-  self::expect(0, c.{self::Class::getter1b}(){() →* core::int*});
-  self::expect(42.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t31 = c in let final core::int* #t32 = self::read(42) in #t31.{self::Class::getter2}(#t32){(core::int*) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t33 = c in let final core::int* #t34 = self::read(12) in let final core::int* #t35 = self::read(23) in #t33.{self::Class::getter3}(#t34, #t35){(core::int*, core::int*) →* core::int*});
-  self::expect(12, let final self::Class* #t36 = c in let final core::int* #t37 = self::read(12) in #t36.{self::Class::getter4}(#t37){(core::int*, [core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t38 = c in let final core::int* #t39 = self::read(12) in let final core::int* #t40 = self::read(23) in #t38.{self::Class::getter4}(#t39, #t40){(core::int*, [core::int*]) →* core::int*});
-  self::expect(0, c.{self::Class::getter5}(){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t41 = c in let final core::int* #t42 = self::read(12) in #t41.{self::Class::getter5}(#t42){([core::int*, core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t43 = c in let final core::int* #t44 = self::read(12) in let final core::int* #t45 = self::read(23) in #t43.{self::Class::getter5}(#t44, #t45){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t46 = c in let final core::int* #t47 = self::read(12) in #t46.{self::Class::getter6}(#t47){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t48 = c in let final core::int* #t49 = self::read(12) in let final core::int* #t50 = self::read(23) in #t48.{self::Class::getter6}(#t49, b: #t50){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(0, c.{self::Class::getter7}(){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(12, let final self::Class* #t51 = c in let final core::int* #t52 = self::read(12) in #t51.{self::Class::getter7}(a: #t52){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(23.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t53 = c in let final core::int* #t54 = self::read(23) in #t53.{self::Class::getter7}(b: #t54){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t55 = c in let final core::int* #t56 = self::read(12) in let final core::int* #t57 = self::read(23) in #t55.{self::Class::getter7}(a: #t56, b: #t57){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t58 = c in let final core::int* #t59 = self::read(23) in let final core::int* #t60 = self::read(12) in #t58.{self::Class::getter7}(b: #t59, a: #t60){({a: core::int*, b: core::int*}) →* core::int*});
+  self::expect(0, c.{self::Class::getter1b}(){() → core::int});
+  self::expect(42.{core::int::unary-}(){() → core::int}, let final self::Class #t31 = c in let final core::int #t32 = self::read(42) in #t31.{self::Class::getter2}(#t32){(core::int) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t33 = c in let final core::int #t34 = self::read(12) in let final core::int #t35 = self::read(23) in #t33.{self::Class::getter3}(#t34, #t35){(core::int, core::int) → core::int});
+  self::expect(12, let final self::Class #t36 = c in let final core::int #t37 = self::read(12) in #t36.{self::Class::getter4}(#t37){(core::int, [core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t38 = c in let final core::int #t39 = self::read(12) in let final core::int #t40 = self::read(23) in #t38.{self::Class::getter4}(#t39, #t40){(core::int, [core::int]) → core::int});
+  self::expect(0, c.{self::Class::getter5}(){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t41 = c in let final core::int #t42 = self::read(12) in #t41.{self::Class::getter5}(#t42){([core::int, core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t43 = c in let final core::int #t44 = self::read(12) in let final core::int #t45 = self::read(23) in #t43.{self::Class::getter5}(#t44, #t45){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t46 = c in let final core::int #t47 = self::read(12) in #t46.{self::Class::getter6}(#t47){(core::int, {b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t48 = c in let final core::int #t49 = self::read(12) in let final core::int #t50 = self::read(23) in #t48.{self::Class::getter6}(#t49, b: #t50){(core::int, {b: core::int}) → core::int});
+  self::expect(0, c.{self::Class::getter7}(){({a: core::int, b: core::int}) → core::int});
+  self::expect(12, let final self::Class #t51 = c in let final core::int #t52 = self::read(12) in #t51.{self::Class::getter7}(a: #t52){({a: core::int, b: core::int}) → core::int});
+  self::expect(23.{core::int::unary-}(){() → core::int}, let final self::Class #t53 = c in let final core::int #t54 = self::read(23) in #t53.{self::Class::getter7}(b: #t54){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t55 = c in let final core::int #t56 = self::read(12) in let final core::int #t57 = self::read(23) in #t55.{self::Class::getter7}(a: #t56, b: #t57){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t58 = c in let final core::int #t59 = self::read(23) in let final core::int #t60 = self::read(12) in #t58.{self::Class::getter7}(b: #t59, a: #t60){({a: core::int, b: core::int}) → core::int});
 }
 static method expect(dynamic expected, dynamic actual) → dynamic {
   self::enableRead = true;
-  if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+  if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
     throw "Expected ${expected}, ${actual}";
 }
 
diff --git a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.outline.expect b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.outline.expect
index db0c796..d6bfb51 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.outline.expect
@@ -1,103 +1,93 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Class extends core::Object {
-  field core::Function* field1a;
-  field () →* core::int* field1b;
-  field (core::int*) →* core::int* field2;
-  field (core::int*, core::int*) →* core::int* field3;
-  field (core::int*, [core::int*]) →* core::int* field4;
-  field ([core::int*, core::int*]) →* core::int* field5;
-  field (core::int*, {b: core::int*}) →* core::int* field6;
-  field ({a: core::int*, b: core::int*}) →* core::int* field7;
-  synthetic constructor •() → self::Class*
+  field core::Function field1a;
+  field () → core::int field1b;
+  field (core::int) → core::int field2;
+  field (core::int, core::int) → core::int field3;
+  field (core::int, [core::int]) → core::int field4;
+  field ([core::int, core::int]) → core::int field5;
+  field (core::int, {b: core::int}) → core::int field6;
+  field ({a: core::int, b: core::int}) → core::int field7;
+  synthetic constructor •() → self::Class
     ;
-  get getter1a() → core::Function*
+  get getter1a() → core::Function
     ;
-  get getter1b() → () →* core::int*
+  get getter1b() → () → core::int
     ;
-  get getter2() → (core::int*) →* core::int*
+  get getter2() → (core::int) → core::int
     ;
-  get getter3() → (core::int*, core::int*) →* core::int*
+  get getter3() → (core::int, core::int) → core::int
     ;
-  get getter4() → (core::int*, [core::int*]) →* core::int*
+  get getter4() → (core::int, [core::int]) → core::int
     ;
-  get getter5() → ([core::int*, core::int*]) →* core::int*
+  get getter5() → ([core::int, core::int]) → core::int
     ;
-  get getter6() → (core::int*, {b: core::int*}) →* core::int*
+  get getter6() → (core::int, {b: core::int}) → core::int
     ;
-  get getter7() → ({a: core::int*, b: core::int*}) →* core::int*
+  get getter7() → ({a: core::int, b: core::int}) → 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 Subclass extends self::Class {
-  synthetic constructor •() → self::Subclass*
+  synthetic constructor •() → self::Subclass
     ;
-  get field1a() → core::Function*
+  get field1a() → core::Function
     ;
-  get field1b() → () →* core::int*
+  get field1b() → () → core::int
     ;
-  get field2() → (core::int*) →* core::int*
+  get field2() → (core::int) → core::int
     ;
-  get field3() → (core::int*, core::int*) →* core::int*
+  get field3() → (core::int, core::int) → core::int
     ;
-  get field4() → (core::int*, [core::int*]) →* core::int*
+  get field4() → (core::int, [core::int]) → core::int
     ;
-  get field5() → ([core::int*, core::int*]) →* core::int*
+  get field5() → ([core::int, core::int]) → core::int
     ;
-  get field6() → (core::int*, {b: core::int*}) →* core::int*
+  get field6() → (core::int, {b: core::int}) → core::int
     ;
-  get field7() → ({a: core::int*, b: core::int*}) →* core::int*
+  get field7() → ({a: core::int, b: core::int}) → core::int
     ;
-  get getter1a() → core::Function*
+  get getter1a() → core::Function
     ;
-  get getter1b() → () →* core::int*
+  get getter1b() → () → core::int
     ;
-  get getter2() → (core::int*) →* core::int*
+  get getter2() → (core::int) → core::int
     ;
-  get getter3() → (core::int*, core::int*) →* core::int*
+  get getter3() → (core::int, core::int) → core::int
     ;
-  get getter4() → (core::int*, [core::int*]) →* core::int*
+  get getter4() → (core::int, [core::int]) → core::int
     ;
-  get getter5() → ([core::int*, core::int*]) →* core::int*
+  get getter5() → ([core::int, core::int]) → core::int
     ;
-  get getter6() → (core::int*, {b: core::int*}) →* core::int*
+  get getter6() → (core::int, {b: core::int}) → core::int
     ;
-  get getter7() → ({a: core::int*, b: core::int*}) →* core::int*
+  get getter7() → ({a: core::int, b: core::int}) → core::int
     ;
 }
-static field core::bool* enableRead;
-static method read(core::int* value) → core::int*
+static field core::bool enableRead;
+static method read(core::int value) → core::int
   ;
-static method method1() → core::int*
+static method method1() → core::int
   ;
-static method method2(core::int* a) → core::int*
+static method method2(core::int a) → core::int
   ;
-static method method3(core::int* a, core::int* b) → core::int*
+static method method3(core::int a, core::int b) → core::int
   ;
-static method method4(core::int* a, [has-declared-initializer core::int* b]) → core::int*
+static method method4(core::int a, [has-declared-initializer core::int b]) → core::int
   ;
-static method method5([has-declared-initializer core::int* a, has-declared-initializer core::int* b]) → core::int*
+static method method5([has-declared-initializer core::int a, has-declared-initializer core::int b]) → core::int
   ;
-static method method6(core::int* a, {has-declared-initializer core::int* b}) → core::int*
+static method method6(core::int a, {has-declared-initializer core::int b}) → core::int
   ;
-static method method7({has-declared-initializer core::int* a, has-declared-initializer core::int* b}) → core::int*
+static method method7({has-declared-initializer core::int a, has-declared-initializer core::int b}) → core::int
   ;
 static method main() → dynamic
   ;
-static method callField(self::Class* c) → dynamic
+static method callField(self::Class c) → dynamic
   ;
-static method callGetter(self::Class* c) → dynamic
+static method callGetter(self::Class c) → dynamic
   ;
 static method expect(dynamic expected, dynamic actual) → dynamic
   ;
diff --git a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.transformed.expect b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.transformed.expect
index 19a91a7..9e2bb18 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.transformed.expect
@@ -1,177 +1,167 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Class extends core::Object {
-  field core::Function* field1a = #C1;
-  field () →* core::int* field1b = #C1;
-  field (core::int*) →* core::int* field2 = #C2;
-  field (core::int*, core::int*) →* core::int* field3 = #C3;
-  field (core::int*, [core::int*]) →* core::int* field4 = #C4;
-  field ([core::int*, core::int*]) →* core::int* field5 = #C5;
-  field (core::int*, {b: core::int*}) →* core::int* field6 = #C6;
-  field ({a: core::int*, b: core::int*}) →* core::int* field7 = #C7;
-  synthetic constructor •() → self::Class*
+  field core::Function field1a = #C1;
+  field () → core::int field1b = #C1;
+  field (core::int) → core::int field2 = #C2;
+  field (core::int, core::int) → core::int field3 = #C3;
+  field (core::int, [core::int]) → core::int field4 = #C4;
+  field ([core::int, core::int]) → core::int field5 = #C5;
+  field (core::int, {b: core::int}) → core::int field6 = #C6;
+  field ({a: core::int, b: core::int}) → core::int field7 = #C7;
+  synthetic constructor •() → self::Class
     : super core::Object::•()
     ;
-  get getter1a() → core::Function*
+  get getter1a() → core::Function
     return #C1;
-  get getter1b() → () →* core::int*
+  get getter1b() → () → core::int
     return #C1;
-  get getter2() → (core::int*) →* core::int*
+  get getter2() → (core::int) → core::int
     return #C2;
-  get getter3() → (core::int*, core::int*) →* core::int*
+  get getter3() → (core::int, core::int) → core::int
     return #C3;
-  get getter4() → (core::int*, [core::int*]) →* core::int*
+  get getter4() → (core::int, [core::int]) → core::int
     return #C4;
-  get getter5() → ([core::int*, core::int*]) →* core::int*
+  get getter5() → ([core::int, core::int]) → core::int
     return #C5;
-  get getter6() → (core::int*, {b: core::int*}) →* core::int*
+  get getter6() → (core::int, {b: core::int}) → core::int
     return #C6;
-  get getter7() → ({a: core::int*, b: core::int*}) →* core::int*
+  get getter7() → ({a: core::int, b: core::int}) → core::int
     return #C7;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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*
+  synthetic constructor •() → self::Subclass
     : super self::Class::•()
     ;
-  get field1a() → core::Function* {
+  get field1a() → core::Function {
     self::enableRead = false;
     return #C1;
   }
-  get field1b() → () →* core::int* {
+  get field1b() → () → core::int {
     self::enableRead = false;
     return #C1;
   }
-  get field2() → (core::int*) →* core::int* {
+  get field2() → (core::int) → core::int {
     self::enableRead = false;
     return #C2;
   }
-  get field3() → (core::int*, core::int*) →* core::int* {
+  get field3() → (core::int, core::int) → core::int {
     self::enableRead = false;
     return #C3;
   }
-  get field4() → (core::int*, [core::int*]) →* core::int* {
+  get field4() → (core::int, [core::int]) → core::int {
     self::enableRead = false;
     return #C4;
   }
-  get field5() → ([core::int*, core::int*]) →* core::int* {
+  get field5() → ([core::int, core::int]) → core::int {
     self::enableRead = false;
     return #C5;
   }
-  get field6() → (core::int*, {b: core::int*}) →* core::int* {
+  get field6() → (core::int, {b: core::int}) → core::int {
     self::enableRead = false;
     return #C6;
   }
-  get field7() → ({a: core::int*, b: core::int*}) →* core::int* {
+  get field7() → ({a: core::int, b: core::int}) → core::int {
     self::enableRead = false;
     return #C7;
   }
-  get getter1a() → core::Function* {
+  get getter1a() → core::Function {
     self::enableRead = false;
     return #C1;
   }
-  get getter1b() → () →* core::int* {
+  get getter1b() → () → core::int {
     self::enableRead = false;
     return #C1;
   }
-  get getter2() → (core::int*) →* core::int* {
+  get getter2() → (core::int) → core::int {
     self::enableRead = false;
     return #C2;
   }
-  get getter3() → (core::int*, core::int*) →* core::int* {
+  get getter3() → (core::int, core::int) → core::int {
     self::enableRead = false;
     return #C3;
   }
-  get getter4() → (core::int*, [core::int*]) →* core::int* {
+  get getter4() → (core::int, [core::int]) → core::int {
     self::enableRead = false;
     return #C4;
   }
-  get getter5() → ([core::int*, core::int*]) →* core::int* {
+  get getter5() → ([core::int, core::int]) → core::int {
     self::enableRead = false;
     return #C5;
   }
-  get getter6() → (core::int*, {b: core::int*}) →* core::int* {
+  get getter6() → (core::int, {b: core::int}) → core::int {
     self::enableRead = false;
     return #C6;
   }
-  get getter7() → ({a: core::int*, b: core::int*}) →* core::int* {
+  get getter7() → ({a: core::int, b: core::int}) → core::int {
     self::enableRead = false;
     return #C7;
   }
 }
-static field core::bool* enableRead = true;
-static method read(core::int* value) → core::int*
-  return self::enableRead ?{core::int*} value : 1.{core::int::unary-}(){() →* core::int*};
-static method method1() → core::int*
+static field core::bool enableRead = true;
+static method read(core::int value) → core::int
+  return self::enableRead ?{core::int} value : 1.{core::int::unary-}(){() → core::int};
+static method method1() → core::int
   return 0;
-static method method2(core::int* a) → core::int*
-  return a.{core::int::unary-}(){() →* core::int*};
-static method method3(core::int* a, core::int* b) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method4(core::int* a, [core::int* b = #C8]) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method5([core::int* a = #C8, core::int* b = #C8]) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method6(core::int* a, {core::int* b = #C8}) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
-static method method7({core::int* a = #C8, core::int* b = #C8}) → core::int*
-  return a.{core::num::-}(b){(core::num*) →* core::int*};
+static method method2(core::int a) → core::int
+  return a.{core::int::unary-}(){() → core::int};
+static method method3(core::int a, core::int b) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method4(core::int a, [core::int b = #C8]) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method5([core::int a = #C8, core::int b = #C8]) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method6(core::int a, {core::int b = #C8}) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
+static method method7({core::int a = #C8, core::int b = #C8}) → core::int
+  return a.{core::num::-}(b){(core::num) → core::int};
 static method main() → dynamic {
   self::callField(new self::Class::•());
   self::callGetter(new self::Class::•());
   self::callField(new self::Subclass::•());
   self::callGetter(new self::Subclass::•());
 }
-static method callField(self::Class* c) → dynamic {
+static method callField(self::Class c) → dynamic {
   self::expect(0, c.{self::Class::field1a}());
-  self::expect(0, c.{self::Class::field1b}(){() →* core::int*});
-  self::expect(42.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t1 = c in let final core::int* #t2 = self::read(42) in #t1.{self::Class::field2}(#t2){(core::int*) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t3 = c in let final core::int* #t4 = self::read(12) in let final core::int* #t5 = self::read(23) in #t3.{self::Class::field3}(#t4, #t5){(core::int*, core::int*) →* core::int*});
-  self::expect(12, let final self::Class* #t6 = c in let final core::int* #t7 = self::read(12) in #t6.{self::Class::field4}(#t7){(core::int*, [core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t8 = c in let final core::int* #t9 = self::read(12) in let final core::int* #t10 = self::read(23) in #t8.{self::Class::field4}(#t9, #t10){(core::int*, [core::int*]) →* core::int*});
-  self::expect(0, c.{self::Class::field5}(){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t11 = c in let final core::int* #t12 = self::read(12) in #t11.{self::Class::field5}(#t12){([core::int*, core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t13 = c in let final core::int* #t14 = self::read(12) in let final core::int* #t15 = self::read(23) in #t13.{self::Class::field5}(#t14, #t15){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t16 = c in let final core::int* #t17 = self::read(12) in #t16.{self::Class::field6}(#t17){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t18 = c in let final core::int* #t19 = self::read(12) in let final core::int* #t20 = self::read(23) in #t18.{self::Class::field6}(#t19, b: #t20){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(0, c.{self::Class::field7}(){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(12, let final self::Class* #t21 = c in let final core::int* #t22 = self::read(12) in #t21.{self::Class::field7}(a: #t22){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(23.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t23 = c in let final core::int* #t24 = self::read(23) in #t23.{self::Class::field7}(b: #t24){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t25 = c in let final core::int* #t26 = self::read(12) in let final core::int* #t27 = self::read(23) in #t25.{self::Class::field7}(a: #t26, b: #t27){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t28 = c in let final core::int* #t29 = self::read(23) in let final core::int* #t30 = self::read(12) in #t28.{self::Class::field7}(b: #t29, a: #t30){({a: core::int*, b: core::int*}) →* core::int*});
+  self::expect(0, c.{self::Class::field1b}(){() → core::int});
+  self::expect(42.{core::int::unary-}(){() → core::int}, let final self::Class #t1 = c in let final core::int #t2 = self::read(42) in #t1.{self::Class::field2}(#t2){(core::int) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t3 = c in let final core::int #t4 = self::read(12) in let final core::int #t5 = self::read(23) in #t3.{self::Class::field3}(#t4, #t5){(core::int, core::int) → core::int});
+  self::expect(12, let final self::Class #t6 = c in let final core::int #t7 = self::read(12) in #t6.{self::Class::field4}(#t7){(core::int, [core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t8 = c in let final core::int #t9 = self::read(12) in let final core::int #t10 = self::read(23) in #t8.{self::Class::field4}(#t9, #t10){(core::int, [core::int]) → core::int});
+  self::expect(0, c.{self::Class::field5}(){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t11 = c in let final core::int #t12 = self::read(12) in #t11.{self::Class::field5}(#t12){([core::int, core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t13 = c in let final core::int #t14 = self::read(12) in let final core::int #t15 = self::read(23) in #t13.{self::Class::field5}(#t14, #t15){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t16 = c in let final core::int #t17 = self::read(12) in #t16.{self::Class::field6}(#t17){(core::int, {b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t18 = c in let final core::int #t19 = self::read(12) in let final core::int #t20 = self::read(23) in #t18.{self::Class::field6}(#t19, b: #t20){(core::int, {b: core::int}) → core::int});
+  self::expect(0, c.{self::Class::field7}(){({a: core::int, b: core::int}) → core::int});
+  self::expect(12, let final self::Class #t21 = c in let final core::int #t22 = self::read(12) in #t21.{self::Class::field7}(a: #t22){({a: core::int, b: core::int}) → core::int});
+  self::expect(23.{core::int::unary-}(){() → core::int}, let final self::Class #t23 = c in let final core::int #t24 = self::read(23) in #t23.{self::Class::field7}(b: #t24){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t25 = c in let final core::int #t26 = self::read(12) in let final core::int #t27 = self::read(23) in #t25.{self::Class::field7}(a: #t26, b: #t27){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t28 = c in let final core::int #t29 = self::read(23) in let final core::int #t30 = self::read(12) in #t28.{self::Class::field7}(b: #t29, a: #t30){({a: core::int, b: core::int}) → core::int});
 }
-static method callGetter(self::Class* c) → dynamic {
+static method callGetter(self::Class c) → dynamic {
   self::expect(0, c.{self::Class::getter1a}());
-  self::expect(0, c.{self::Class::getter1b}(){() →* core::int*});
-  self::expect(42.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t31 = c in let final core::int* #t32 = self::read(42) in #t31.{self::Class::getter2}(#t32){(core::int*) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t33 = c in let final core::int* #t34 = self::read(12) in let final core::int* #t35 = self::read(23) in #t33.{self::Class::getter3}(#t34, #t35){(core::int*, core::int*) →* core::int*});
-  self::expect(12, let final self::Class* #t36 = c in let final core::int* #t37 = self::read(12) in #t36.{self::Class::getter4}(#t37){(core::int*, [core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t38 = c in let final core::int* #t39 = self::read(12) in let final core::int* #t40 = self::read(23) in #t38.{self::Class::getter4}(#t39, #t40){(core::int*, [core::int*]) →* core::int*});
-  self::expect(0, c.{self::Class::getter5}(){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t41 = c in let final core::int* #t42 = self::read(12) in #t41.{self::Class::getter5}(#t42){([core::int*, core::int*]) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t43 = c in let final core::int* #t44 = self::read(12) in let final core::int* #t45 = self::read(23) in #t43.{self::Class::getter5}(#t44, #t45){([core::int*, core::int*]) →* core::int*});
-  self::expect(12, let final self::Class* #t46 = c in let final core::int* #t47 = self::read(12) in #t46.{self::Class::getter6}(#t47){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t48 = c in let final core::int* #t49 = self::read(12) in let final core::int* #t50 = self::read(23) in #t48.{self::Class::getter6}(#t49, b: #t50){(core::int*, {b: core::int*}) →* core::int*});
-  self::expect(0, c.{self::Class::getter7}(){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(12, let final self::Class* #t51 = c in let final core::int* #t52 = self::read(12) in #t51.{self::Class::getter7}(a: #t52){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(23.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t53 = c in let final core::int* #t54 = self::read(23) in #t53.{self::Class::getter7}(b: #t54){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t55 = c in let final core::int* #t56 = self::read(12) in let final core::int* #t57 = self::read(23) in #t55.{self::Class::getter7}(a: #t56, b: #t57){({a: core::int*, b: core::int*}) →* core::int*});
-  self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t58 = c in let final core::int* #t59 = self::read(23) in let final core::int* #t60 = self::read(12) in #t58.{self::Class::getter7}(b: #t59, a: #t60){({a: core::int*, b: core::int*}) →* core::int*});
+  self::expect(0, c.{self::Class::getter1b}(){() → core::int});
+  self::expect(42.{core::int::unary-}(){() → core::int}, let final self::Class #t31 = c in let final core::int #t32 = self::read(42) in #t31.{self::Class::getter2}(#t32){(core::int) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t33 = c in let final core::int #t34 = self::read(12) in let final core::int #t35 = self::read(23) in #t33.{self::Class::getter3}(#t34, #t35){(core::int, core::int) → core::int});
+  self::expect(12, let final self::Class #t36 = c in let final core::int #t37 = self::read(12) in #t36.{self::Class::getter4}(#t37){(core::int, [core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t38 = c in let final core::int #t39 = self::read(12) in let final core::int #t40 = self::read(23) in #t38.{self::Class::getter4}(#t39, #t40){(core::int, [core::int]) → core::int});
+  self::expect(0, c.{self::Class::getter5}(){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t41 = c in let final core::int #t42 = self::read(12) in #t41.{self::Class::getter5}(#t42){([core::int, core::int]) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t43 = c in let final core::int #t44 = self::read(12) in let final core::int #t45 = self::read(23) in #t43.{self::Class::getter5}(#t44, #t45){([core::int, core::int]) → core::int});
+  self::expect(12, let final self::Class #t46 = c in let final core::int #t47 = self::read(12) in #t46.{self::Class::getter6}(#t47){(core::int, {b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t48 = c in let final core::int #t49 = self::read(12) in let final core::int #t50 = self::read(23) in #t48.{self::Class::getter6}(#t49, b: #t50){(core::int, {b: core::int}) → core::int});
+  self::expect(0, c.{self::Class::getter7}(){({a: core::int, b: core::int}) → core::int});
+  self::expect(12, let final self::Class #t51 = c in let final core::int #t52 = self::read(12) in #t51.{self::Class::getter7}(a: #t52){({a: core::int, b: core::int}) → core::int});
+  self::expect(23.{core::int::unary-}(){() → core::int}, let final self::Class #t53 = c in let final core::int #t54 = self::read(23) in #t53.{self::Class::getter7}(b: #t54){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t55 = c in let final core::int #t56 = self::read(12) in let final core::int #t57 = self::read(23) in #t55.{self::Class::getter7}(a: #t56, b: #t57){({a: core::int, b: core::int}) → core::int});
+  self::expect(11.{core::int::unary-}(){() → core::int}, let final self::Class #t58 = c in let final core::int #t59 = self::read(23) in let final core::int #t60 = self::read(12) in #t58.{self::Class::getter7}(b: #t59, a: #t60){({a: core::int, b: core::int}) → core::int});
 }
 static method expect(dynamic expected, dynamic actual) → dynamic {
   self::enableRead = true;
-  if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+  if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
     throw "Expected ${expected}, ${actual}";
 }
 
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 b7b47d6..8b26b24 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 116a8da..eb3e361 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,4 +1,3 @@
-// @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 4b5395b..b5116cc 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.expect
index c46c847..e14751b 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class A<T extends core::Object* = dynamic> extends core::Object {
-  field (self::A::T*) →* void f;
-  constructor •((self::A::T*) →* void f) → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+  field (self::A::T%) → void f;
+  constructor •((self::A::T%) → void f) → self::A<self::A::T%>
     : self::A::f = f, super core::Object::•()
     ;
-  method foo(covariant-by-class self::A::T* x) → dynamic
-    return let final self::A::T* #t1 = x in this.{self::A::f}(#t1){(self::A::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
+  method foo(covariant-by-class self::A::T% x) → dynamic
+    return let final self::A::T% #t1 = x in this.{self::A::f}(#t1){(self::A::T%) → void};
 }
 static method main() → dynamic {
-  new self::A::•<core::int*>((core::int* x) → Null {}).{self::A::foo}(3){(core::int*) →* dynamic};
+  new self::A::•<core::int>((core::int x) → void {}).{self::A::foo}(3){(core::int) → dynamic};
 }
diff --git a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.modular.expect b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.modular.expect
index c46c847..e14751b 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.modular.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class A<T extends core::Object* = dynamic> extends core::Object {
-  field (self::A::T*) →* void f;
-  constructor •((self::A::T*) →* void f) → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+  field (self::A::T%) → void f;
+  constructor •((self::A::T%) → void f) → self::A<self::A::T%>
     : self::A::f = f, super core::Object::•()
     ;
-  method foo(covariant-by-class self::A::T* x) → dynamic
-    return let final self::A::T* #t1 = x in this.{self::A::f}(#t1){(self::A::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
+  method foo(covariant-by-class self::A::T% x) → dynamic
+    return let final self::A::T% #t1 = x in this.{self::A::f}(#t1){(self::A::T%) → void};
 }
 static method main() → dynamic {
-  new self::A::•<core::int*>((core::int* x) → Null {}).{self::A::foo}(3){(core::int*) →* dynamic};
+  new self::A::•<core::int>((core::int x) → void {}).{self::A::foo}(3){(core::int) → dynamic};
 }
diff --git a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.outline.expect b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.outline.expect
index 5ef3cd8..71acb0c 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.outline.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class A<T extends core::Object* = dynamic> extends core::Object {
-  field (self::A::T*) →* void f;
-  constructor •((self::A::T*) →* void f) → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+  field (self::A::T%) → void f;
+  constructor •((self::A::T%) → void f) → self::A<self::A::T%>
     ;
-  method foo(covariant-by-class self::A::T* x) → dynamic
+  method foo(covariant-by-class self::A::T% 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.transformed.expect b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.transformed.expect
index c46c847..e14751b 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.transformed.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class A<T extends core::Object* = dynamic> extends core::Object {
-  field (self::A::T*) →* void f;
-  constructor •((self::A::T*) →* void f) → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+  field (self::A::T%) → void f;
+  constructor •((self::A::T%) → void f) → self::A<self::A::T%>
     : self::A::f = f, super core::Object::•()
     ;
-  method foo(covariant-by-class self::A::T* x) → dynamic
-    return let final self::A::T* #t1 = x in this.{self::A::f}(#t1){(self::A::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
+  method foo(covariant-by-class self::A::T% x) → dynamic
+    return let final self::A::T% #t1 = x in this.{self::A::f}(#t1){(self::A::T%) → void};
 }
 static method main() → dynamic {
-  new self::A::•<core::int*>((core::int* x) → Null {}).{self::A::foo}(3){(core::int*) →* dynamic};
+  new self::A::•<core::int>((core::int x) → void {}).{self::A::foo}(3){(core::int) → dynamic};
 }
diff --git a/pkg/front_end/testcases/modular.status b/pkg/front_end/testcases/modular.status
index e478644..ab59caa 100644
--- a/pkg/front_end/testcases/modular.status
+++ b/pkg/front_end/testcases/modular.status
@@ -92,4 +92,5 @@
 rasta/super_operator: TypeCheckError
 rasta/unresolved_recovery: TypeCheckError
 regress/issue_31180: TypeCheckError
+regress/issue_31180_2: TypeCheckError
 runtime_checks_new/mixin_forwarding_stub_getter: TypeCheckError
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart b/pkg/front_end/testcases/rasta/abstract_constructor.dart
index 5fd7ad1..8caa4ed 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.textual_outline.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.textual_outline.expect
index d863236..101867d 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,4 +1,3 @@
-// @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 d863236..101867d 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,4 +1,3 @@
-// @dart = 2.9
 abstract class C {}
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.expect
index bbfdd17..e4e38f1 100644
--- a/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,19 +10,9 @@
 import "dart:core" as core;
 
 abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic 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
 }
 static method main() → dynamic {
   throw new core::AbstractClassInstantiationError::•("C");
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.modular.expect
index bbfdd17..e4e38f1 100644
--- a/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,19 +10,9 @@
 import "dart:core" as core;
 
 abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic 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
 }
 static method main() → dynamic {
   throw new core::AbstractClassInstantiationError::•("C");
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.outline.expect
index dc0f127..869be6f 100644
--- a/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.outline.expect
@@ -1,20 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
+  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/rasta/abstract_constructor.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.transformed.expect
index bbfdd17..e4e38f1 100644
--- a/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,19 +10,9 @@
 import "dart:core" as core;
 
 abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic 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
 }
 static method main() → dynamic {
   throw new core::AbstractClassInstantiationError::•("C");
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart
index 5b7e744..937b755 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.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.textual_outline.expect
index db4483c..8c60ced 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,4 +1,3 @@
-// @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 db4483c..8c60ced 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.expect
index c1d156b..b4108bf 100644
--- a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,25 +11,15 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::C*
+  const constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_constructor_redirection.dart:6:21: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   const C() : this.x(1);
                     ^"
     ;
-  const constructor x() → self::C*
+  const constructor x() → 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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.modular.expect
index c1d156b..b4108bf 100644
--- a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,25 +11,15 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::C*
+  const constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_constructor_redirection.dart:6:21: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   const C() : this.x(1);
                     ^"
     ;
-  const constructor x() → self::C*
+  const constructor x() → 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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.outline.expect
index 12b1cd9..0301b7d 100644
--- a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,25 +11,15 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::C*
+  const constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_constructor_redirection.dart:6:21: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   const C() : this.x(1);
                     ^"
     ;
-  const constructor x() → self::C*
+  const constructor x() → 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.transformed.expect
index c1d156b..b4108bf 100644
--- a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,25 +11,15 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::C*
+  const constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_constructor_redirection.dart:6:21: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   const C() : this.x(1);
                     ^"
     ;
-  const constructor x() → self::C*
+  const constructor x() → 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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart b/pkg/front_end/testcases/rasta/bad_continue.dart
index d103e3e..5399f78 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 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.weak.expect b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.expect
index 755a3f3..9f22389 100644
--- a/pkg/front_end/testcases/rasta/bad_continue.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.modular.expect
index 755a3f3..9f22389 100644
--- a/pkg/front_end/testcases/rasta/bad_continue.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/bad_continue.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.transformed.expect
index 755a3f3..9f22389 100644
--- a/pkg/front_end/testcases/rasta/bad_continue.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart b/pkg/front_end/testcases/rasta/bad_default_constructor.dart
index 0678364..833743e 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.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.textual_outline.expect
index d56bf58..5f62a0e 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,4 +1,3 @@
-// @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 d56bf58..5f62a0e 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   A(x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.expect
index 864e20e..a343a16 100644
--- a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,22 +15,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → 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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : invalid-initializer
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.modular.expect
index 864e20e..a343a16 100644
--- a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,22 +15,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → 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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : invalid-initializer
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.outline.expect
index 1abde2f..28fef78 100644
--- a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.outline.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → 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*
+  synthetic constructor •() → self::B
     ;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.transformed.expect
index 864e20e..a343a16 100644
--- a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,22 +15,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → 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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : invalid-initializer
     ;
 }
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 29541d3..2936518 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.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.textual_outline.expect
index b68c9dc..a9880f1 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,4 +1,3 @@
-// @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 b68c9dc..a9880f1 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   A(x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.expect
index 930818a..c8ba5da 100644
--- a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,22 +14,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → 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 self::A /*hasConstConstructor*/  {
-  const constructor •() → self::B*
+  const constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Error: Too few positional arguments: 1 required, 0 given.
   const B() : super();
                    ^"
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.modular.expect
index 930818a..c8ba5da 100644
--- a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,22 +14,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → 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 self::A /*hasConstConstructor*/  {
-  const constructor •() → self::B*
+  const constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Error: Too few positional arguments: 1 required, 0 given.
   const B() : super();
                    ^"
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.outline.expect
index 2bbebbe..d93d006 100644
--- a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,21 +14,11 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → 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*
+  const constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Error: Too few positional arguments: 1 required, 0 given.
   const B() : super();
                    ^"
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.transformed.expect
index 930818a..c8ba5da 100644
--- a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,22 +14,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → 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 self::A /*hasConstConstructor*/  {
-  const constructor •() → self::B*
+  const constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Error: Too few positional arguments: 1 required, 0 given.
   const B() : super();
                    ^"
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 3f08dcee..e5e539c 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.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.textual_outline.expect
index 102a937..9f4c8b4 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,4 +1,3 @@
-// @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 102a937..9f4c8b4 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   A(this.x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.expect
index add2a41..d9770f0 100644
--- a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,24 +14,14 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → self::A
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:6:10: Error: 'x' isn't an instance field of this class.
   A(this.x);
          ^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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*
+  const constructor •() → self::B
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
   const B();
         ^"
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.modular.expect
index add2a41..d9770f0 100644
--- a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,24 +14,14 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → self::A
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:6:10: Error: 'x' isn't an instance field of this class.
   A(this.x);
          ^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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*
+  const constructor •() → self::B
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
   const B();
         ^"
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.outline.expect
index 7720f7e..90b7ead 100644
--- a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,21 +10,11 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → 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*
+  const constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
   const B();
         ^"
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.transformed.expect
index add2a41..d9770f0 100644
--- a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,24 +14,14 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → self::A
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:6:10: Error: 'x' isn't an instance field of this class.
   A(this.x);
          ^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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*
+  const constructor •() → self::B
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
   const B();
         ^"
diff --git a/pkg/front_end/testcases/rasta/bad_interpolation.dart b/pkg/front_end/testcases/rasta/bad_interpolation.dart
index 95f0b8d..98fd62e 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.weak.expect b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.expect
index e09a8ab..3f6b2d8 100644
--- a/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.modular.expect
index e09a8ab..3f6b2d8 100644
--- a/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.outline.expect
index 2622e7c..2f1ab42 100644
--- a/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.transformed.expect
index e09a8ab..3f6b2d8 100644
--- a/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart b/pkg/front_end/testcases/rasta/bad_redirection.dart
index c725b0a..24298ef 100644
--- a/pkg/front_end/testcases/rasta/bad_redirection.dart
+++ b/pkg/front_end/testcases/rasta/bad_redirection.dart
@@ -1,13 +1,13 @@
 // 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;
 }
 
 class Bar extends Foo {
-  factory Bar() => null;
+  factory Bar() => throw '';
 }
 
 main() {
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 16f07fc..797357e 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,8 +1,7 @@
-// @dart = 2.9
 class Foo {
   Foo() = Bar;
 }
 class Bar extends Foo {
-  factory Bar() => null;
+  factory Bar() => throw '';
 }
 main() {}
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.expect b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.expect
index e0af5b5..4aa01a5 100644
--- a/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -21,26 +21,16 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/rasta/bad_redirection.dart:6:11: Error: Constructors can't have a return type.
 Try removing the return type.
   Foo() = 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 Bar extends self::Foo {
-  static factory •() → self::Bar*
-    return null;
+  static factory •() → self::Bar
+    return throw "";
 }
 static method main() → dynamic {
   new self::Foo::•();
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.modular.expect
index e0af5b5..4aa01a5 100644
--- a/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -21,26 +21,16 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/rasta/bad_redirection.dart:6:11: Error: Constructors can't have a return type.
 Try removing the return type.
   Foo() = 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 Bar extends self::Foo {
-  static factory •() → self::Bar*
-    return null;
+  static factory •() → self::Bar
+    return throw "";
 }
 static method main() → dynamic {
   new self::Foo::•();
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.outline.expect
index 317008d..4b320ce 100644
--- a/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,21 +11,11 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  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
 }
 class Bar extends self::Foo {
-  static factory •() → self::Bar*
+  static factory •() → self::Bar
     ;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.transformed.expect
index e0af5b5..4aa01a5 100644
--- a/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -21,26 +21,16 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/rasta/bad_redirection.dart:6:11: Error: Constructors can't have a return type.
 Try removing the return type.
   Foo() = 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 Bar extends self::Foo {
-  static factory •() → self::Bar*
-    return null;
+  static factory •() → self::Bar
+    return throw "";
 }
 static method main() → dynamic {
   new self::Foo::•();
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart
index fa1fcfb..1a26aea 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.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.textual_outline.expect
index 4f7939a..02d3a33 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,4 +1,3 @@
-// @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 4f7939a..02d3a33 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   C() : field = null;
   set field(value) {}
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.expect
index 09e385e1..a71c43b 100644
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,22 +10,12 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  constructor •() → self::C*
+  constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_setter_initializer.dart:6:9: Error: 'field' isn't an instance field of this class.
   C() : field = null;
         ^^^^^"
     ;
   set field(dynamic value) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::C::•();
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.modular.expect
index 09e385e1..a71c43b 100644
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,22 +10,12 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  constructor •() → self::C*
+  constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_setter_initializer.dart:6:9: Error: 'field' isn't an instance field of this class.
   C() : field = null;
         ^^^^^"
     ;
   set field(dynamic value) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::C::•();
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.outline.expect
index 5a5ab2a..e7ae10a 100644
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.outline.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  constructor •() → self::C*
+  constructor •() → self::C
     ;
   set field(dynamic 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 method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.transformed.expect
index 09e385e1..a71c43b 100644
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,22 +10,12 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  constructor •() → self::C*
+  constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_setter_initializer.dart:6:9: Error: 'field' isn't an instance field of this class.
   C() : field = null;
         ^^^^^"
     ;
   set field(dynamic value) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::C::•();
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart b/pkg/front_end/testcases/rasta/bad_unicode.dart
index 4eef588..51c6502 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.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.expect
index 5c448ec..3274459 100644
--- a/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.modular.expect
index 5c448ec..3274459 100644
--- a/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.transformed.expect
index 5c448ec..3274459 100644
--- a/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart b/pkg/front_end/testcases/rasta/breaking_bad.dart
index 7310e3f..b82c7ed 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.textual_outline.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.expect
index b2fb346..0517025 100644
--- a/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.modular.expect
index b2fb346..0517025 100644
--- a/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.transformed.expect
index b2fb346..0517025 100644
--- a/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/cascades.dart b/pkg/front_end/testcases/rasta/cascades.dart
index 1b03e05..add829e 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.textual_outline.expect b/pkg/front_end/testcases/rasta/cascades.dart.textual_outline.expect
index 4d0ee09..014f06c 100644
--- a/pkg/front_end/testcases/rasta/cascades.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/cascades.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @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 4d0ee09..014f06c 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   add(x) => x;
 }
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.weak.expect b/pkg/front_end/testcases/rasta/cascades.dart.weak.expect
index 73ffa41..dcdfded 100644
--- a/pkg/front_end/testcases/rasta/cascades.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/cascades.dart.weak.expect
@@ -1,29 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method add(dynamic x) → dynamic
     return 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 {
-  self::A* a = new self::A::•();
+  self::A a = new self::A::•();
   function f(dynamic x) → dynamic
     return x;
-  let final self::A* #t1 = a in block {
-    #t1.{self::A::add}(f){(dynamic) →* dynamic}{dynamic}.call("WHAT");
+  let final self::A #t1 = a in block {
+    #t1.{self::A::add}(f){(dynamic) → dynamic}{dynamic}.call("WHAT");
   } =>#t1;
 }
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/cascades.dart.weak.modular.expect
index 73ffa41..dcdfded 100644
--- a/pkg/front_end/testcases/rasta/cascades.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/cascades.dart.weak.modular.expect
@@ -1,29 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method add(dynamic x) → dynamic
     return 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 {
-  self::A* a = new self::A::•();
+  self::A a = new self::A::•();
   function f(dynamic x) → dynamic
     return x;
-  let final self::A* #t1 = a in block {
-    #t1.{self::A::add}(f){(dynamic) →* dynamic}{dynamic}.call("WHAT");
+  let final self::A #t1 = a in block {
+    #t1.{self::A::add}(f){(dynamic) → dynamic}{dynamic}.call("WHAT");
   } =>#t1;
 }
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/cascades.dart.weak.outline.expect
index 3968ffd..7cf88ec 100644
--- a/pkg/front_end/testcases/rasta/cascades.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/cascades.dart.weak.outline.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
   method add(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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/cascades.dart.weak.transformed.expect
index 73ffa41..dcdfded 100644
--- a/pkg/front_end/testcases/rasta/cascades.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/cascades.dart.weak.transformed.expect
@@ -1,29 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method add(dynamic x) → dynamic
     return 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 {
-  self::A* a = new self::A::•();
+  self::A a = new self::A::•();
   function f(dynamic x) → dynamic
     return x;
-  let final self::A* #t1 = a in block {
-    #t1.{self::A::add}(f){(dynamic) →* dynamic}{dynamic}.call("WHAT");
+  let final self::A #t1 = a in block {
+    #t1.{self::A::add}(f){(dynamic) → dynamic}{dynamic}.call("WHAT");
   } =>#t1;
 }
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart b/pkg/front_end/testcases/rasta/class_hierarchy.dart
index 974a13e..8d181ce 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.textual_outline.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.textual_outline.expect
index d5772ff..4730157 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,4 +1,3 @@
-// @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 d5772ff..4730157 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,4 +1,3 @@
-// @dart = 2.9
 class A extends Missing {}
 
 class B implements Missing {}
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.expect
index b641197..34806ad 100644
--- a/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,66 +30,26 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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*
+  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 C extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::C*
+  const synthetic 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
 }
 class D extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  static factory •() → self::D*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  static factory •() → self::D
     return invalid-expression "pkg/front_end/testcases/rasta/class_hierarchy.dart:12:17: Error: Redirection constructor target not found: 'Missing'
   factory D() = Missing;
                 ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
   new self::A::•();
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.modular.expect
index b641197..34806ad 100644
--- a/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,66 +30,26 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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*
+  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 C extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::C*
+  const synthetic 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
 }
 class D extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  static factory •() → self::D*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  static factory •() → self::D
     return invalid-expression "pkg/front_end/testcases/rasta/class_hierarchy.dart:12:17: Error: Redirection constructor target not found: 'Missing'
   factory D() = Missing;
                 ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
   new self::A::•();
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.outline.expect
index b631f32..94400c1 100644
--- a/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,64 +30,24 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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*
+  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 /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::C*
+  const synthetic 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
 }
 class D extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[self::D::•];
-  static factory •() → self::D*
+  static final field dynamic _redirecting# = <dynamic>[self::D::•]/*isLegacy*/;
+  static factory •() → self::D
     return invalid-expression "pkg/front_end/testcases/rasta/class_hierarchy.dart:12:17: Error: Redirection constructor target not found: 'Missing'
   factory D() = Missing;
                 ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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/rasta/class_hierarchy.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.transformed.expect
index b641197..34806ad 100644
--- a/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,66 +30,26 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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*
+  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 C extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::C*
+  const synthetic 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
 }
 class D extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  static factory •() → self::D*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  static factory •() → self::D
     return invalid-expression "pkg/front_end/testcases/rasta/class_hierarchy.dart:12:17: Error: Redirection constructor target not found: 'Missing'
   factory D() = Missing;
                 ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
   new self::A::•();
diff --git a/pkg/front_end/testcases/rasta/class_member.dart b/pkg/front_end/testcases/rasta/class_member.dart
index 116767f..8c81300 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.textual_outline.expect b/pkg/front_end/testcases/rasta/class_member.dart.textual_outline.expect
index 12cb568..f3931ce 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,4 +1,3 @@
-// @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 3239086..2b3571b 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,4 +1,3 @@
-// @dart = 2.9
 class Foo {
   Foo.constructor1();
   Foo.constructor2();
diff --git a/pkg/front_end/testcases/rasta/class_member.dart.weak.expect b/pkg/front_end/testcases/rasta/class_member.dart.weak.expect
index e692877..7a679fb 100644
--- a/pkg/front_end/testcases/rasta/class_member.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/class_member.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
@@ -6,26 +6,16 @@
   field dynamic field1 = null;
   field dynamic field2 = null;
   field dynamic field3 = null;
-  constructor constructor1() → self::Foo*
+  constructor constructor1() → self::Foo
     : super core::Object::•()
     ;
-  constructor constructor2() → self::Foo*
+  constructor constructor2() → self::Foo
     : super core::Object::•()
     ;
-  constructor constructor3() → self::Foo*
+  constructor constructor3() → self::Foo
     : super core::Object::•()
     ;
   method a() → dynamic {}
   method b() → dynamic {}
   method c() → 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/rasta/class_member.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/class_member.dart.weak.modular.expect
index e692877..7a679fb 100644
--- a/pkg/front_end/testcases/rasta/class_member.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/class_member.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
@@ -6,26 +6,16 @@
   field dynamic field1 = null;
   field dynamic field2 = null;
   field dynamic field3 = null;
-  constructor constructor1() → self::Foo*
+  constructor constructor1() → self::Foo
     : super core::Object::•()
     ;
-  constructor constructor2() → self::Foo*
+  constructor constructor2() → self::Foo
     : super core::Object::•()
     ;
-  constructor constructor3() → self::Foo*
+  constructor constructor3() → self::Foo
     : super core::Object::•()
     ;
   method a() → dynamic {}
   method b() → dynamic {}
   method c() → 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/rasta/class_member.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/class_member.dart.weak.outline.expect
index efb8632..b272f2a 100644
--- a/pkg/front_end/testcases/rasta/class_member.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/class_member.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
@@ -6,11 +6,11 @@
   field dynamic field1;
   field dynamic field2;
   field dynamic field3;
-  constructor constructor1() → self::Foo*
+  constructor constructor1() → self::Foo
     ;
-  constructor constructor2() → self::Foo*
+  constructor constructor2() → self::Foo
     ;
-  constructor constructor3() → self::Foo*
+  constructor constructor3() → self::Foo
     ;
   method a() → dynamic
     ;
@@ -18,14 +18,4 @@
     ;
   method c() → 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/rasta/class_member.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/class_member.dart.weak.transformed.expect
index e692877..7a679fb 100644
--- a/pkg/front_end/testcases/rasta/class_member.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/class_member.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
@@ -6,26 +6,16 @@
   field dynamic field1 = null;
   field dynamic field2 = null;
   field dynamic field3 = null;
-  constructor constructor1() → self::Foo*
+  constructor constructor1() → self::Foo
     : super core::Object::•()
     ;
-  constructor constructor2() → self::Foo*
+  constructor constructor2() → self::Foo
     : super core::Object::•()
     ;
-  constructor constructor3() → self::Foo*
+  constructor constructor3() → self::Foo
     : super core::Object::•()
     ;
   method a() → dynamic {}
   method b() → dynamic {}
   method c() → 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/rasta/constant_get_and_invoke.dart b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart
index 23df9c0..3720069 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 c6e2289..6b59d01 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,3 +1,2 @@
-// @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 c6e2289..6b59d01 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,3 +1,2 @@
-// @dart = 2.9
 const c = 1;
 main() {}
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.expect
index ada899d..ad168ec 100644
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,7 +10,7 @@
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* c = #C1;
+static const field core::int c = #C1;
 static method main() → dynamic {
   #C1;
   invalid-expression "pkg/front_end/testcases/rasta/constant_get_and_invoke.dart:8:4: Error: The method 'call' isn't defined for the class 'int'.
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.modular.expect
index ada899d..ad168ec 100644
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,7 +10,7 @@
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* c = #C1;
+static const field core::int c = #C1;
 static method main() → dynamic {
   #C1;
   invalid-expression "pkg/front_end/testcases/rasta/constant_get_and_invoke.dart:8:4: Error: The method 'call' isn't defined for the class 'int'.
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.outline.expect
index 2188126..c41715b 100644
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.outline.expect
@@ -1,7 +1,7 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* c = 1;
+static const field core::int c = 1;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.transformed.expect
index ada899d..ad168ec 100644
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,7 +10,7 @@
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* c = #C1;
+static const field core::int c = #C1;
 static method main() → dynamic {
   #C1;
   invalid-expression "pkg/front_end/testcases/rasta/constant_get_and_invoke.dart:8:4: Error: The method 'call' isn't defined for the class 'int'.
diff --git a/pkg/front_end/testcases/rasta/deferred_lib.dart b/pkg/front_end/testcases/rasta/deferred_lib.dart
index e468f23..b4e6442 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_load.dart b/pkg/front_end/testcases/rasta/deferred_load.dart
index fa67dd1..1ba7abd 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 ce5481b..e513d3a 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,4 +1,3 @@
-// @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 ce5481b..e513d3a 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,4 +1,3 @@
-// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart.weak.expect b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.expect
index d01ac3d..71e6036 100644
--- a/pkg/front_end/testcases/rasta/deferred_load.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:async" as asy;
 
@@ -8,10 +8,10 @@
   #C1;
   LoadLibrary(lib);
 }
-static method _#loadLibrary_lib() → asy::Future<dynamic>*
+static method _#loadLibrary_lib() → asy::Future<dynamic>
   return LoadLibrary(lib);
 
-library deferred_lib;
+library deferred_lib /*isNonNullableByDefault*/;
 import self as self2;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.modular.expect
index d01ac3d..71e6036 100644
--- a/pkg/front_end/testcases/rasta/deferred_load.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:async" as asy;
 
@@ -8,10 +8,10 @@
   #C1;
   LoadLibrary(lib);
 }
-static method _#loadLibrary_lib() → asy::Future<dynamic>*
+static method _#loadLibrary_lib() → asy::Future<dynamic>
   return LoadLibrary(lib);
 
-library deferred_lib;
+library deferred_lib /*isNonNullableByDefault*/;
 import self as self2;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.outline.expect
index 7fe8d37..a708dd1 100644
--- a/pkg/front_end/testcases/rasta/deferred_load.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
@@ -6,7 +6,7 @@
 static method main() → dynamic
   ;
 
-library deferred_lib;
+library deferred_lib /*isNonNullableByDefault*/;
 import self as self2;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.transformed.expect
index d01ac3d..71e6036 100644
--- a/pkg/front_end/testcases/rasta/deferred_load.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:async" as asy;
 
@@ -8,10 +8,10 @@
   #C1;
   LoadLibrary(lib);
 }
-static method _#loadLibrary_lib() → asy::Future<dynamic>*
+static method _#loadLibrary_lib() → asy::Future<dynamic>
   return LoadLibrary(lib);
 
-library deferred_lib;
+library deferred_lib /*isNonNullableByDefault*/;
 import self as self2;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart b/pkg/front_end/testcases/rasta/duplicated_mixin.dart
index e47db11..09c9107 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.textual_outline.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.textual_outline.expect
index 3639d19..6da2cea 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,4 +1,3 @@
-// @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 2116733..525de0e 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,4 +1,3 @@
-// @dart = 2.9
 class A extends Object with Mixin, Mixin {}
 
 class Mixin {
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.expect
index 3324351..4a60de7 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.expect
@@ -1,44 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Mixin extends core::Object {
   field dynamic field = null;
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::Mixin
     : 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 _A&Object&Mixin = core::Object with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A&Object&Mixin*
+  synthetic constructor •() → self::_A&Object&Mixin
     : super core::Object::•()
     ;
   mixin-super-stub get field() → dynamic
     return super.{self::Mixin::field};
   mixin-super-stub set field(dynamic value) → void
     return super.{self::Mixin::field} = 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
 }
 abstract class _A&Object&Mixin&Mixin = self::_A&Object&Mixin with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A&Object&Mixin&Mixin*
+  synthetic constructor •() → self::_A&Object&Mixin&Mixin
     : super self::_A&Object&Mixin::•()
     ;
   mixin-super-stub get field() → dynamic
@@ -47,7 +27,7 @@
     return super.{self::Mixin::field} = value;
 }
 class A extends self::_A&Object&Mixin&Mixin {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super self::_A&Object&Mixin&Mixin::•()
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.modular.expect
index 3324351..4a60de7 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.modular.expect
@@ -1,44 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Mixin extends core::Object {
   field dynamic field = null;
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::Mixin
     : 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 _A&Object&Mixin = core::Object with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A&Object&Mixin*
+  synthetic constructor •() → self::_A&Object&Mixin
     : super core::Object::•()
     ;
   mixin-super-stub get field() → dynamic
     return super.{self::Mixin::field};
   mixin-super-stub set field(dynamic value) → void
     return super.{self::Mixin::field} = 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
 }
 abstract class _A&Object&Mixin&Mixin = self::_A&Object&Mixin with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A&Object&Mixin&Mixin*
+  synthetic constructor •() → self::_A&Object&Mixin&Mixin
     : super self::_A&Object&Mixin::•()
     ;
   mixin-super-stub get field() → dynamic
@@ -47,7 +27,7 @@
     return super.{self::Mixin::field} = value;
 }
 class A extends self::_A&Object&Mixin&Mixin {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super self::_A&Object&Mixin&Mixin::•()
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.outline.expect
index 49d4750..93387b2 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.outline.expect
@@ -1,43 +1,23 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Mixin extends core::Object {
   field dynamic field;
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::Mixin
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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&Object&Mixin = core::Object with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A&Object&Mixin*
+  synthetic constructor •() → self::_A&Object&Mixin
     : super core::Object::•()
     ;
   mixin-super-stub get field() → dynamic
     return super.{self::Mixin::field};
   mixin-super-stub set field(dynamic value) → void
     return super.{self::Mixin::field} = 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
 }
 abstract class _A&Object&Mixin&Mixin = self::_A&Object&Mixin with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A&Object&Mixin&Mixin*
+  synthetic constructor •() → self::_A&Object&Mixin&Mixin
     : super self::_A&Object&Mixin::•()
     ;
   mixin-super-stub get field() → dynamic
@@ -46,6 +26,6 @@
     return super.{self::Mixin::field} = value;
 }
 class A extends self::_A&Object&Mixin&Mixin {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.transformed.expect
index 82471af..8630f78 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.transformed.expect
@@ -1,47 +1,27 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Mixin extends core::Object {
   field dynamic field = null;
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::Mixin
     : 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 _A&Object&Mixin extends core::Object implements self::Mixin /*isAnonymousMixin,isEliminatedMixin*/  {
   field dynamic field = null;
-  synthetic constructor •() → self::_A&Object&Mixin*
+  synthetic constructor •() → self::_A&Object&Mixin
     : 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 _A&Object&Mixin&Mixin extends self::_A&Object&Mixin implements self::Mixin /*isAnonymousMixin,isEliminatedMixin*/  {
   field dynamic field = null;
-  synthetic constructor •() → self::_A&Object&Mixin&Mixin*
+  synthetic constructor •() → self::_A&Object&Mixin&Mixin
     : super self::_A&Object&Mixin::•()
     ;
 }
 class A extends self::_A&Object&Mixin&Mixin {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super self::_A&Object&Mixin&Mixin::•()
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/enum.dart b/pkg/front_end/testcases/rasta/enum.dart
index 617fade..58edf77 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.textual_outline.expect b/pkg/front_end/testcases/rasta/enum.dart.textual_outline.expect
index 08d5765..c0c63c5 100644
--- a/pkg/front_end/testcases/rasta/enum.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/enum.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @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 08d5765..c0c63c5 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,4 +1,3 @@
-// @dart = 2.9
 enum Foo {
   ec1,
   ec2,
diff --git a/pkg/front_end/testcases/rasta/enum.dart.weak.expect b/pkg/front_end/testcases/rasta/enum.dart.weak.expect
index ce798e5..72fd4bf 100644
--- a/pkg/front_end/testcases/rasta/enum.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/enum.dart.weak.expect
@@ -1,27 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Foo extends core::_Enum /*isEnum*/  {
-  static const field core::List<self::Foo*>* values = #C7;
-  static const field self::Foo* ec1 = #C3;
-  static const field self::Foo* ec2 = #C6;
-  const constructor •(core::int* #index, core::String* #name) → self::Foo*
+  static const field core::List<self::Foo> values = #C7;
+  static const field self::Foo ec1 = #C3;
+  static const field self::Foo ec2 = #C6;
+  const constructor •(core::int #index, core::String #name) → self::Foo
     : super core::_Enum::•(#index, #name)
     ;
-  method toString() → core::String*
+  method toString() → core::String
     return "Foo.${this.{core::_Enum::_name}{core::String}}";
-  abstract member-signature get index() → core::int*; -> core::_Enum::index
-  abstract member-signature get _name() → core::String*; -> core::_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
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/rasta/enum.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/enum.dart.weak.modular.expect
index ce798e5..72fd4bf 100644
--- a/pkg/front_end/testcases/rasta/enum.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/enum.dart.weak.modular.expect
@@ -1,27 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Foo extends core::_Enum /*isEnum*/  {
-  static const field core::List<self::Foo*>* values = #C7;
-  static const field self::Foo* ec1 = #C3;
-  static const field self::Foo* ec2 = #C6;
-  const constructor •(core::int* #index, core::String* #name) → self::Foo*
+  static const field core::List<self::Foo> values = #C7;
+  static const field self::Foo ec1 = #C3;
+  static const field self::Foo ec2 = #C6;
+  const constructor •(core::int #index, core::String #name) → self::Foo
     : super core::_Enum::•(#index, #name)
     ;
-  method toString() → core::String*
+  method toString() → core::String
     return "Foo.${this.{core::_Enum::_name}{core::String}}";
-  abstract member-signature get index() → core::int*; -> core::_Enum::index
-  abstract member-signature get _name() → core::String*; -> core::_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
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/rasta/enum.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/enum.dart.weak.outline.expect
index e98c789..6ce3e54 100644
--- a/pkg/front_end/testcases/rasta/enum.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/enum.dart.weak.outline.expect
@@ -1,27 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Foo extends core::_Enum /*isEnum*/  {
-  static const field core::List<self::Foo*>* values = const <self::Foo*>[self::Foo::ec1, self::Foo::ec2];
-  static const field self::Foo* ec1 = const self::Foo::•(0, "ec1");
-  static const field self::Foo* ec2 = const self::Foo::•(1, "ec2");
-  const constructor •(core::int* #index, core::String* #name) → self::Foo*
+  static const field core::List<self::Foo> values = const <self::Foo>[self::Foo::ec1, self::Foo::ec2];
+  static const field self::Foo ec1 = const self::Foo::•(0, "ec1");
+  static const field self::Foo ec2 = const self::Foo::•(1, "ec2");
+  const constructor •(core::int #index, core::String #name) → self::Foo
     : super core::_Enum::•(#index, #name)
     ;
-  method toString() → core::String*
+  method toString() → core::String
     return "Foo.${this.{core::_Enum::_name}{core::String}}";
-  abstract member-signature get index() → core::int*; -> core::_Enum::index
-  abstract member-signature get _name() → core::String*; -> core::_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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/enum.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/enum.dart.weak.transformed.expect
index ce798e5..72fd4bf 100644
--- a/pkg/front_end/testcases/rasta/enum.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/enum.dart.weak.transformed.expect
@@ -1,27 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Foo extends core::_Enum /*isEnum*/  {
-  static const field core::List<self::Foo*>* values = #C7;
-  static const field self::Foo* ec1 = #C3;
-  static const field self::Foo* ec2 = #C6;
-  const constructor •(core::int* #index, core::String* #name) → self::Foo*
+  static const field core::List<self::Foo> values = #C7;
+  static const field self::Foo ec1 = #C3;
+  static const field self::Foo ec2 = #C6;
+  const constructor •(core::int #index, core::String #name) → self::Foo
     : super core::_Enum::•(#index, #name)
     ;
-  method toString() → core::String*
+  method toString() → core::String
     return "Foo.${this.{core::_Enum::_name}{core::String}}";
-  abstract member-signature get index() → core::int*; -> core::_Enum::index
-  abstract member-signature get _name() → core::String*; -> core::_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
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/rasta/export.dart b/pkg/front_end/testcases/rasta/export.dart
index 34e908c..ca462cf 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 4b760d0..a55dbf5 100644
--- a/pkg/front_end/testcases/rasta/export.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/export.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @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 4b760d0..a55dbf5 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,4 +1,3 @@
-// @dart = 2.9
 library export;
 
 export 'foo.dart';
diff --git a/pkg/front_end/testcases/rasta/export.dart.weak.expect b/pkg/front_end/testcases/rasta/export.dart.weak.expect
index 6eb1e47..18c8e6a 100644
--- a/pkg/front_end/testcases/rasta/export.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/export.dart.weak.expect
@@ -1,4 +1,4 @@
-library export;
+library export /*isNonNullableByDefault*/;
 import self as self;
 import "foo.dart" as foo;
 additionalExports = (foo::foo)
@@ -6,7 +6,7 @@
 export "org-dartlang-testcase:///foo.dart";
 
 
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as foo;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/export.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/export.dart.weak.modular.expect
index 6eb1e47..18c8e6a 100644
--- a/pkg/front_end/testcases/rasta/export.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/export.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library export;
+library export /*isNonNullableByDefault*/;
 import self as self;
 import "foo.dart" as foo;
 additionalExports = (foo::foo)
@@ -6,7 +6,7 @@
 export "org-dartlang-testcase:///foo.dart";
 
 
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as foo;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/export.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/export.dart.weak.outline.expect
index e2ffc83..e6cf067 100644
--- a/pkg/front_end/testcases/rasta/export.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/export.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library export;
+library export /*isNonNullableByDefault*/;
 import self as self;
 import "foo.dart" as foo;
 additionalExports = (foo::foo)
@@ -6,7 +6,7 @@
 export "org-dartlang-testcase:///foo.dart";
 
 
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as foo;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/export.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/export.dart.weak.transformed.expect
index 6eb1e47..18c8e6a 100644
--- a/pkg/front_end/testcases/rasta/export.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/export.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library export;
+library export /*isNonNullableByDefault*/;
 import self as self;
 import "foo.dart" as foo;
 additionalExports = (foo::foo)
@@ -6,7 +6,7 @@
 export "org-dartlang-testcase:///foo.dart";
 
 
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as foo;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart b/pkg/front_end/testcases/rasta/external_factory_redirection.dart
index 6e19a02..f4833dd 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.textual_outline.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.expect
index 8b7a99d..78475b5 100644
--- a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
   "Should redirect to LinkedHashMap constructor.";
-  core::Map::•<core::Symbol*, dynamic>();
+  core::Map::•<core::Symbol, dynamic>();
 }
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.modular.expect
index 8b7a99d..78475b5 100644
--- a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.modular.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
   "Should redirect to LinkedHashMap constructor.";
-  core::Map::•<core::Symbol*, dynamic>();
+  core::Map::•<core::Symbol, dynamic>();
 }
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.transformed.expect
index 8b7a99d..78475b5 100644
--- a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.transformed.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
   "Should redirect to LinkedHashMap constructor.";
-  core::Map::•<core::Symbol*, dynamic>();
+  core::Map::•<core::Symbol, dynamic>();
 }
diff --git a/pkg/front_end/testcases/rasta/foo.dart b/pkg/front_end/testcases/rasta/foo.dart
index bb576bd..6400698 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 61dc73c..0d1b8df4 100644
--- a/pkg/front_end/testcases/rasta/foo.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/foo.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @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 61dc73c..0d1b8df4 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,4 +1,3 @@
-// @dart = 2.9
 library foo;
 
 foo() {}
diff --git a/pkg/front_end/testcases/rasta/foo.dart.weak.expect b/pkg/front_end/testcases/rasta/foo.dart.weak.expect
index 5f90b5a..112f9c3 100644
--- a/pkg/front_end/testcases/rasta/foo.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/foo.dart.weak.expect
@@ -1,4 +1,4 @@
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/foo.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/foo.dart.weak.modular.expect
index 5f90b5a..112f9c3 100644
--- a/pkg/front_end/testcases/rasta/foo.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/foo.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/foo.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/foo.dart.weak.outline.expect
index 8376691..91d38f6 100644
--- a/pkg/front_end/testcases/rasta/foo.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/foo.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as self;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/foo.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/foo.dart.weak.transformed.expect
index 5f90b5a..112f9c3 100644
--- a/pkg/front_end/testcases/rasta/foo.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/foo.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart b/pkg/front_end/testcases/rasta/for_loop.dart
index 0f25bd2..0155ab3 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 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.weak.expect b/pkg/front_end/testcases/rasta/for_loop.dart.weak.expect
index 94b2d41..0266bdd 100644
--- a/pkg/front_end/testcases/rasta/for_loop.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/for_loop.dart.weak.expect
@@ -1,13 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::int* c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*};
-  for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-    core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1);
+  core::int c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int};
+  for (core::int i = 0; i.{core::num::<}(100){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+    core::print(let final core::int #t1 = i in let final core::int #t2 = i = #t1.{core::num::+}(1){(core::num) → core::int} in #t1);
   }
-  for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; c.{core::num::<}(42){(core::num*) →* core::bool*} ?{core::int*} throw "fisk" : let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3) {
-    core::print(let final core::int* #t5 = i in let final core::int* #t6 = i = #t5.{core::num::+}(1){(core::num*) →* core::int*} in #t5);
+  for (core::int i = 0; i.{core::num::<}(100){(core::num) → core::bool}; c.{core::num::<}(42){(core::num) → core::bool} ?{core::int} throw "fisk" : let final core::int #t3 = i in let final core::int #t4 = i = #t3.{core::num::+}(1){(core::num) → core::int} in #t3) {
+    core::print(let final core::int #t5 = i in let final core::int #t6 = i = #t5.{core::num::+}(1){(core::num) → core::int} in #t5);
   }
 }
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/for_loop.dart.weak.modular.expect
index 94b2d41..0266bdd 100644
--- a/pkg/front_end/testcases/rasta/for_loop.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/for_loop.dart.weak.modular.expect
@@ -1,13 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::int* c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*};
-  for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-    core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1);
+  core::int c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int};
+  for (core::int i = 0; i.{core::num::<}(100){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+    core::print(let final core::int #t1 = i in let final core::int #t2 = i = #t1.{core::num::+}(1){(core::num) → core::int} in #t1);
   }
-  for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; c.{core::num::<}(42){(core::num*) →* core::bool*} ?{core::int*} throw "fisk" : let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3) {
-    core::print(let final core::int* #t5 = i in let final core::int* #t6 = i = #t5.{core::num::+}(1){(core::num*) →* core::int*} in #t5);
+  for (core::int i = 0; i.{core::num::<}(100){(core::num) → core::bool}; c.{core::num::<}(42){(core::num) → core::bool} ?{core::int} throw "fisk" : let final core::int #t3 = i in let final core::int #t4 = i = #t3.{core::num::+}(1){(core::num) → core::int} in #t3) {
+    core::print(let final core::int #t5 = i in let final core::int #t6 = i = #t5.{core::num::+}(1){(core::num) → core::int} in #t5);
   }
 }
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/for_loop.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/for_loop.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/for_loop.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/for_loop.dart.weak.transformed.expect
index 94b2d41..0266bdd 100644
--- a/pkg/front_end/testcases/rasta/for_loop.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/for_loop.dart.weak.transformed.expect
@@ -1,13 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::int* c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*};
-  for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-    core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1);
+  core::int c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int};
+  for (core::int i = 0; i.{core::num::<}(100){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+    core::print(let final core::int #t1 = i in let final core::int #t2 = i = #t1.{core::num::+}(1){(core::num) → core::int} in #t1);
   }
-  for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; c.{core::num::<}(42){(core::num*) →* core::bool*} ?{core::int*} throw "fisk" : let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3) {
-    core::print(let final core::int* #t5 = i in let final core::int* #t6 = i = #t5.{core::num::+}(1){(core::num*) →* core::int*} in #t5);
+  for (core::int i = 0; i.{core::num::<}(100){(core::num) → core::bool}; c.{core::num::<}(42){(core::num) → core::bool} ?{core::int} throw "fisk" : let final core::int #t3 = i in let final core::int #t4 = i = #t3.{core::num::+}(1){(core::num) → core::int} in #t3) {
+    core::print(let final core::int #t5 = i in let final core::int #t6 = i = #t5.{core::num::+}(1){(core::num) → core::int} in #t5);
   }
 }
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart b/pkg/front_end/testcases/rasta/generic_factory.dart
index a72e756..2bac5a2 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.textual_outline.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.textual_outline.expect
index 53896d3..0b8bde5 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,4 +1,3 @@
-// @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 6027134..449bfaf 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.expect
index 05e4007..644a206 100644
--- a/pkg/front_end/testcases/rasta/generic_factory.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -28,87 +28,47 @@
 import "dart:core" as core;
 
 class C1 extends core::Object {
-  synthetic constructor •() → self::C1*
+  synthetic constructor •() → self::C1
     : 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 C2 extends core::Object {
-  synthetic constructor •() → self::C2*
+  synthetic constructor •() → self::C2
     : 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 C3 extends core::Object {
-  synthetic constructor •() → self::C3*
+  synthetic constructor •() → self::C3
     : 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 A<T extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1, #C2, #C3];
-  constructor internal() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[#C1, #C2, #C3]/*isLegacy*/;
+  constructor internal() → self::A<self::A::T%>
     : super core::Object::•()
     ;
-  static factory a<T extends core::Object* = dynamic>() → self::A<self::A::a::T*>*
-    return self::B::a<self::A::a::T*>();
-  static factory b<T extends core::Object* = dynamic>() → self::A<self::A::b::T*>*
+  static factory a<T extends core::Object? = dynamic>() → self::A<self::A::a::T%>
+    return self::B::a<self::A::a::T%>();
+  static factory b<T extends core::Object? = dynamic>() → self::A<self::A::b::T%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:15:19: Error: The constructor function type 'B<C1> Function()' isn't a subtype of 'A<T> Function()'.
  - 'B' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C1' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'A' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
   factory A.b() = B<C1>.a;
                   ^";
-  static factory c<T extends core::Object* = dynamic>() → self::A<self::A::c::T*>*
+  static factory c<T extends core::Object? = dynamic>() → self::A<self::A::c::T%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:16:19: Error: Redirection constructor target not found: 'Missing'
   factory A.c() = Missing;
                   ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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<S extends core::Object* = dynamic> extends self::A<self::B::S*> {
-  static final field dynamic _redirecting# = <dynamic>[#C4, #C5];
-  constructor internal() → self::B<self::B::S*>*
+class B<S extends core::Object? = dynamic> extends self::A<self::B::S%> {
+  static final field dynamic _redirecting# = <dynamic>[#C4, #C5]/*isLegacy*/;
+  constructor internal() → self::B<self::B::S%>
     : super self::A::internal()
     ;
-  static factory a<S extends core::Object* = dynamic>() → self::B<self::B::a::S*>*
-    return new self::C::•<self::B::a::S*>();
-  static factory b<S extends core::Object* = dynamic>() → self::B<self::B::b::S*>*
+  static factory a<S extends core::Object? = dynamic>() → self::B<self::B::a::S%>
+    return new self::C::•<self::B::a::S%>();
+  static factory b<S extends core::Object? = dynamic>() → self::B<self::B::b::S%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:23:19: Error: The constructor function type 'C<C2> Function()' isn't a subtype of 'B<S> Function()'.
  - 'C' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C2' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
@@ -116,20 +76,20 @@
   factory B.b() = C<C2>;
                   ^";
 }
-class C<U extends core::Object* = dynamic> extends self::B<self::C::U*> {
-  constructor •() → self::C<self::C::U*>*
+class C<U extends core::Object? = dynamic> extends self::B<self::C::U%> {
+  constructor •() → self::C<self::C::U%>
     : super self::B::internal()
     ;
 }
 static method main() → dynamic {
-  new self::C::•<self::C3*>();
+  new self::C::•<self::C3>();
   invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:15:19: Error: The constructor function type 'B<C1> Function()' isn't a subtype of 'A<T> Function()'.
  - 'B' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C1' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'A' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
   factory A.b() = B<C1>.a;
                   ^";
-  new self::C::•<self::C3*>();
+  new self::C::•<self::C3>();
   invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:23:19: Error: The constructor function type 'C<C2> Function()' isn't a subtype of 'B<S> Function()'.
  - 'C' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C2' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.modular.expect
index 05e4007..644a206 100644
--- a/pkg/front_end/testcases/rasta/generic_factory.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -28,87 +28,47 @@
 import "dart:core" as core;
 
 class C1 extends core::Object {
-  synthetic constructor •() → self::C1*
+  synthetic constructor •() → self::C1
     : 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 C2 extends core::Object {
-  synthetic constructor •() → self::C2*
+  synthetic constructor •() → self::C2
     : 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 C3 extends core::Object {
-  synthetic constructor •() → self::C3*
+  synthetic constructor •() → self::C3
     : 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 A<T extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1, #C2, #C3];
-  constructor internal() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[#C1, #C2, #C3]/*isLegacy*/;
+  constructor internal() → self::A<self::A::T%>
     : super core::Object::•()
     ;
-  static factory a<T extends core::Object* = dynamic>() → self::A<self::A::a::T*>*
-    return self::B::a<self::A::a::T*>();
-  static factory b<T extends core::Object* = dynamic>() → self::A<self::A::b::T*>*
+  static factory a<T extends core::Object? = dynamic>() → self::A<self::A::a::T%>
+    return self::B::a<self::A::a::T%>();
+  static factory b<T extends core::Object? = dynamic>() → self::A<self::A::b::T%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:15:19: Error: The constructor function type 'B<C1> Function()' isn't a subtype of 'A<T> Function()'.
  - 'B' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C1' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'A' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
   factory A.b() = B<C1>.a;
                   ^";
-  static factory c<T extends core::Object* = dynamic>() → self::A<self::A::c::T*>*
+  static factory c<T extends core::Object? = dynamic>() → self::A<self::A::c::T%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:16:19: Error: Redirection constructor target not found: 'Missing'
   factory A.c() = Missing;
                   ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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<S extends core::Object* = dynamic> extends self::A<self::B::S*> {
-  static final field dynamic _redirecting# = <dynamic>[#C4, #C5];
-  constructor internal() → self::B<self::B::S*>*
+class B<S extends core::Object? = dynamic> extends self::A<self::B::S%> {
+  static final field dynamic _redirecting# = <dynamic>[#C4, #C5]/*isLegacy*/;
+  constructor internal() → self::B<self::B::S%>
     : super self::A::internal()
     ;
-  static factory a<S extends core::Object* = dynamic>() → self::B<self::B::a::S*>*
-    return new self::C::•<self::B::a::S*>();
-  static factory b<S extends core::Object* = dynamic>() → self::B<self::B::b::S*>*
+  static factory a<S extends core::Object? = dynamic>() → self::B<self::B::a::S%>
+    return new self::C::•<self::B::a::S%>();
+  static factory b<S extends core::Object? = dynamic>() → self::B<self::B::b::S%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:23:19: Error: The constructor function type 'C<C2> Function()' isn't a subtype of 'B<S> Function()'.
  - 'C' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C2' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
@@ -116,20 +76,20 @@
   factory B.b() = C<C2>;
                   ^";
 }
-class C<U extends core::Object* = dynamic> extends self::B<self::C::U*> {
-  constructor •() → self::C<self::C::U*>*
+class C<U extends core::Object? = dynamic> extends self::B<self::C::U%> {
+  constructor •() → self::C<self::C::U%>
     : super self::B::internal()
     ;
 }
 static method main() → dynamic {
-  new self::C::•<self::C3*>();
+  new self::C::•<self::C3>();
   invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:15:19: Error: The constructor function type 'B<C1> Function()' isn't a subtype of 'A<T> Function()'.
  - 'B' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C1' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'A' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
   factory A.b() = B<C1>.a;
                   ^";
-  new self::C::•<self::C3*>();
+  new self::C::•<self::C3>();
   invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:23:19: Error: The constructor function type 'C<C2> Function()' isn't a subtype of 'B<S> Function()'.
  - 'C' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C2' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.outline.expect
index ba2de86..e9e5b22 100644
--- a/pkg/front_end/testcases/rasta/generic_factory.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -28,82 +28,42 @@
 import "dart:core" as core;
 
 class C1 extends core::Object {
-  synthetic constructor •() → self::C1*
+  synthetic 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 {
-  synthetic constructor •() → self::C2*
+  synthetic 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 {
-  synthetic constructor •() → self::C3*
+  synthetic 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
 }
-class A<T extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[self::A::a, self::A::b, self::A::c];
-  constructor internal() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[self::A::a, self::A::b, self::A::c]/*isLegacy*/;
+  constructor internal() → self::A<self::A::T%>
     ;
-  static factory a<T extends core::Object* = dynamic>() → self::A<self::A::a::T*>*
-    return self::B::a<self::A::a::T*>();
-  static factory b<T extends core::Object* = dynamic>() → self::A<self::A::b::T*>*
+  static factory a<T extends core::Object? = dynamic>() → self::A<self::A::a::T%>
+    return self::B::a<self::A::a::T%>();
+  static factory b<T extends core::Object? = dynamic>() → self::A<self::A::b::T%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:15:19: Error: The constructor function type 'B<C1> Function()' isn't a subtype of 'A<T> Function()'.
  - 'B' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C1' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'A' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
   factory A.b() = B<C1>.a;
                   ^";
-  static factory c<T extends core::Object* = dynamic>() → self::A<self::A::c::T*>*
+  static factory c<T extends core::Object? = dynamic>() → self::A<self::A::c::T%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:16:19: Error: Redirection constructor target not found: 'Missing'
   factory A.c() = Missing;
                   ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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<S extends core::Object* = dynamic> extends self::A<self::B::S*> {
-  static final field dynamic _redirecting# = <dynamic>[self::B::a, self::B::b];
-  constructor internal() → self::B<self::B::S*>*
+class B<S extends core::Object? = dynamic> extends self::A<self::B::S%> {
+  static final field dynamic _redirecting# = <dynamic>[self::B::a, self::B::b]/*isLegacy*/;
+  constructor internal() → self::B<self::B::S%>
     ;
-  static factory a<S extends core::Object* = dynamic>() → self::B<self::B::a::S*>*
-    return new self::C::•<self::B::a::S*>();
-  static factory b<S extends core::Object* = dynamic>() → self::B<self::B::b::S*>*
+  static factory a<S extends core::Object? = dynamic>() → self::B<self::B::a::S%>
+    return new self::C::•<self::B::a::S%>();
+  static factory b<S extends core::Object? = dynamic>() → self::B<self::B::b::S%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:23:19: Error: The constructor function type 'C<C2> Function()' isn't a subtype of 'B<S> Function()'.
  - 'C' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C2' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
@@ -111,8 +71,8 @@
   factory B.b() = C<C2>;
                   ^";
 }
-class C<U extends core::Object* = dynamic> extends self::B<self::C::U*> {
-  constructor •() → self::C<self::C::U*>*
+class C<U extends core::Object? = dynamic> extends self::B<self::C::U%> {
+  constructor •() → self::C<self::C::U%>
     ;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.transformed.expect
index 05e4007..644a206 100644
--- a/pkg/front_end/testcases/rasta/generic_factory.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -28,87 +28,47 @@
 import "dart:core" as core;
 
 class C1 extends core::Object {
-  synthetic constructor •() → self::C1*
+  synthetic constructor •() → self::C1
     : 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 C2 extends core::Object {
-  synthetic constructor •() → self::C2*
+  synthetic constructor •() → self::C2
     : 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 C3 extends core::Object {
-  synthetic constructor •() → self::C3*
+  synthetic constructor •() → self::C3
     : 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 A<T extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1, #C2, #C3];
-  constructor internal() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[#C1, #C2, #C3]/*isLegacy*/;
+  constructor internal() → self::A<self::A::T%>
     : super core::Object::•()
     ;
-  static factory a<T extends core::Object* = dynamic>() → self::A<self::A::a::T*>*
-    return self::B::a<self::A::a::T*>();
-  static factory b<T extends core::Object* = dynamic>() → self::A<self::A::b::T*>*
+  static factory a<T extends core::Object? = dynamic>() → self::A<self::A::a::T%>
+    return self::B::a<self::A::a::T%>();
+  static factory b<T extends core::Object? = dynamic>() → self::A<self::A::b::T%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:15:19: Error: The constructor function type 'B<C1> Function()' isn't a subtype of 'A<T> Function()'.
  - 'B' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C1' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'A' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
   factory A.b() = B<C1>.a;
                   ^";
-  static factory c<T extends core::Object* = dynamic>() → self::A<self::A::c::T*>*
+  static factory c<T extends core::Object? = dynamic>() → self::A<self::A::c::T%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:16:19: Error: Redirection constructor target not found: 'Missing'
   factory A.c() = Missing;
                   ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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<S extends core::Object* = dynamic> extends self::A<self::B::S*> {
-  static final field dynamic _redirecting# = <dynamic>[#C4, #C5];
-  constructor internal() → self::B<self::B::S*>*
+class B<S extends core::Object? = dynamic> extends self::A<self::B::S%> {
+  static final field dynamic _redirecting# = <dynamic>[#C4, #C5]/*isLegacy*/;
+  constructor internal() → self::B<self::B::S%>
     : super self::A::internal()
     ;
-  static factory a<S extends core::Object* = dynamic>() → self::B<self::B::a::S*>*
-    return new self::C::•<self::B::a::S*>();
-  static factory b<S extends core::Object* = dynamic>() → self::B<self::B::b::S*>*
+  static factory a<S extends core::Object? = dynamic>() → self::B<self::B::a::S%>
+    return new self::C::•<self::B::a::S%>();
+  static factory b<S extends core::Object? = dynamic>() → self::B<self::B::b::S%>
     return invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:23:19: Error: The constructor function type 'C<C2> Function()' isn't a subtype of 'B<S> Function()'.
  - 'C' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C2' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
@@ -116,20 +76,20 @@
   factory B.b() = C<C2>;
                   ^";
 }
-class C<U extends core::Object* = dynamic> extends self::B<self::C::U*> {
-  constructor •() → self::C<self::C::U*>*
+class C<U extends core::Object? = dynamic> extends self::B<self::C::U%> {
+  constructor •() → self::C<self::C::U%>
     : super self::B::internal()
     ;
 }
 static method main() → dynamic {
-  new self::C::•<self::C3*>();
+  new self::C::•<self::C3>();
   invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:15:19: Error: The constructor function type 'B<C1> Function()' isn't a subtype of 'A<T> Function()'.
  - 'B' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C1' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'A' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
   factory A.b() = B<C1>.a;
                   ^";
-  new self::C::•<self::C3*>();
+  new self::C::•<self::C3>();
   invalid-expression "pkg/front_end/testcases/rasta/generic_factory.dart:23:19: Error: The constructor function type 'C<C2> Function()' isn't a subtype of 'B<S> Function()'.
  - 'C' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
  - 'C2' is from 'pkg/front_end/testcases/rasta/generic_factory.dart'.
diff --git a/pkg/front_end/testcases/rasta/hello.dart b/pkg/front_end/testcases/rasta/hello.dart
index 28a3828..671d11f 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.textual_outline.expect b/pkg/front_end/testcases/rasta/hello.dart.textual_outline.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/rasta/hello.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/hello.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/hello.dart.weak.expect b/pkg/front_end/testcases/rasta/hello.dart.weak.expect
index fea7b39..ab5dd90 100644
--- a/pkg/front_end/testcases/rasta/hello.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/hello.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/hello.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/hello.dart.weak.modular.expect
index fea7b39..ab5dd90 100644
--- a/pkg/front_end/testcases/rasta/hello.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/hello.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/hello.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/hello.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/hello.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/hello.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/hello.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/hello.dart.weak.transformed.expect
index fea7b39..ab5dd90 100644
--- a/pkg/front_end/testcases/rasta/hello.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/hello.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/import_export.dart b/pkg/front_end/testcases/rasta/import_export.dart
index c1897b3..8d6f2c4 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 27381f0..9b23e8d 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,4 +1,3 @@
-// @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 27381f0..9b23e8d 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,4 +1,3 @@
-// @dart = 2.9
 import 'export.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.weak.expect b/pkg/front_end/testcases/rasta/import_export.dart.weak.expect
index 18b095f..88d5e02 100644
--- a/pkg/front_end/testcases/rasta/import_export.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/import_export.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "foo.dart" as foo;
 
@@ -8,7 +8,7 @@
   foo::foo();
 }
 
-library export;
+library export /*isNonNullableByDefault*/;
 import self as self2;
 import "foo.dart" as foo;
 additionalExports = (foo::foo)
@@ -16,7 +16,7 @@
 export "org-dartlang-testcase:///foo.dart";
 
 
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as foo;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/import_export.dart.weak.modular.expect
index 18b095f..88d5e02 100644
--- a/pkg/front_end/testcases/rasta/import_export.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/import_export.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "foo.dart" as foo;
 
@@ -8,7 +8,7 @@
   foo::foo();
 }
 
-library export;
+library export /*isNonNullableByDefault*/;
 import self as self2;
 import "foo.dart" as foo;
 additionalExports = (foo::foo)
@@ -16,7 +16,7 @@
 export "org-dartlang-testcase:///foo.dart";
 
 
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as foo;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/import_export.dart.weak.outline.expect
index 13347c0..8d8a768 100644
--- a/pkg/front_end/testcases/rasta/import_export.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/import_export.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///export.dart";
@@ -6,7 +6,7 @@
 static method main() → dynamic
   ;
 
-library export;
+library export /*isNonNullableByDefault*/;
 import self as self2;
 import "foo.dart" as foo;
 additionalExports = (foo::foo)
@@ -14,7 +14,7 @@
 export "org-dartlang-testcase:///foo.dart";
 
 
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as foo;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/import_export.dart.weak.transformed.expect
index 18b095f..88d5e02 100644
--- a/pkg/front_end/testcases/rasta/import_export.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/import_export.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "foo.dart" as foo;
 
@@ -8,7 +8,7 @@
   foo::foo();
 }
 
-library export;
+library export /*isNonNullableByDefault*/;
 import self as self2;
 import "foo.dart" as foo;
 additionalExports = (foo::foo)
@@ -16,7 +16,7 @@
 export "org-dartlang-testcase:///foo.dart";
 
 
-library foo;
+library foo /*isNonNullableByDefault*/;
 import self as foo;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart b/pkg/front_end/testcases/rasta/issue_000001.dart
index 0be82f7..6142ebc 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 17aaaa5..e580ef6 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,3 +1,2 @@
-// @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 d9163bd..246dbef 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,3 +1,2 @@
-// @dart = 2.9
 main() {}
 test0(x) {}
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.expect
index aa235f1..53ebe7b 100644
--- a/pkg/front_end/testcases/rasta/issue_000001.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.modular.expect
index aa235f1..53ebe7b 100644
--- a/pkg/front_end/testcases/rasta/issue_000001.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.outline.expect
index 2a30a05..28f547f 100644
--- a/pkg/front_end/testcases/rasta/issue_000001.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method test0(dynamic x) → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.transformed.expect
index aa235f1..53ebe7b 100644
--- a/pkg/front_end/testcases/rasta/issue_000001.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart b/pkg/front_end/testcases/rasta/issue_000002.dart
index 34a90c9..2efd103 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.textual_outline.expect
index a8ba427..e7403ac 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,4 +1,3 @@
-// @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 f68c6b0..e19be7a 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,4 +1,3 @@
-// @dart = 2.9
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.expect
index 90a6469..23cb171 100644
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
@@ -9,24 +9,14 @@
 
 class Foo extends core::Object {
   final field dynamic value;
-  constructor •(dynamic value) → self::Foo*
+  constructor •(dynamic value) → self::Foo
     : self::Foo::value = value, super core::Object::•() {}
-  static factory fac(dynamic value) → self::Foo* {
+  static factory fac(dynamic value) → self::Foo {
     return new self::Foo::•(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
 }
-static field core::List<core::int*>* list = <core::int*>[1, 2, 3];
+static field core::List<core::int> list = <core::int>[1, 2, 3];
 static method main() → dynamic {
-  exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1){(core::int*) →* core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2);
-  exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 10);
+  exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1){(core::int) → core::int} =={core::num::==}{(core::Object) → core::bool} 2);
+  exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}{dynamic} =={core::Object::==}{(core::Object) → core::bool} 10);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.modular.expect
index 90a6469..23cb171 100644
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
@@ -9,24 +9,14 @@
 
 class Foo extends core::Object {
   final field dynamic value;
-  constructor •(dynamic value) → self::Foo*
+  constructor •(dynamic value) → self::Foo
     : self::Foo::value = value, super core::Object::•() {}
-  static factory fac(dynamic value) → self::Foo* {
+  static factory fac(dynamic value) → self::Foo {
     return new self::Foo::•(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
 }
-static field core::List<core::int*>* list = <core::int*>[1, 2, 3];
+static field core::List<core::int> list = <core::int>[1, 2, 3];
 static method main() → dynamic {
-  exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1){(core::int*) →* core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2);
-  exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 10);
+  exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1){(core::int) → core::int} =={core::num::==}{(core::Object) → core::bool} 2);
+  exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}{dynamic} =={core::Object::==}{(core::Object) → core::bool} 10);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.outline.expect
index b2a8f85..89ce850 100644
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
@@ -7,21 +7,11 @@
 
 class Foo extends core::Object {
   final field dynamic value;
-  constructor •(dynamic value) → self::Foo*
+  constructor •(dynamic value) → self::Foo
     ;
-  static factory fac(dynamic value) → self::Foo*
+  static factory fac(dynamic value) → 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
 }
-static field core::List<core::int*>* list;
+static field core::List<core::int> list;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.transformed.expect
index 8a8d79b..d7d84fb 100644
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
@@ -9,24 +9,14 @@
 
 class Foo extends core::Object {
   final field dynamic value;
-  constructor •(dynamic value) → self::Foo*
+  constructor •(dynamic value) → self::Foo
     : self::Foo::value = value, super core::Object::•() {}
-  static factory fac(dynamic value) → self::Foo* {
+  static factory fac(dynamic value) → self::Foo {
     return new self::Foo::•(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
 }
-static field core::List<core::int*>* list = core::_GrowableList::_literal3<core::int*>(1, 2, 3);
+static field core::List<core::int> list = core::_GrowableList::_literal3<core::int>(1, 2, 3);
 static method main() → dynamic {
-  exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1){(core::int*) →* core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2);
-  exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 10);
+  exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1){(core::int) → core::int} =={core::num::==}{(core::Object) → core::bool} 2);
+  exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}{dynamic} =={core::Object::==}{(core::Object) → core::bool} 10);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart b/pkg/front_end/testcases/rasta/issue_000004.dart
index e474361..1585f72 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() {
@@ -13,14 +13,14 @@
 }
 
 fact5() {
-  var f = 1, n;
+  int f = 1, n;
   for (n in [1, 2, 3, 4, 5]) {
     f *= n;
   }
   return f;
 }
 
-var global;
+int global = 0;
 fact6() {
   var f = 1;
   for (global in [1, 2, 3, 4, 5, 6]) {
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 c8f6f17..bd52987 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,8 +1,7 @@
-// @dart = 2.9
 import 'package:expect/expect.dart';
 
 fact4() {}
 fact5() {}
-var global;
+int global = 0;
 fact6() {}
 main() {}
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 92e527e..0ed1798 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,8 +1,7 @@
-// @dart = 2.9
 import 'package:expect/expect.dart';
 
 fact4() {}
 fact5() {}
 fact6() {}
+int global = 0;
 main() {}
-var global;
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.expect
index 8b66203..3ae8ff5 100644
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.expect
@@ -1,37 +1,37 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
 
 import "package:expect/expect.dart";
 
-static field dynamic global;
+static field core::int global = 0;
 static method fact4() → dynamic {
-  core::int* f = 1;
-  for (core::int* n in <core::int*>[1, 2, 3, 4]) {
-    f = f.{core::num::*}(n){(core::num*) →* core::int*};
+  core::int f = 1;
+  for (core::int n in <core::int>[1, 2, 3, 4]) {
+    f = f.{core::num::*}(n){(core::num) → core::int};
   }
   return f;
 }
 static method fact5() → dynamic {
-  core::int* f = 1;
-  dynamic n;
-  for (final dynamic #t1 in <dynamic>[1, 2, 3, 4, 5]) {
+  core::int f = 1;
+  core::int n;
+  for (final core::int #t1 in <core::int>[1, 2, 3, 4, 5]) {
     n = #t1;
-    f = f.{core::num::*}(n as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
+    f = f.{core::num::*}(n){(core::num) → core::int};
   }
   return f;
 }
 static method fact6() → dynamic {
-  core::int* f = 1;
-  for (final dynamic #t2 in <dynamic>[1, 2, 3, 4, 5, 6]) {
+  core::int f = 1;
+  for (final core::int #t2 in <core::int>[1, 2, 3, 4, 5, 6]) {
     self::global = #t2;
-    f = f.{core::num::*}(self::global as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
+    f = f.{core::num::*}(self::global){(core::num) → core::int};
   }
   return f;
 }
 static method main() → dynamic {
-  exp::Expect::isTrue(self::fact4() =={core::Object::==}{(core::Object*) →* core::bool*} 24);
-  exp::Expect::isTrue(self::fact5() =={core::Object::==}{(core::Object*) →* core::bool*} 120);
-  exp::Expect::isTrue(self::fact6() =={core::Object::==}{(core::Object*) →* core::bool*} 720);
+  exp::Expect::isTrue(self::fact4() =={core::Object::==}{(core::Object) → core::bool} 24);
+  exp::Expect::isTrue(self::fact5() =={core::Object::==}{(core::Object) → core::bool} 120);
+  exp::Expect::isTrue(self::fact6() =={core::Object::==}{(core::Object) → core::bool} 720);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.modular.expect
index 8b66203..3ae8ff5 100644
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.modular.expect
@@ -1,37 +1,37 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
 
 import "package:expect/expect.dart";
 
-static field dynamic global;
+static field core::int global = 0;
 static method fact4() → dynamic {
-  core::int* f = 1;
-  for (core::int* n in <core::int*>[1, 2, 3, 4]) {
-    f = f.{core::num::*}(n){(core::num*) →* core::int*};
+  core::int f = 1;
+  for (core::int n in <core::int>[1, 2, 3, 4]) {
+    f = f.{core::num::*}(n){(core::num) → core::int};
   }
   return f;
 }
 static method fact5() → dynamic {
-  core::int* f = 1;
-  dynamic n;
-  for (final dynamic #t1 in <dynamic>[1, 2, 3, 4, 5]) {
+  core::int f = 1;
+  core::int n;
+  for (final core::int #t1 in <core::int>[1, 2, 3, 4, 5]) {
     n = #t1;
-    f = f.{core::num::*}(n as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
+    f = f.{core::num::*}(n){(core::num) → core::int};
   }
   return f;
 }
 static method fact6() → dynamic {
-  core::int* f = 1;
-  for (final dynamic #t2 in <dynamic>[1, 2, 3, 4, 5, 6]) {
+  core::int f = 1;
+  for (final core::int #t2 in <core::int>[1, 2, 3, 4, 5, 6]) {
     self::global = #t2;
-    f = f.{core::num::*}(self::global as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
+    f = f.{core::num::*}(self::global){(core::num) → core::int};
   }
   return f;
 }
 static method main() → dynamic {
-  exp::Expect::isTrue(self::fact4() =={core::Object::==}{(core::Object*) →* core::bool*} 24);
-  exp::Expect::isTrue(self::fact5() =={core::Object::==}{(core::Object*) →* core::bool*} 120);
-  exp::Expect::isTrue(self::fact6() =={core::Object::==}{(core::Object*) →* core::bool*} 720);
+  exp::Expect::isTrue(self::fact4() =={core::Object::==}{(core::Object) → core::bool} 24);
+  exp::Expect::isTrue(self::fact5() =={core::Object::==}{(core::Object) → core::bool} 120);
+  exp::Expect::isTrue(self::fact6() =={core::Object::==}{(core::Object) → core::bool} 720);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.outline.expect
index 8358cbc..f460010 100644
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.outline.expect
@@ -1,9 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
+import "dart:core" as core;
 
 import "package:expect/expect.dart";
 
-static field dynamic global;
+static field core::int global;
 static method fact4() → dynamic
   ;
 static method fact5() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.transformed.expect
index ad7b018..0d637ca 100644
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.transformed.expect
@@ -1,55 +1,55 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
 
 import "package:expect/expect.dart";
 
-static field dynamic global;
+static field core::int global = 0;
 static method fact4() → dynamic {
-  core::int* f = 1;
+  core::int f = 1;
   {
-    core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal4<core::int*>(1, 2, 3, 4).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+    core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal4<core::int>(1, 2, 3, 4).{core::Iterable::iterator}{core::Iterator<core::int>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      core::int* n = :sync-for-iterator.{core::Iterator::current}{core::int*};
+      core::int n = :sync-for-iterator.{core::Iterator::current}{core::int};
       {
-        f = f.{core::num::*}(n){(core::num*) →* core::int*};
+        f = f.{core::num::*}(n){(core::num) → core::int};
       }
     }
   }
   return f;
 }
 static method fact5() → dynamic {
-  core::int* f = 1;
-  dynamic n;
+  core::int f = 1;
+  core::int n;
   {
-    core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal5<dynamic>(1, 2, 3, 4, 5).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+    core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal5<core::int>(1, 2, 3, 4, 5).{core::Iterable::iterator}{core::Iterator<core::int>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+      final core::int #t1 = :sync-for-iterator.{core::Iterator::current}{core::int};
       {
         n = #t1;
-        f = f.{core::num::*}(n as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
+        f = f.{core::num::*}(n){(core::num) → core::int};
       }
     }
   }
   return f;
 }
 static method fact6() → dynamic {
-  core::int* f = 1;
+  core::int f = 1;
   {
-    core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal6<dynamic>(1, 2, 3, 4, 5, 6).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+    core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal6<core::int>(1, 2, 3, 4, 5, 6).{core::Iterable::iterator}{core::Iterator<core::int>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+      final core::int #t2 = :sync-for-iterator.{core::Iterator::current}{core::int};
       {
         self::global = #t2;
-        f = f.{core::num::*}(self::global as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
+        f = f.{core::num::*}(self::global){(core::num) → core::int};
       }
     }
   }
   return f;
 }
 static method main() → dynamic {
-  exp::Expect::isTrue(self::fact4() =={core::Object::==}{(core::Object*) →* core::bool*} 24);
-  exp::Expect::isTrue(self::fact5() =={core::Object::==}{(core::Object*) →* core::bool*} 120);
-  exp::Expect::isTrue(self::fact6() =={core::Object::==}{(core::Object*) →* core::bool*} 720);
+  exp::Expect::isTrue(self::fact4() =={core::Object::==}{(core::Object) → core::bool} 24);
+  exp::Expect::isTrue(self::fact5() =={core::Object::==}{(core::Object) → core::bool} 120);
+  exp::Expect::isTrue(self::fact6() =={core::Object::==}{(core::Object) → core::bool} 720);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart b/pkg/front_end/testcases/rasta/issue_000006.dart
index d06ecc4..8883ac2 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 8959d6a..c9b955f 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,3 +1,2 @@
-// @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 2e0cfef..ef8eed0 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,3 +1,2 @@
-// @dart = 2.9
 main() {}
 var list = [1, 2, 3];
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.expect
index d8e5d49..5653d16 100644
--- a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static field core::List<core::int*>* list = <core::int*>[1, 2, 3];
+static field core::List<core::int> list = <core::int>[1, 2, 3];
 static method main() → dynamic {
-  self::list.{core::List::add}(1){(core::int*) →* void};
+  self::list.{core::List::add}(1){(core::int) → void};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.modular.expect
index d8e5d49..5653d16 100644
--- a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.modular.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static field core::List<core::int*>* list = <core::int*>[1, 2, 3];
+static field core::List<core::int> list = <core::int>[1, 2, 3];
 static method main() → dynamic {
-  self::list.{core::List::add}(1){(core::int*) →* void};
+  self::list.{core::List::add}(1){(core::int) → void};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.outline.expect
index 6de5524..46e6941 100644
--- a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.outline.expect
@@ -1,7 +1,7 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static field core::List<core::int*>* list;
+static field core::List<core::int> list;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.transformed.expect
index f8135d2..bf3446d 100644
--- a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.transformed.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static field core::List<core::int*>* list = core::_GrowableList::_literal3<core::int*>(1, 2, 3);
+static field core::List<core::int> list = core::_GrowableList::_literal3<core::int>(1, 2, 3);
 static method main() → dynamic {
-  self::list.{core::List::add}(1){(core::int*) →* void};
+  self::list.{core::List::add}(1){(core::int) → void};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart b/pkg/front_end/testcases/rasta/issue_000007.dart
index 0bd8c05..9fb1dc0 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.textual_outline.expect
index 4a5bec1..58c40fa 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,4 +1,3 @@
-// @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 4a5bec1..58c40fa 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,4 +1,3 @@
-// @dart = 2.9
 class Base {}
 
 class Mixin {
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.expect
index 6cd1688..12b10a3 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.expect
@@ -1,51 +1,31 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Base extends core::Object {
-  synthetic constructor •() → self::Base*
+  synthetic constructor •() → self::Base
     : 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 Mixin extends core::Object {
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::Mixin
     : super core::Object::•()
     ;
   method foo() → dynamic
     return core::print("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 _Sub&Base&Mixin = self::Base with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Sub&Base&Mixin*
+  synthetic constructor •() → self::_Sub&Base&Mixin
     : super self::Base::•()
     ;
   mixin-super-stub method foo() → dynamic
     return super.{self::Mixin::foo}();
 }
 class Sub extends self::_Sub&Base&Mixin {
-  synthetic constructor •() → self::Sub*
+  synthetic constructor •() → self::Sub
     : super self::_Sub&Base&Mixin::•()
     ;
 }
 static method main() → dynamic {
-  new self::Sub::•().{self::_Sub&Base&Mixin::foo}(){() →* dynamic};
+  new self::Sub::•().{self::_Sub&Base&Mixin::foo}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.modular.expect
index 6cd1688..12b10a3 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.modular.expect
@@ -1,51 +1,31 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Base extends core::Object {
-  synthetic constructor •() → self::Base*
+  synthetic constructor •() → self::Base
     : 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 Mixin extends core::Object {
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::Mixin
     : super core::Object::•()
     ;
   method foo() → dynamic
     return core::print("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 _Sub&Base&Mixin = self::Base with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Sub&Base&Mixin*
+  synthetic constructor •() → self::_Sub&Base&Mixin
     : super self::Base::•()
     ;
   mixin-super-stub method foo() → dynamic
     return super.{self::Mixin::foo}();
 }
 class Sub extends self::_Sub&Base&Mixin {
-  synthetic constructor •() → self::Sub*
+  synthetic constructor •() → self::Sub
     : super self::_Sub&Base&Mixin::•()
     ;
 }
 static method main() → dynamic {
-  new self::Sub::•().{self::_Sub&Base&Mixin::foo}(){() →* dynamic};
+  new self::Sub::•().{self::_Sub&Base&Mixin::foo}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.outline.expect
index f7c2600..f29bfaf 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.outline.expect
@@ -1,46 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Base extends core::Object {
-  synthetic constructor •() → self::Base*
+  synthetic constructor •() → self::Base
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 extends core::Object {
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::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
 }
 abstract class _Sub&Base&Mixin = self::Base with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Sub&Base&Mixin*
+  synthetic constructor •() → self::_Sub&Base&Mixin
     : super self::Base::•()
     ;
   mixin-super-stub method foo() → dynamic
     return super.{self::Mixin::foo}();
 }
 class Sub extends self::_Sub&Base&Mixin {
-  synthetic constructor •() → self::Sub*
+  synthetic constructor •() → self::Sub
     ;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.transformed.expect
index ed3512d..2e27be4 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.transformed.expect
@@ -1,51 +1,31 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Base extends core::Object {
-  synthetic constructor •() → self::Base*
+  synthetic constructor •() → self::Base
     : 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 Mixin extends core::Object {
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::Mixin
     : super core::Object::•()
     ;
   method foo() → dynamic
     return core::print("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 _Sub&Base&Mixin extends self::Base implements self::Mixin /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → self::_Sub&Base&Mixin*
+  synthetic constructor •() → self::_Sub&Base&Mixin
     : super self::Base::•()
     ;
   method foo() → dynamic
     return core::print("foo");
 }
 class Sub extends self::_Sub&Base&Mixin {
-  synthetic constructor •() → self::Sub*
+  synthetic constructor •() → self::Sub
     : super self::_Sub&Base&Mixin::•()
     ;
 }
 static method main() → dynamic {
-  new self::Sub::•().{self::_Sub&Base&Mixin::foo}(){() →* dynamic};
+  new self::Sub::•().{self::_Sub&Base&Mixin::foo}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart b/pkg/front_end/testcases/rasta/issue_000008.dart
index 0ca95b7..b9f1f6e 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.textual_outline.expect
index c38e23a..7c1de3a 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,4 +1,3 @@
-// @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 daa996e..2a92244 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   C(this.x);
   final x;
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.expect
index c1f058b..f585be1 100644
--- a/pkg/front_end/testcases/rasta/issue_000008.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   final field dynamic x;
-  constructor •(dynamic x) → self::C*
+  constructor •(dynamic x) → self::C
     : self::C::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
 }
 static method main() → dynamic {
   new self::C::•(42);
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.modular.expect
index c1f058b..f585be1 100644
--- a/pkg/front_end/testcases/rasta/issue_000008.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.modular.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   final field dynamic x;
-  constructor •(dynamic x) → self::C*
+  constructor •(dynamic x) → self::C
     : self::C::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
 }
 static method main() → dynamic {
   new self::C::•(42);
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.outline.expect
index f35d398..a050e5d 100644
--- a/pkg/front_end/testcases/rasta/issue_000008.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.outline.expect
@@ -1,21 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   final field dynamic x;
-  constructor •(dynamic x) → self::C*
+  constructor •(dynamic x) → 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/rasta/issue_000008.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.transformed.expect
index c1f058b..f585be1 100644
--- a/pkg/front_end/testcases/rasta/issue_000008.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.transformed.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   final field dynamic x;
-  constructor •(dynamic x) → self::C*
+  constructor •(dynamic x) → self::C
     : self::C::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
 }
 static method main() → dynamic {
   new self::C::•(42);
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart b/pkg/front_end/testcases/rasta/issue_000011.dart
index f50870b..26790da 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.expect
index aa88a42..ad35f83 100644
--- a/pkg/front_end/testcases/rasta/issue_000011.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.modular.expect
index aa88a42..ad35f83 100644
--- a/pkg/front_end/testcases/rasta/issue_000011.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/issue_000011.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.transformed.expect
index aa88a42..ad35f83 100644
--- a/pkg/front_end/testcases/rasta/issue_000011.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart b/pkg/front_end/testcases/rasta/issue_000012.dart
index 67306bb..94fdd2f 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.textual_outline.expect
index 3787983..fe1927c 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,4 +1,3 @@
-// @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 3787983..fe1927c 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   var field;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.expect
index e6e3429..3f9e7ae 100644
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
   field dynamic field = null;
-  synthetic constructor •() → self::A*
+  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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
   method m() → dynamic {
@@ -27,5 +17,5 @@
   }
 }
 static method main() → dynamic {
-  new self::B::•().{self::B::m}(){() →* dynamic};
+  new self::B::•().{self::B::m}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.modular.expect
index e6e3429..3f9e7ae 100644
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.modular.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
   field dynamic field = null;
-  synthetic constructor •() → self::A*
+  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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
   method m() → dynamic {
@@ -27,5 +17,5 @@
   }
 }
 static method main() → dynamic {
-  new self::B::•().{self::B::m}(){() →* dynamic};
+  new self::B::•().{self::B::m}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.outline.expect
index 18b7dde..22194a7 100644
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.outline.expect
@@ -1,24 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
   field dynamic field;
-  synthetic constructor •() → self::A*
+  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*
+  synthetic constructor •() → self::B
     ;
   method m() → dynamic
     ;
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.transformed.expect
index e6e3429..3f9e7ae 100644
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.transformed.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
   field dynamic field = null;
-  synthetic constructor •() → self::A*
+  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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
   method m() → dynamic {
@@ -27,5 +17,5 @@
   }
 }
 static method main() → dynamic {
-  new self::B::•().{self::B::m}(){() →* dynamic};
+  new self::B::•().{self::B::m}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart b/pkg/front_end/testcases/rasta/issue_000025.dart
index 097e12d..8c02ddb 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 0b87ccc..b31966b 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,4 +1,3 @@
-// @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 3267a7f..58187fc 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,4 +1,3 @@
-// @dart = 2.9
 get x => 42;
 main() {}
 set x(val) {}
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.expect
index 3be7ccc..b55303b 100644
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.modular.expect
index 3be7ccc..b55303b 100644
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.outline.expect
index 8ee979d..be9171d1 100644
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static get x() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.transformed.expect
index 3be7ccc..b55303b 100644
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart b/pkg/front_end/testcases/rasta/issue_000026.dart
index 9d52a39..dcf3b43 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.textual_outline.expect
index ffc5b40..3c6152d 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,4 +1,3 @@
-// @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 4d3f76d..ae0f47e 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   var a;
   var b = 0;
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.expect
index 9e127fd..7577b11 100644
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.expect
@@ -1,42 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic a = null;
-  field core::int* b = 0;
-  field core::int* c = 1.{core::num::+}(2){(core::num*) →* core::int*};
-  synthetic constructor •() → self::C*
+  field core::int b = 0;
+  field core::int c = 1.{core::num::+}(2){(core::num) → core::int};
+  synthetic 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
 }
 class D extends core::Object {
   field dynamic a = null;
-  field core::int* b = 1;
-  field core::int* c = 2.{core::num::-}(3){(core::num*) →* core::int*};
-  constructor •() → self::D*
+  field core::int b = 1;
+  field core::int c = 2.{core::num::-}(3){(core::num) → core::int};
+  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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.modular.expect
index 9e127fd..7577b11 100644
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.modular.expect
@@ -1,42 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic a = null;
-  field core::int* b = 0;
-  field core::int* c = 1.{core::num::+}(2){(core::num*) →* core::int*};
-  synthetic constructor •() → self::C*
+  field core::int b = 0;
+  field core::int c = 1.{core::num::+}(2){(core::num) → core::int};
+  synthetic 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
 }
 class D extends core::Object {
   field dynamic a = null;
-  field core::int* b = 1;
-  field core::int* c = 2.{core::num::-}(3){(core::num*) →* core::int*};
-  constructor •() → self::D*
+  field core::int b = 1;
+  field core::int c = 2.{core::num::-}(3){(core::num) → core::int};
+  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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.outline.expect
index 4861c8a..7f86875 100644
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.outline.expect
@@ -1,40 +1,20 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic a;
-  field core::int* b;
-  field core::int* c;
-  synthetic constructor •() → self::C*
+  field core::int b;
+  field core::int c;
+  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 {
   field dynamic a;
-  field core::int* b;
-  field core::int* c;
-  constructor •() → self::D*
+  field core::int b;
+  field core::int c;
+  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/rasta/issue_000026.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.transformed.expect
index d859b4b..5e86202 100644
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.transformed.expect
@@ -1,42 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic a = null;
-  field core::int* b = 0;
-  field core::int* c = 1.{core::num::+}(2){(core::num*) →* core::int*};
-  synthetic constructor •() → self::C*
+  field core::int b = 0;
+  field core::int c = 1.{core::num::+}(2){(core::num) → core::int};
+  synthetic 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
 }
 class D extends core::Object {
   field dynamic a = null;
-  field core::int* b = 1;
-  field core::int* c = 2.{core::num::-}(3){(core::num*) →* core::int*};
-  constructor •() → self::D*
+  field core::int b = 1;
+  field core::int c = 2.{core::num::-}(3){(core::num) → core::int};
+  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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart b/pkg/front_end/testcases/rasta/issue_000031.dart
index 4273c8c..9f6f91a 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 95f0aa9..1123642 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,4 +1,3 @@
-// @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 95f0aa9..1123642 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,4 +1,3 @@
-// @dart = 2.9
 import 'dart:math' as math;
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.expect
index 5147d08..221e303 100644
--- a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,6 +15,6 @@
   let final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000031.dart:8:3: Error: A prefix can't be used as an expression.
   math..toString();
   ^^^^" in block {
-    #t1.{core::Object::toString}(){() →* core::String*};
+    #t1.{core::Object::toString}(){() → core::String};
   } =>#t1;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.modular.expect
index 5147d08..221e303 100644
--- a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,6 +15,6 @@
   let final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000031.dart:8:3: Error: A prefix can't be used as an expression.
   math..toString();
   ^^^^" in block {
-    #t1.{core::Object::toString}(){() →* core::String*};
+    #t1.{core::Object::toString}(){() → core::String};
   } =>#t1;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.outline.expect
index d5e36cb..0458ad3 100644
--- a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:math" as math;
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.transformed.expect
index 5147d08..221e303 100644
--- a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,6 +15,6 @@
   let final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000031.dart:8:3: Error: A prefix can't be used as an expression.
   math..toString();
   ^^^^" in block {
-    #t1.{core::Object::toString}(){() →* core::String*};
+    #t1.{core::Object::toString}(){() → core::String};
   } =>#t1;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart b/pkg/front_end/testcases/rasta/issue_000032.dart
index 5273c43..21222e2 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.textual_outline.expect
index 8be752c..8c48c6f 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   C< >;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.expect
index a34f230..0d93c8b3 100644
--- a/pkg/front_end/testcases/rasta/issue_000032.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -34,19 +34,9 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic 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
 }
 static method main() → dynamic {
   invalid-expression "pkg/front_end/testcases/rasta/issue_000032.dart:10:4: Error: The operator '<' isn't defined for the class 'Type'.
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.modular.expect
index a34f230..0d93c8b3 100644
--- a/pkg/front_end/testcases/rasta/issue_000032.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -34,19 +34,9 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic 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
 }
 static method main() → dynamic {
   invalid-expression "pkg/front_end/testcases/rasta/issue_000032.dart:10:4: Error: The operator '<' isn't defined for the class 'Type'.
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.outline.expect
index dcaeb52..21a0e79 100644
--- a/pkg/front_end/testcases/rasta/issue_000032.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -19,18 +19,8 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  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/rasta/issue_000032.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.transformed.expect
index a34f230..0d93c8b3 100644
--- a/pkg/front_end/testcases/rasta/issue_000032.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -34,19 +34,9 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic 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
 }
 static method main() → dynamic {
   invalid-expression "pkg/front_end/testcases/rasta/issue_000032.dart:10:4: Error: The operator '<' isn't defined for the class 'Type'.
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart b/pkg/front_end/testcases/rasta/issue_000033.dart
index 233fde8..ddb9866 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 c9a4e6c..c4716a7 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,3 +1,2 @@
-// @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 c9a4e6c..c4716a7 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,3 +1,2 @@
-// @dart = 2.9
 @JS()
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.expect
index e288dc4..52b177c 100644
--- a/pkg/front_end/testcases/rasta/issue_000033.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.modular.expect
index e288dc4..52b177c 100644
--- a/pkg/front_end/testcases/rasta/issue_000033.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.outline.expect
index e0207cf..f57a3a2 100644
--- a/pkg/front_end/testcases/rasta/issue_000033.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.transformed.expect
index e288dc4..52b177c 100644
--- a/pkg/front_end/testcases/rasta/issue_000033.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart b/pkg/front_end/testcases/rasta/issue_000034.dart
index f242534..88fad1f 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.textual_outline.expect
index 3408df8..12b9472 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   const C() : =this.x;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.expect
index 58227f9..818d255 100644
--- a/pkg/front_end/testcases/rasta/issue_000034.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,21 +15,11 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::C*
+  const constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
   const C() : this.x;
               ^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
   invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.modular.expect
index 58227f9..818d255 100644
--- a/pkg/front_end/testcases/rasta/issue_000034.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,21 +15,11 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::C*
+  const constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
   const C() : this.x;
               ^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
   invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.outline.expect
index 6d1c18f..1121d5a 100644
--- a/pkg/front_end/testcases/rasta/issue_000034.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,21 +15,11 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::C*
+  const constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
   const C() : this.x;
               ^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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/rasta/issue_000034.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.transformed.expect
index 58227f9..818d255 100644
--- a/pkg/front_end/testcases/rasta/issue_000034.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,21 +15,11 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::C*
+  const constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
   const C() : this.x;
               ^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
   invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
diff --git a/pkg/front_end/testcases/rasta/issue_000035.dart b/pkg/front_end/testcases/rasta/issue_000035.dart
index 3893075..e3c51c1 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.weak.expect b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.expect
index d27cbe4..6712b01 100644
--- a/pkg/front_end/testcases/rasta/issue_000035.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,19 +30,9 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   abstract method æøC() → 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/rasta/issue_000035.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.modular.expect
index d27cbe4..6712b01 100644
--- a/pkg/front_end/testcases/rasta/issue_000035.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,19 +30,9 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   abstract method æøC() → 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/rasta/issue_000035.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.outline.expect
index 69b6538..8715907 100644
--- a/pkg/front_end/testcases/rasta/issue_000035.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,19 +30,9 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   abstract method æøC() → 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/rasta/issue_000035.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.transformed.expect
index d27cbe4..6712b01 100644
--- a/pkg/front_end/testcases/rasta/issue_000035.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,19 +30,9 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   abstract method æøC() → 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/rasta/issue_000035a.dart b/pkg/front_end/testcases/rasta/issue_000035a.dart
index cc8eddb..1e6c8e4 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.weak.expect b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.expect
index ffef0ea..796f231 100644
--- a/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,18 +14,8 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  constructor •() → self::C*
+  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
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.modular.expect
index ffef0ea..796f231 100644
--- a/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,18 +14,8 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  constructor •() → self::C*
+  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
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.outline.expect
index 3550e41..d07a47b 100644
--- a/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,18 +14,8 @@
 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.transformed.expect
index ffef0ea..796f231 100644
--- a/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,18 +14,8 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  constructor •() → self::C*
+  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
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart b/pkg/front_end/testcases/rasta/issue_000036.dart
index 5217d54..9f7e17f 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 e61fbfe..603c715 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,2 +1 @@
-// @dart = 2.9
 main() => a. - 5;
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.expect
index 255d67d..70b1c4c 100644
--- a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.modular.expect
index 255d67d..70b1c4c 100644
--- a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.outline.expect
index 9e8c916..3caf03b 100644
--- a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.transformed.expect
index 255d67d..70b1c4c 100644
--- a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart b/pkg/front_end/testcases/rasta/issue_000039.dart
index d3f4e5c..f9a8f85 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.textual_outline.expect
index c91fa1a..823e1c7 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,4 +1,3 @@
-// @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 1b4ac50..ab5d564 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   A(x) {}
   var a;
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.expect
index 289c890..6e1de49 100644
--- a/pkg/front_end/testcases/rasta/issue_000039.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -25,26 +25,16 @@
 
 class A extends core::Object {
   field dynamic a = null;
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → self::A
     : super core::Object::•() {
     this.{self::A::a} = invalid-expression "pkg/front_end/testcases/rasta/issue_000039.dart:10:3: Error: Expected an identifier, but got ''.
 Try inserting an identifier before ''.
   }
   ^";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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*
+  synthetic constructor •() → self::B
     : invalid-initializer
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.modular.expect
index 289c890..6e1de49 100644
--- a/pkg/front_end/testcases/rasta/issue_000039.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -25,26 +25,16 @@
 
 class A extends core::Object {
   field dynamic a = null;
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → self::A
     : super core::Object::•() {
     this.{self::A::a} = invalid-expression "pkg/front_end/testcases/rasta/issue_000039.dart:10:3: Error: Expected an identifier, but got ''.
 Try inserting an identifier before ''.
   }
   ^";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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*
+  synthetic constructor •() → self::B
     : invalid-initializer
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.outline.expect
index b14371b..dfebb22 100644
--- a/pkg/front_end/testcases/rasta/issue_000039.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.outline.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
   field dynamic a;
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → 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*
+  synthetic constructor •() → self::B
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.transformed.expect
index 289c890..6e1de49 100644
--- a/pkg/front_end/testcases/rasta/issue_000039.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -25,26 +25,16 @@
 
 class A extends core::Object {
   field dynamic a = null;
-  constructor •(dynamic x) → self::A*
+  constructor •(dynamic x) → self::A
     : super core::Object::•() {
     this.{self::A::a} = invalid-expression "pkg/front_end/testcases/rasta/issue_000039.dart:10:3: Error: Expected an identifier, but got ''.
 Try inserting an identifier before ''.
   }
   ^";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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*
+  synthetic constructor •() → self::B
     : invalid-initializer
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart b/pkg/front_end/testcases/rasta/issue_000041.dart
index daa1552..4035fd7 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.textual_outline.expect
index 84a5be7..0690e46 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,4 +1,3 @@
-// @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 cb89a89..57013ed 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   test() {}
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.expect
index 2026340..5861f1a 100644
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -16,7 +16,7 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method test() → dynamic {
@@ -27,19 +27,9 @@
     use(+super);
          ^^^^^"));
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 use(dynamic _) → dynamic
   return null;
 static method main() → dynamic {
-  new self::C::•().{self::C::test}(){() →* dynamic};
+  new self::C::•().{self::C::test}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.modular.expect
index 2026340..5861f1a 100644
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -16,7 +16,7 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method test() → dynamic {
@@ -27,19 +27,9 @@
     use(+super);
          ^^^^^"));
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 use(dynamic _) → dynamic
   return null;
 static method main() → dynamic {
-  new self::C::•().{self::C::test}(){() →* dynamic};
+  new self::C::•().{self::C::test}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.outline.expect
index a6f1d9e..3c8fc9d 100644
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.outline.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   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 operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 use(dynamic _) → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.transformed.expect
index 2026340..5861f1a 100644
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -16,7 +16,7 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method test() → dynamic {
@@ -27,19 +27,9 @@
     use(+super);
          ^^^^^"));
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 use(dynamic _) → dynamic
   return null;
 static method main() → dynamic {
-  new self::C::•().{self::C::test}(){() →* dynamic};
+  new self::C::•().{self::C::test}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart b/pkg/front_end/testcases/rasta/issue_000042.dart
index 22dc017..66893b8 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.expect
index 2abfb5d..126f745 100644
--- a/pkg/front_end/testcases/rasta/issue_000042.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -59,7 +59,7 @@
   }
   try {
   }
-  on core::NoSuchMethodError* catch(no-exception-var) {
+  on core::NoSuchMethodError catch(no-exception-var) {
   }
 }
 
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.modular.expect
index 2abfb5d..126f745 100644
--- a/pkg/front_end/testcases/rasta/issue_000042.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -59,7 +59,7 @@
   }
   try {
   }
-  on core::NoSuchMethodError* catch(no-exception-var) {
+  on core::NoSuchMethodError catch(no-exception-var) {
   }
 }
 
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/issue_000042.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.transformed.expect
index 590cdfe..a324650 100644
--- a/pkg/front_end/testcases/rasta/issue_000042.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -29,7 +29,7 @@
   for (var x, y in []) {}
        ^^^";
     {
-      core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -65,7 +65,7 @@
   }
   try {
   }
-  on core::NoSuchMethodError* catch(no-exception-var) {
+  on core::NoSuchMethodError catch(no-exception-var) {
   }
 }
 
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart b/pkg/front_end/testcases/rasta/issue_000043.dart
index 1270b5f..4aed858 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.textual_outline.expect
index 7a44294..6bc9bc7 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,4 +1,3 @@
-// @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 7a44294..6bc9bc7 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   get x => '$C'.hashCode;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.expect
index 0c2f2cb..5bde0a6 100644
--- a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   get x() → dynamic
-    return "${#C1}".{core::String::hashCode}{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
+    return "${#C1}".{core::String::hashCode}{core::int};
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.modular.expect
index 0c2f2cb..5bde0a6 100644
--- a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.modular.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   get x() → dynamic
-    return "${#C1}".{core::String::hashCode}{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
+    return "${#C1}".{core::String::hashCode}{core::int};
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.outline.expect
index ecd284d..2e2c331 100644
--- a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.outline.expect
@@ -1,20 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   get 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
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.transformed.expect
index 0c2f2cb..5bde0a6 100644
--- a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.transformed.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   get x() → dynamic
-    return "${#C1}".{core::String::hashCode}{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
+    return "${#C1}".{core::String::hashCode}{core::int};
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart b/pkg/front_end/testcases/rasta/issue_000044.dart
index e89cfc0..cfc938a 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;
@@ -22,7 +22,7 @@
 }
 
 main() {
-  C c = null;
+  C? c = null;
   print(const C.constant());
   print(const C.missingFactoryKeyword());
   print(const C.good());
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 07b098c..b728ed6 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,4 +1,3 @@
-// @dart = 2.9
 a b(c) = d;
 class C {
   const C.constant();
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.expect
index 90f96dd..986d518 100644
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -34,10 +34,6 @@
 //   C.missingFactoryKeyword() = C.constant;
 //                             ^
 //
-// pkg/front_end/testcases/rasta/issue_000044.dart:14:33: Error: Member not found: 'constant'.
-//   C.missingFactoryKeyword() = C.constant;
-//                                 ^^^^^^^^
-//
 // pkg/front_end/testcases/rasta/issue_000044.dart:14:31: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   C.missingFactoryKeyword() = C.constant;
@@ -63,48 +59,38 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  const constructor constant() → self::C*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  const constructor constant() → self::C
     : super core::Object::•()
     ;
-  constructor missingFactoryKeyword() → self::C*
+  constructor missingFactoryKeyword() → self::C
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:14:31: Error: Constructors can't have a return type.
 Try removing the return type.
   C.missingFactoryKeyword() = C.constant;
                               ^";
-  static factory good() → self::C*
+  static factory good() → self::C
     return new self::C::constant();
-  method notEvenAConstructor(dynamic a) → self::C*
+  method notEvenAConstructor(dynamic a) → self::C
     return invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:21:30: Error: The getter 'h' isn't defined for the class 'C'.
  - 'C' is from 'pkg/front_end/testcases/rasta/issue_000044.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'h'.
   C notEvenAConstructor(a) = h;
-                             ^" in this{<unresolved>}.h as{TypeError,ForDynamic} 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
+                             ^" in this{<unresolved>}.h as{TypeError,ForDynamic,ForNonNullableByDefault} self::C;
 }
 static method b(dynamic c) → invalid-type
   return invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:7:10: Error: Undefined name 'd'.
 a b(c) = d;
          ^";
 static method main() → dynamic {
-  has-declared-initializer self::C* c = null;
+  has-declared-initializer self::C? c = null;
   core::print(#C2);
   core::print(invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:27:15: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
   print(const C.missingFactoryKeyword());
               ^");
   core::print(#C2);
-  core::print(new self::C::constant().{self::C::notEvenAConstructor}(null){(dynamic) →* self::C*});
+  core::print(new self::C::constant().{self::C::notEvenAConstructor}(null){(dynamic) → self::C});
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.modular.expect
index 90f96dd..986d518 100644
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -34,10 +34,6 @@
 //   C.missingFactoryKeyword() = C.constant;
 //                             ^
 //
-// pkg/front_end/testcases/rasta/issue_000044.dart:14:33: Error: Member not found: 'constant'.
-//   C.missingFactoryKeyword() = C.constant;
-//                                 ^^^^^^^^
-//
 // pkg/front_end/testcases/rasta/issue_000044.dart:14:31: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   C.missingFactoryKeyword() = C.constant;
@@ -63,48 +59,38 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  const constructor constant() → self::C*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  const constructor constant() → self::C
     : super core::Object::•()
     ;
-  constructor missingFactoryKeyword() → self::C*
+  constructor missingFactoryKeyword() → self::C
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:14:31: Error: Constructors can't have a return type.
 Try removing the return type.
   C.missingFactoryKeyword() = C.constant;
                               ^";
-  static factory good() → self::C*
+  static factory good() → self::C
     return new self::C::constant();
-  method notEvenAConstructor(dynamic a) → self::C*
+  method notEvenAConstructor(dynamic a) → self::C
     return invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:21:30: Error: The getter 'h' isn't defined for the class 'C'.
  - 'C' is from 'pkg/front_end/testcases/rasta/issue_000044.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'h'.
   C notEvenAConstructor(a) = h;
-                             ^" in this{<unresolved>}.h as{TypeError,ForDynamic} 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
+                             ^" in this{<unresolved>}.h as{TypeError,ForDynamic,ForNonNullableByDefault} self::C;
 }
 static method b(dynamic c) → invalid-type
   return invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:7:10: Error: Undefined name 'd'.
 a b(c) = d;
          ^";
 static method main() → dynamic {
-  has-declared-initializer self::C* c = null;
+  has-declared-initializer self::C? c = null;
   core::print(#C2);
   core::print(invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:27:15: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
   print(const C.missingFactoryKeyword());
               ^");
   core::print(#C2);
-  core::print(new self::C::constant().{self::C::notEvenAConstructor}(null){(dynamic) →* self::C*});
+  core::print(new self::C::constant().{self::C::notEvenAConstructor}(null){(dynamic) → self::C});
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.outline.expect
index 19384f6..4d09beb 100644
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -29,26 +29,16 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  static final field dynamic _redirecting# = <dynamic>[self::C::good];
-  const constructor constant() → self::C*
+  static final field dynamic _redirecting# = <dynamic>[self::C::good]/*isLegacy*/;
+  const constructor constant() → self::C
     : super core::Object::•()
     ;
-  constructor missingFactoryKeyword() → self::C*
+  constructor missingFactoryKeyword() → self::C
     ;
-  static factory good() → self::C*
+  static factory good() → self::C
     return new self::C::constant();
-  method notEvenAConstructor(dynamic a) → self::C*
+  method notEvenAConstructor(dynamic a) → 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 b(dynamic c) → invalid-type
   ;
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.transformed.expect
index b9617cd..2578fd4 100644
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -34,10 +34,6 @@
 //   C.missingFactoryKeyword() = C.constant;
 //                             ^
 //
-// pkg/front_end/testcases/rasta/issue_000044.dart:14:33: Error: Member not found: 'constant'.
-//   C.missingFactoryKeyword() = C.constant;
-//                                 ^^^^^^^^
-//
 // pkg/front_end/testcases/rasta/issue_000044.dart:14:31: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   C.missingFactoryKeyword() = C.constant;
@@ -63,48 +59,38 @@
 import "dart:core" as core;
 
 class C extends core::Object /*hasConstConstructor*/  {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  const constructor constant() → self::C*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  const constructor constant() → self::C
     : super core::Object::•()
     ;
-  constructor missingFactoryKeyword() → self::C*
+  constructor missingFactoryKeyword() → self::C
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:14:31: Error: Constructors can't have a return type.
 Try removing the return type.
   C.missingFactoryKeyword() = C.constant;
                               ^";
-  static factory good() → self::C*
+  static factory good() → self::C
     return new self::C::constant();
-  method notEvenAConstructor(dynamic a) → self::C*
+  method notEvenAConstructor(dynamic a) → self::C
     return invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:21:30: Error: The getter 'h' isn't defined for the class 'C'.
  - 'C' is from 'pkg/front_end/testcases/rasta/issue_000044.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'h'.
   C notEvenAConstructor(a) = h;
                              ^" in this{<unresolved>}.h;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 b(dynamic c) → invalid-type
   return invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:7:10: Error: Undefined name 'd'.
 a b(c) = d;
          ^";
 static method main() → dynamic {
-  has-declared-initializer self::C* c = null;
+  has-declared-initializer self::C? c = null;
   core::print(#C2);
   core::print(invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:27:15: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
   print(const C.missingFactoryKeyword());
               ^");
   core::print(#C2);
-  core::print(new self::C::constant().{self::C::notEvenAConstructor}(null){(dynamic) →* self::C*});
+  core::print(new self::C::constant().{self::C::notEvenAConstructor}(null){(dynamic) → self::C});
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/issue_000045.dart b/pkg/front_end/testcases/rasta/issue_000045.dart
index e726ad1..f8c7e61 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.weak.expect b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.expect
index 2622c42..b429026 100644
--- a/pkg/front_end/testcases/rasta/issue_000045.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000045.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.modular.expect
index 2622c42..b429026 100644
--- a/pkg/front_end/testcases/rasta/issue_000045.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000045.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.outline.expect
index 562267f..7f7be6c 100644
--- a/pkg/front_end/testcases/rasta/issue_000045.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000045.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.transformed.expect
index c9a26da..0efdb30 100644
--- a/pkg/front_end/testcases/rasta/issue_000045.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart b/pkg/front_end/testcases/rasta/issue_000046.dart
index b2b8b58..fe8fc70 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.textual_outline.expect
index fe72a78..0b29b47 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   C c = new Object();
   )
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.expect
index 77f4768..e9f6d2e 100644
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -19,10 +19,9 @@
 //   C c = new Object)();
 //                    ^
 //
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: The constructor returns type 'Object' that isn't of expected type 'C'.
+// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
 //  - 'Object' is from 'dart:core'.
 //  - 'C' is from 'pkg/front_end/testcases/rasta/issue_000046.dart'.
-// Change the type of the object being constructed or the context in which it is used.
 //   C c = new Object)();
 //             ^
 //
@@ -30,23 +29,12 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  field self::C* c = invalid-expression "pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: The constructor returns type 'Object' that isn't of expected type 'C'.
+  field self::C c = invalid-expression "pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
  - 'Object' is from 'dart:core'.
  - 'C' is from 'pkg/front_end/testcases/rasta/issue_000046.dart'.
-Change the type of the object being constructed or the context in which it is used.
   C c = new Object)();
-            ^" in new core::Object::•();
-  synthetic constructor •() → self::C*
+            ^" in new core::Object::•() as{TypeError,ForNonNullableByDefault} self::C;
+  synthetic 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/rasta/issue_000046.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.modular.expect
index 77f4768..e9f6d2e 100644
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -19,10 +19,9 @@
 //   C c = new Object)();
 //                    ^
 //
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: The constructor returns type 'Object' that isn't of expected type 'C'.
+// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
 //  - 'Object' is from 'dart:core'.
 //  - 'C' is from 'pkg/front_end/testcases/rasta/issue_000046.dart'.
-// Change the type of the object being constructed or the context in which it is used.
 //   C c = new Object)();
 //             ^
 //
@@ -30,23 +29,12 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  field self::C* c = invalid-expression "pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: The constructor returns type 'Object' that isn't of expected type 'C'.
+  field self::C c = invalid-expression "pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
  - 'Object' is from 'dart:core'.
  - 'C' is from 'pkg/front_end/testcases/rasta/issue_000046.dart'.
-Change the type of the object being constructed or the context in which it is used.
   C c = new Object)();
-            ^" in new core::Object::•();
-  synthetic constructor •() → self::C*
+            ^" in new core::Object::•() as{TypeError,ForNonNullableByDefault} self::C;
+  synthetic 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/rasta/issue_000046.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.outline.expect
index ef6529e..78eaf36 100644
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -23,17 +23,7 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  field self::C* c;
-  synthetic constructor •() → self::C*
+  field self::C c;
+  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/rasta/issue_000046.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.transformed.expect
index 77f4768..e9f6d2e 100644
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -19,10 +19,9 @@
 //   C c = new Object)();
 //                    ^
 //
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: The constructor returns type 'Object' that isn't of expected type 'C'.
+// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
 //  - 'Object' is from 'dart:core'.
 //  - 'C' is from 'pkg/front_end/testcases/rasta/issue_000046.dart'.
-// Change the type of the object being constructed or the context in which it is used.
 //   C c = new Object)();
 //             ^
 //
@@ -30,23 +29,12 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  field self::C* c = invalid-expression "pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: The constructor returns type 'Object' that isn't of expected type 'C'.
+  field self::C c = invalid-expression "pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
  - 'Object' is from 'dart:core'.
  - 'C' is from 'pkg/front_end/testcases/rasta/issue_000046.dart'.
-Change the type of the object being constructed or the context in which it is used.
   C c = new Object)();
-            ^" in new core::Object::•();
-  synthetic constructor •() → self::C*
+            ^" in new core::Object::•() as{TypeError,ForNonNullableByDefault} self::C;
+  synthetic 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/rasta/issue_000047.dart b/pkg/front_end/testcases/rasta/issue_000047.dart
index b529572..2fbb897 100644
--- a/pkg/front_end/testcases/rasta/issue_000047.dart
+++ b/pkg/front_end/testcases/rasta/issue_000047.dart
@@ -1,7 +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.md file.
-// @dart=2.9
+
 typedef void T(C<C>);
 
-T main() => null;
+T test() => throw '';
+
+main() {}
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 b16d611..e87eee9 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,3 +1,3 @@
-// @dart = 2.9
 typedef void T(C<C>);
-T main() => null;
+T test() => throw '';
+main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000047.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.expect
index 2ae0040..9925c90 100644
--- a/pkg/front_end/testcases/rasta/issue_000047.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -8,6 +8,7 @@
 //
 import self as self;
 
-typedef T = (dynamic) →* void;
-static method main() → (dynamic) →* void
-  return null;
+typedef T = (dynamic) → void;
+static method test() → (dynamic) → void
+  return throw "";
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000047.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.modular.expect
index 2ae0040..9925c90 100644
--- a/pkg/front_end/testcases/rasta/issue_000047.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -8,6 +8,7 @@
 //
 import self as self;
 
-typedef T = (dynamic) →* void;
-static method main() → (dynamic) →* void
-  return null;
+typedef T = (dynamic) → void;
+static method test() → (dynamic) → void
+  return throw "";
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000047.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.outline.expect
index de792f5..f749e09 100644
--- a/pkg/front_end/testcases/rasta/issue_000047.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -8,6 +8,8 @@
 //
 import self as self;
 
-typedef T = (dynamic) →* void;
-static method main() → (dynamic) →* void
+typedef T = (dynamic) → void;
+static method test() → (dynamic) → void
+  ;
+static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/issue_000047.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.transformed.expect
index 2ae0040..9925c90 100644
--- a/pkg/front_end/testcases/rasta/issue_000047.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -8,6 +8,7 @@
 //
 import self as self;
 
-typedef T = (dynamic) →* void;
-static method main() → (dynamic) →* void
-  return null;
+typedef T = (dynamic) → void;
+static method test() → (dynamic) → void
+  return throw "";
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart b/pkg/front_end/testcases/rasta/issue_000048.dart
index ac5506e..0211480 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.textual_outline.expect
index 1125913..75793bc 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,4 +1,3 @@
-// @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 d236d24..333c72f 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.expect
index a297249..2b0abe4 100644
--- a/pkg/front_end/testcases/rasta/issue_000048.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.expect
@@ -1,49 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::bool* v1;
-  field core::num* v2;
-  constructor •(core::bool* v1, core::num* v2) → self::A*
+  field core::bool v1;
+  field core::num v2;
+  constructor •(core::bool v1, core::num v2) → self::A
     : self::A::v1 = v1, self::A::v2 = v2, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 {
-  field core::num* v2 = 0;
-  synthetic constructor •() → self::M1*
+  field core::num v2 = 0;
+  synthetic constructor •() → self::M1
     : 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 = self::A with self::M1 {
-  synthetic constructor •(core::bool* v1, core::num* v2) → self::C*
+  synthetic constructor •(core::bool v1, core::num v2) → self::C
     : super self::A::•(v1, v2)
     ;
-  mixin-super-stub get v2() → core::num*
+  mixin-super-stub get v2() → core::num
     return super.{self::M1::v2};
-  mixin-super-stub set v2(core::num* value) → void
+  mixin-super-stub set v2(core::num value) → void
     return super.{self::M1::v2} = value;
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•(true, 2);
+  self::C c = new self::C::•(true, 2);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.modular.expect
index a297249..2b0abe4 100644
--- a/pkg/front_end/testcases/rasta/issue_000048.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.modular.expect
@@ -1,49 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::bool* v1;
-  field core::num* v2;
-  constructor •(core::bool* v1, core::num* v2) → self::A*
+  field core::bool v1;
+  field core::num v2;
+  constructor •(core::bool v1, core::num v2) → self::A
     : self::A::v1 = v1, self::A::v2 = v2, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 {
-  field core::num* v2 = 0;
-  synthetic constructor •() → self::M1*
+  field core::num v2 = 0;
+  synthetic constructor •() → self::M1
     : 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 = self::A with self::M1 {
-  synthetic constructor •(core::bool* v1, core::num* v2) → self::C*
+  synthetic constructor •(core::bool v1, core::num v2) → self::C
     : super self::A::•(v1, v2)
     ;
-  mixin-super-stub get v2() → core::num*
+  mixin-super-stub get v2() → core::num
     return super.{self::M1::v2};
-  mixin-super-stub set v2(core::num* value) → void
+  mixin-super-stub set v2(core::num value) → void
     return super.{self::M1::v2} = value;
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•(true, 2);
+  self::C c = new self::C::•(true, 2);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.outline.expect
index 8c6dce3a7..96b4f9a 100644
--- a/pkg/front_end/testcases/rasta/issue_000048.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.outline.expect
@@ -1,45 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::bool* v1;
-  field core::num* v2;
-  constructor •(core::bool* v1, core::num* v2) → self::A*
+  field core::bool v1;
+  field core::num v2;
+  constructor •(core::bool v1, core::num v2) → 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 M1 extends core::Object {
-  field core::num* v2;
-  synthetic constructor •() → self::M1*
+  field core::num v2;
+  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 C = self::A with self::M1 {
-  synthetic constructor •(core::bool* v1, core::num* v2) → self::C*
+  synthetic constructor •(core::bool v1, core::num v2) → self::C
     : super self::A::•(v1, v2)
     ;
-  mixin-super-stub get v2() → core::num*
+  mixin-super-stub get v2() → core::num
     return super.{self::M1::v2};
-  mixin-super-stub set v2(core::num* value) → void
+  mixin-super-stub set v2(core::num value) → void
     return super.{self::M1::v2} = value;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.transformed.expect
index 2daf3d3..0c73c5c 100644
--- a/pkg/front_end/testcases/rasta/issue_000048.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.transformed.expect
@@ -1,46 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::bool* v1;
-  field core::num* v2;
-  constructor •(core::bool* v1, core::num* v2) → self::A*
+  field core::bool v1;
+  field core::num v2;
+  constructor •(core::bool v1, core::num v2) → self::A
     : self::A::v1 = v1, self::A::v2 = v2, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 {
-  field core::num* v2 = 0;
-  synthetic constructor •() → self::M1*
+  field core::num v2 = 0;
+  synthetic constructor •() → self::M1
     : 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 self::A implements self::M1 /*isEliminatedMixin*/  {
-  field core::num* v2 = 0;
-  synthetic constructor •(core::bool* v1, core::num* v2) → self::C*
+  field core::num v2 = 0;
+  synthetic constructor •(core::bool v1, core::num v2) → self::C
     : super self::A::•(v1, v2)
     ;
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•(true, 2);
+  self::C c = new self::C::•(true, 2);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart b/pkg/front_end/testcases/rasta/issue_000052.dart
index a6f12da..bf0b680 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.expect
index 4c2e652..9e23245 100644
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
@@ -6,5 +6,5 @@
   function f() → Null {
     core::print("hello");
   }
-  f(){() →* Null};
+  f(){() → Null};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.modular.expect
index 4c2e652..9e23245 100644
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
@@ -6,5 +6,5 @@
   function f() → Null {
     core::print("hello");
   }
-  f(){() →* Null};
+  f(){() → Null};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.transformed.expect
index 4c2e652..9e23245 100644
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
@@ -6,5 +6,5 @@
   function f() → Null {
     core::print("hello");
   }
-  f(){() →* Null};
+  f(){() → Null};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart b/pkg/front_end/testcases/rasta/issue_000053.dart
index a493d89..6cae4f6 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.textual_outline.expect
index c301e14..aa3a004 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,4 +1,3 @@
-// @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 c301e14..aa3a004 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   operator ==(other) => throw 'x';
   test() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.expect
index f4841de..f16ea22 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.expect
@@ -1,26 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  operator ==(dynamic other) → core::bool*
+  operator ==(core::Object other) → core::bool
     return throw "x";
   method test() → dynamic {
     super.{core::Object::==}(null);
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature 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::C::•().{self::C::test}(){() →* dynamic};
+  new self::C::•().{self::C::test}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.modular.expect
index f4841de..f16ea22 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.modular.expect
@@ -1,26 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  operator ==(dynamic other) → core::bool*
+  operator ==(core::Object other) → core::bool
     return throw "x";
   method test() → dynamic {
     super.{core::Object::==}(null);
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature 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::C::•().{self::C::test}(){() →* dynamic};
+  new self::C::•().{self::C::test}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.outline.expect
index 340d827..1bed99e 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.outline.expect
@@ -1,23 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
-  operator ==(dynamic other) → core::bool*
+  operator ==(core::Object other) → core::bool
     ;
   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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.transformed.expect
index f4841de..f16ea22 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.transformed.expect
@@ -1,26 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  operator ==(dynamic other) → core::bool*
+  operator ==(core::Object other) → core::bool
     return throw "x";
   method test() → dynamic {
     super.{core::Object::==}(null);
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature 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::C::•().{self::C::test}(){() →* dynamic};
+  new self::C::•().{self::C::test}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart b/pkg/front_end/testcases/rasta/issue_000067.dart
index fc04bd1..ddb5ca6 100644
--- a/pkg/front_end/testcases/rasta/issue_000067.dart
+++ b/pkg/front_end/testcases/rasta/issue_000067.dart
@@ -1,13 +1,15 @@
 // 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 {
   A() {}
   factory A.foo() = C.bar;
-  int m() {}
+  int m() {
+    return 1;
+  }
 }
 
 class C extends A {
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 0fcec84..a569cc4 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,4 +1,3 @@
-// @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 0fcec84..a569cc4 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,4 +1,3 @@
-// @dart = 2.9
 import "package:expect/expect.dart";
 
 class A {
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.expect
index 66f50c0..2283430 100644
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
@@ -6,44 +6,36 @@
 import "package:expect/expect.dart";
 
 class A extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  constructor •() → self::A*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  constructor •() → self::A
     : super core::Object::•() {}
-  static factory foo() → self::A*
+  static factory foo() → self::A
     return self::C::bar();
-  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
+  method m() → core::int {
+    return 1;
+  }
 }
 class C extends self::A {
-  static final field dynamic _redirecting# = <dynamic>[#C2];
-  constructor •() → self::C*
+  static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+  constructor •() → self::C
     : super self::A::•() {}
-  static factory bar() → self::C*
+  static factory bar() → self::C
     return new self::D::•();
-  method m() → core::int* {
+  method m() → core::int {
     return 1;
   }
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  method m() → core::int* {
+  method m() → core::int {
     return 2;
   }
 }
 static method main() → dynamic {
-  self::A* a = new self::D::•();
-  exp::Expect::equals(2, a.{self::A::m}(){() →* core::int*});
+  self::A a = new self::D::•();
+  exp::Expect::equals(2, a.{self::A::m}(){() → core::int});
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.modular.expect
index 66f50c0..2283430 100644
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
@@ -6,44 +6,36 @@
 import "package:expect/expect.dart";
 
 class A extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  constructor •() → self::A*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  constructor •() → self::A
     : super core::Object::•() {}
-  static factory foo() → self::A*
+  static factory foo() → self::A
     return self::C::bar();
-  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
+  method m() → core::int {
+    return 1;
+  }
 }
 class C extends self::A {
-  static final field dynamic _redirecting# = <dynamic>[#C2];
-  constructor •() → self::C*
+  static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+  constructor •() → self::C
     : super self::A::•() {}
-  static factory bar() → self::C*
+  static factory bar() → self::C
     return new self::D::•();
-  method m() → core::int* {
+  method m() → core::int {
     return 1;
   }
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  method m() → core::int* {
+  method m() → core::int {
     return 2;
   }
 }
 static method main() → dynamic {
-  self::A* a = new self::D::•();
-  exp::Expect::equals(2, a.{self::A::m}(){() →* core::int*});
+  self::A a = new self::D::•();
+  exp::Expect::equals(2, a.{self::A::m}(){() → core::int});
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.outline.expect
index 1f48749..49ab275 100644
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.outline.expect
@@ -1,41 +1,31 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "package:expect/expect.dart";
 
 class A extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[self::A::foo];
-  constructor •() → self::A*
+  static final field dynamic _redirecting# = <dynamic>[self::A::foo]/*isLegacy*/;
+  constructor •() → self::A
     ;
-  static factory foo() → self::A*
+  static factory foo() → self::A
     return self::C::bar();
-  method m() → core::int*
+  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
 }
 class C extends self::A {
-  static final field dynamic _redirecting# = <dynamic>[self::C::bar];
-  constructor •() → self::C*
+  static final field dynamic _redirecting# = <dynamic>[self::C::bar]/*isLegacy*/;
+  constructor •() → self::C
     ;
-  static factory bar() → self::C*
+  static factory bar() → self::C
     return new self::D::•();
-  method m() → core::int*
+  method m() → core::int
     ;
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     ;
-  method m() → core::int*
+  method m() → core::int
     ;
 }
 static method main() → dynamic
@@ -44,5 +34,5 @@
 
 Extra constant evaluation status:
 Evaluated: ConstructorTearOff @ org-dartlang-testcase:///issue_000067.dart:7:7 -> ConstructorTearOffConstant(A.foo)
-Evaluated: ConstructorTearOff @ org-dartlang-testcase:///issue_000067.dart:13:7 -> ConstructorTearOffConstant(C.bar)
+Evaluated: ConstructorTearOff @ org-dartlang-testcase:///issue_000067.dart:15:7 -> ConstructorTearOffConstant(C.bar)
 Extra constant evaluation: evaluated: 6, effectively constant: 2
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.transformed.expect
index 66f50c0..2283430 100644
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
@@ -6,44 +6,36 @@
 import "package:expect/expect.dart";
 
 class A extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  constructor •() → self::A*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  constructor •() → self::A
     : super core::Object::•() {}
-  static factory foo() → self::A*
+  static factory foo() → self::A
     return self::C::bar();
-  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
+  method m() → core::int {
+    return 1;
+  }
 }
 class C extends self::A {
-  static final field dynamic _redirecting# = <dynamic>[#C2];
-  constructor •() → self::C*
+  static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+  constructor •() → self::C
     : super self::A::•() {}
-  static factory bar() → self::C*
+  static factory bar() → self::C
     return new self::D::•();
-  method m() → core::int* {
+  method m() → core::int {
     return 1;
   }
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  method m() → core::int* {
+  method m() → core::int {
     return 2;
   }
 }
 static method main() → dynamic {
-  self::A* a = new self::D::•();
-  exp::Expect::equals(2, a.{self::A::m}(){() →* core::int*});
+  self::A a = new self::D::•();
+  exp::Expect::equals(2, a.{self::A::m}(){() → core::int});
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart b/pkg/front_end/testcases/rasta/issue_000068.dart
index b0a2ea2..e02deb7 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.textual_outline.expect
index 8b5b447..cde3517 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,4 +1,3 @@
-// @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 469f55f..dd18446 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,4 +1,3 @@
-// @dart = 2.9
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.expect
index 9de7e9e..b557cb8 100644
--- a/pkg/front_end/testcases/rasta/issue_000068.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.expect
@@ -1,56 +1,36 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
 
 import "package:expect/expect.dart";
 
-class G<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
+class G<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::G<self::G::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 A extends core::Object {
-  synthetic constructor •() → self::A*
+  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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
 }
 class C extends self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
 }
 static method main() → dynamic {
-  exp::Expect::isFalse(new self::G::•<self::B*>() is self::G<self::C*>*);
-  exp::Expect::isFalse(new self::G::•<self::A*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<self::A*>() is self::G<self::C*>*);
-  exp::Expect::isFalse(new self::G::•<core::Object*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<core::double*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<core::String*>*);
+  exp::Expect::isFalse(new self::G::•<self::B>() is{ForNonNullableByDefault} self::G<self::C>);
+  exp::Expect::isFalse(new self::G::•<self::A>() is{ForNonNullableByDefault} self::G<self::B>);
+  exp::Expect::isFalse(new self::G::•<self::A>() is{ForNonNullableByDefault} self::G<self::C>);
+  exp::Expect::isFalse(new self::G::•<core::Object>() is{ForNonNullableByDefault} self::G<self::B>);
+  exp::Expect::isFalse(new self::G::•<core::int>() is{ForNonNullableByDefault} self::G<self::B>);
+  exp::Expect::isFalse(new self::G::•<core::int>() is{ForNonNullableByDefault} self::G<core::double>);
+  exp::Expect::isFalse(new self::G::•<core::int>() is{ForNonNullableByDefault} self::G<core::String>);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.modular.expect
index 9de7e9e..b557cb8 100644
--- a/pkg/front_end/testcases/rasta/issue_000068.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.modular.expect
@@ -1,56 +1,36 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
 
 import "package:expect/expect.dart";
 
-class G<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
+class G<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::G<self::G::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 A extends core::Object {
-  synthetic constructor •() → self::A*
+  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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
 }
 class C extends self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
 }
 static method main() → dynamic {
-  exp::Expect::isFalse(new self::G::•<self::B*>() is self::G<self::C*>*);
-  exp::Expect::isFalse(new self::G::•<self::A*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<self::A*>() is self::G<self::C*>*);
-  exp::Expect::isFalse(new self::G::•<core::Object*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<core::double*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<core::String*>*);
+  exp::Expect::isFalse(new self::G::•<self::B>() is{ForNonNullableByDefault} self::G<self::C>);
+  exp::Expect::isFalse(new self::G::•<self::A>() is{ForNonNullableByDefault} self::G<self::B>);
+  exp::Expect::isFalse(new self::G::•<self::A>() is{ForNonNullableByDefault} self::G<self::C>);
+  exp::Expect::isFalse(new self::G::•<core::Object>() is{ForNonNullableByDefault} self::G<self::B>);
+  exp::Expect::isFalse(new self::G::•<core::int>() is{ForNonNullableByDefault} self::G<self::B>);
+  exp::Expect::isFalse(new self::G::•<core::int>() is{ForNonNullableByDefault} self::G<core::double>);
+  exp::Expect::isFalse(new self::G::•<core::int>() is{ForNonNullableByDefault} self::G<core::String>);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.outline.expect
index a6aaeb1..db56ac5 100644
--- a/pkg/front_end/testcases/rasta/issue_000068.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.outline.expect
@@ -1,43 +1,23 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "package:expect/expect.dart";
 
-class G<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
+class G<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::G<self::G::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 A extends core::Object {
-  synthetic constructor •() → self::A*
+  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*
+  synthetic constructor •() → self::B
     ;
 }
 class C extends self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.transformed.expect
index 9de7e9e..b557cb8 100644
--- a/pkg/front_end/testcases/rasta/issue_000068.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.transformed.expect
@@ -1,56 +1,36 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
 
 import "package:expect/expect.dart";
 
-class G<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
+class G<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::G<self::G::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 A extends core::Object {
-  synthetic constructor •() → self::A*
+  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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
 }
 class C extends self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
 }
 static method main() → dynamic {
-  exp::Expect::isFalse(new self::G::•<self::B*>() is self::G<self::C*>*);
-  exp::Expect::isFalse(new self::G::•<self::A*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<self::A*>() is self::G<self::C*>*);
-  exp::Expect::isFalse(new self::G::•<core::Object*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<core::double*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<core::String*>*);
+  exp::Expect::isFalse(new self::G::•<self::B>() is{ForNonNullableByDefault} self::G<self::C>);
+  exp::Expect::isFalse(new self::G::•<self::A>() is{ForNonNullableByDefault} self::G<self::B>);
+  exp::Expect::isFalse(new self::G::•<self::A>() is{ForNonNullableByDefault} self::G<self::C>);
+  exp::Expect::isFalse(new self::G::•<core::Object>() is{ForNonNullableByDefault} self::G<self::B>);
+  exp::Expect::isFalse(new self::G::•<core::int>() is{ForNonNullableByDefault} self::G<self::B>);
+  exp::Expect::isFalse(new self::G::•<core::int>() is{ForNonNullableByDefault} self::G<core::double>);
+  exp::Expect::isFalse(new self::G::•<core::int>() is{ForNonNullableByDefault} self::G<core::String>);
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart b/pkg/front_end/testcases/rasta/issue_000069.dart
index a1070ad..0e87567 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.expect
index 07c2ec1..f77b2dc 100644
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
   dynamic x;
-  core::int* i = 0;
-  while ((let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1).{core::num::<}(5){(core::num*) →* core::bool*}) {
-    core::int* x = i;
+  core::int i = 0;
+  while ((let final core::int #t1 = i in let final core::int #t2 = i = #t1.{core::num::+}(1){(core::num) → core::int} in #t1).{core::num::<}(5){(core::num) → core::bool}) {
+    core::int x = i;
   }
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.modular.expect
index 07c2ec1..f77b2dc 100644
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.modular.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
   dynamic x;
-  core::int* i = 0;
-  while ((let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1).{core::num::<}(5){(core::num*) →* core::bool*}) {
-    core::int* x = i;
+  core::int i = 0;
+  while ((let final core::int #t1 = i in let final core::int #t2 = i = #t1.{core::num::+}(1){(core::num) → core::int} in #t1).{core::num::<}(5){(core::num) → core::bool}) {
+    core::int x = i;
   }
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.transformed.expect
index 07c2ec1..f77b2dc 100644
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.transformed.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
   dynamic x;
-  core::int* i = 0;
-  while ((let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1).{core::num::<}(5){(core::num*) →* core::bool*}) {
-    core::int* x = i;
+  core::int i = 0;
+  while ((let final core::int #t1 = i in let final core::int #t2 = i = #t1.{core::num::+}(1){(core::num) → core::int} in #t1).{core::num::<}(5){(core::num) → core::bool}) {
+    core::int x = i;
   }
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart b/pkg/front_end/testcases/rasta/issue_000070.dart
index 973ad73..193e5e0 100644
--- a/pkg/front_end/testcases/rasta/issue_000070.dart
+++ b/pkg/front_end/testcases/rasta/issue_000070.dart
@@ -1,11 +1,11 @@
 // 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> {
-  final List<U> field;
+  final List<U?>? field;
 
   A(N n, S s) : field = <U>[] {
     Expect.isTrue(n is N);
@@ -19,9 +19,9 @@
     return new A.empty();
   }
 
-  const A.c(U u, S s) : field = const [null];
+  const A.c(U u, S s) : field = const <Null>[null];
 
-  List<U> get getter {
+  List<U?>? get getter {
     return field;
   }
 
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 1861e2d..f65477a 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,13 +1,12 @@
-// @dart = 2.9
 import "package:expect/expect.dart";
 
 class A<N, S, U> {
-  final List<U> field;
+  final List<U?>? field;
   A(N n, S s) : field = <U>[] {}
   A.empty() : field = null {}
   factory A.f(S s) {}
-  const A.c(U u, S s) : field = const [null];
-  List<U> get getter {}
+  const A.c(U u, S s) : field = const <Null>[null];
+  List<U?>? get getter {}
   void set setter(S s) {}
 }
 
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 7006b0c..bfed0e2 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,4 +1,3 @@
-// @dart = 2.9
 import "package:expect/expect.dart";
 
 abstract class I<H, C, K> extends J<C, K> {}
@@ -8,10 +7,10 @@
 class A<N, S, U> {
   A(N n, S s) : field = <U>[] {}
   A.empty() : field = null {}
-  List<U> get getter {}
-  const A.c(U u, S s) : field = const [null];
+  List<U?>? get getter {}
+  const A.c(U u, S s) : field = const <Null>[null];
   factory A.f(S s) {}
-  final List<U> field;
+  final List<U?>? field;
   void set setter(S s) {}
 }
 
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.expect
index a5f9ac1..1c80364 100644
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.expect
@@ -1,66 +1,46 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
 
 import "package:expect/expect.dart";
 
-class A<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::List<self::A::U*>* field;
-  constructor •(self::A::N* n, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
-    : self::A::field = <self::A::U*>[], super core::Object::•() {
-    exp::Expect::isTrue(n is self::A::N*);
-    exp::Expect::isTrue(s is self::A::S*);
+class A<N extends core::Object? = dynamic, S extends core::Object? = dynamic, U extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::List<self::A::U?>? field;
+  constructor •(self::A::N% n, self::A::S% s) → self::A<self::A::N%, self::A::S%, self::A::U%>
+    : self::A::field = <self::A::U%>[], super core::Object::•() {
+    exp::Expect::isTrue(n is{ForNonNullableByDefault} self::A::N%);
+    exp::Expect::isTrue(s is{ForNonNullableByDefault} self::A::S%);
   }
-  constructor empty() → self::A<self::A::N*, self::A::S*, self::A::U*>*
+  constructor empty() → self::A<self::A::N%, self::A::S%, self::A::U%>
     : self::A::field = null, super core::Object::•() {}
-  const constructor c(self::A::U* u, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
+  const constructor c(self::A::U% u, self::A::S% s) → self::A<self::A::N%, self::A::S%, self::A::U%>
     : self::A::field = #C2, super core::Object::•()
     ;
-  static factory f<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic>(self::A::f::S* s) → self::A<self::A::f::N*, self::A::f::S*, self::A::f::U*>* {
-    exp::Expect::isTrue(s is self::A::f::S*);
-    return new self::A::empty<self::A::f::N*, self::A::f::S*, self::A::f::U*>();
+  static factory f<N extends core::Object? = dynamic, S extends core::Object? = dynamic, U extends core::Object? = dynamic>(self::A::f::S% s) → self::A<self::A::f::N%, self::A::f::S%, self::A::f::U%> {
+    exp::Expect::isTrue(s is{ForNonNullableByDefault} self::A::f::S%);
+    return new self::A::empty<self::A::f::N%, self::A::f::S%, self::A::f::U%>();
   }
-  get getter() → core::List<self::A::U*>* {
-    return this.{self::A::field}{core::List<self::A::U*>*};
+  get getter() → core::List<self::A::U?>? {
+    return this.{self::A::field}{core::List<self::A::U?>?};
   }
-  set setter(covariant-by-class self::A::S* 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
+  set setter(covariant-by-class self::A::S% s) → void {}
 }
-abstract class J<Aa extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::J<self::J::Aa*, self::J::B*>*
+abstract class J<Aa extends core::Object? = dynamic, B extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::J<self::J::Aa%, self::J::B%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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<H extends core::Object* = dynamic, C extends core::Object* = dynamic, K extends core::Object* = dynamic> extends self::J<self::I::C*, self::I::K*> {
-  synthetic constructor •() → self::I<self::I::H*, self::I::C*, self::I::K*>*
+abstract class I<H extends core::Object? = dynamic, C extends core::Object? = dynamic, K extends core::Object? = dynamic> extends self::J<self::I::C%, self::I::K%> {
+  synthetic constructor •() → self::I<self::I::H%, self::I::C%, self::I::K%>
     : super self::J::•()
     ;
 }
 static method main() → dynamic {
-  new self::A::•<core::num*, core::double*, core::List<dynamic>*>(1, 2.0);
-  self::A<dynamic, dynamic, dynamic>* a = self::A::f<core::int*, core::int*, core::int*>(1);
+  new self::A::•<core::num, core::double, core::List<dynamic>>(1, 2.0);
+  self::A<dynamic, dynamic, dynamic> a = self::A::f<core::int, core::int, core::int>(1);
   #C3;
-  core::List<dynamic>* z = a.{self::A::getter}{core::List<dynamic>*};
+  core::List<dynamic>? z = a.{self::A::getter}{core::List<dynamic>?};
   a.{self::A::setter} = 1;
 }
 
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.modular.expect
index a5f9ac1..1c80364 100644
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.modular.expect
@@ -1,66 +1,46 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
 
 import "package:expect/expect.dart";
 
-class A<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::List<self::A::U*>* field;
-  constructor •(self::A::N* n, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
-    : self::A::field = <self::A::U*>[], super core::Object::•() {
-    exp::Expect::isTrue(n is self::A::N*);
-    exp::Expect::isTrue(s is self::A::S*);
+class A<N extends core::Object? = dynamic, S extends core::Object? = dynamic, U extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::List<self::A::U?>? field;
+  constructor •(self::A::N% n, self::A::S% s) → self::A<self::A::N%, self::A::S%, self::A::U%>
+    : self::A::field = <self::A::U%>[], super core::Object::•() {
+    exp::Expect::isTrue(n is{ForNonNullableByDefault} self::A::N%);
+    exp::Expect::isTrue(s is{ForNonNullableByDefault} self::A::S%);
   }
-  constructor empty() → self::A<self::A::N*, self::A::S*, self::A::U*>*
+  constructor empty() → self::A<self::A::N%, self::A::S%, self::A::U%>
     : self::A::field = null, super core::Object::•() {}
-  const constructor c(self::A::U* u, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
+  const constructor c(self::A::U% u, self::A::S% s) → self::A<self::A::N%, self::A::S%, self::A::U%>
     : self::A::field = #C2, super core::Object::•()
     ;
-  static factory f<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic>(self::A::f::S* s) → self::A<self::A::f::N*, self::A::f::S*, self::A::f::U*>* {
-    exp::Expect::isTrue(s is self::A::f::S*);
-    return new self::A::empty<self::A::f::N*, self::A::f::S*, self::A::f::U*>();
+  static factory f<N extends core::Object? = dynamic, S extends core::Object? = dynamic, U extends core::Object? = dynamic>(self::A::f::S% s) → self::A<self::A::f::N%, self::A::f::S%, self::A::f::U%> {
+    exp::Expect::isTrue(s is{ForNonNullableByDefault} self::A::f::S%);
+    return new self::A::empty<self::A::f::N%, self::A::f::S%, self::A::f::U%>();
   }
-  get getter() → core::List<self::A::U*>* {
-    return this.{self::A::field}{core::List<self::A::U*>*};
+  get getter() → core::List<self::A::U?>? {
+    return this.{self::A::field}{core::List<self::A::U?>?};
   }
-  set setter(covariant-by-class self::A::S* 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
+  set setter(covariant-by-class self::A::S% s) → void {}
 }
-abstract class J<Aa extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::J<self::J::Aa*, self::J::B*>*
+abstract class J<Aa extends core::Object? = dynamic, B extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::J<self::J::Aa%, self::J::B%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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<H extends core::Object* = dynamic, C extends core::Object* = dynamic, K extends core::Object* = dynamic> extends self::J<self::I::C*, self::I::K*> {
-  synthetic constructor •() → self::I<self::I::H*, self::I::C*, self::I::K*>*
+abstract class I<H extends core::Object? = dynamic, C extends core::Object? = dynamic, K extends core::Object? = dynamic> extends self::J<self::I::C%, self::I::K%> {
+  synthetic constructor •() → self::I<self::I::H%, self::I::C%, self::I::K%>
     : super self::J::•()
     ;
 }
 static method main() → dynamic {
-  new self::A::•<core::num*, core::double*, core::List<dynamic>*>(1, 2.0);
-  self::A<dynamic, dynamic, dynamic>* a = self::A::f<core::int*, core::int*, core::int*>(1);
+  new self::A::•<core::num, core::double, core::List<dynamic>>(1, 2.0);
+  self::A<dynamic, dynamic, dynamic> a = self::A::f<core::int, core::int, core::int>(1);
   #C3;
-  core::List<dynamic>* z = a.{self::A::getter}{core::List<dynamic>*};
+  core::List<dynamic>? z = a.{self::A::getter}{core::List<dynamic>?};
   a.{self::A::setter} = 1;
 }
 
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.outline.expect
index 5dae040..f904fc3 100644
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.outline.expect
@@ -1,51 +1,31 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "package:expect/expect.dart";
 
-class A<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::List<self::A::U*>* field;
-  constructor •(self::A::N* n, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
+class A<N extends core::Object? = dynamic, S extends core::Object? = dynamic, U extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::List<self::A::U?>? field;
+  constructor •(self::A::N% n, self::A::S% s) → self::A<self::A::N%, self::A::S%, self::A::U%>
     ;
-  constructor empty() → self::A<self::A::N*, self::A::S*, self::A::U*>*
+  constructor empty() → self::A<self::A::N%, self::A::S%, self::A::U%>
     ;
-  const constructor c(self::A::U* u, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
+  const constructor c(self::A::U% u, self::A::S% s) → self::A<self::A::N%, self::A::S%, self::A::U%>
     : self::A::field = const <Null>[null], super core::Object::•()
     ;
-  static factory f<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic>(self::A::f::S* s) → self::A<self::A::f::N*, self::A::f::S*, self::A::f::U*>*
+  static factory f<N extends core::Object? = dynamic, S extends core::Object? = dynamic, U extends core::Object? = dynamic>(self::A::f::S% s) → self::A<self::A::f::N%, self::A::f::S%, self::A::f::U%>
     ;
-  get getter() → core::List<self::A::U*>*
+  get getter() → core::List<self::A::U?>?
     ;
-  set setter(covariant-by-class self::A::S* s) → void
+  set setter(covariant-by-class self::A::S% 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
 }
-abstract class J<Aa extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::J<self::J::Aa*, self::J::B*>*
+abstract class J<Aa extends core::Object? = dynamic, B extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::J<self::J::Aa%, self::J::B%>
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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<H extends core::Object* = dynamic, C extends core::Object* = dynamic, K extends core::Object* = dynamic> extends self::J<self::I::C*, self::I::K*> {
-  synthetic constructor •() → self::I<self::I::H*, self::I::C*, self::I::K*>*
+abstract class I<H extends core::Object? = dynamic, C extends core::Object? = dynamic, K extends core::Object? = dynamic> extends self::J<self::I::C%, self::I::K%> {
+  synthetic constructor •() → self::I<self::I::H%, self::I::C%, self::I::K%>
     ;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.transformed.expect
index 9cfd4c4..fc604245 100644
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.transformed.expect
@@ -1,66 +1,46 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "package:expect/expect.dart" as exp;
 
 import "package:expect/expect.dart";
 
-class A<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::List<self::A::U*>* field;
-  constructor •(self::A::N* n, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
-    : self::A::field = core::_GrowableList::•<self::A::U*>(0), super core::Object::•() {
-    exp::Expect::isTrue(n is self::A::N*);
-    exp::Expect::isTrue(s is self::A::S*);
+class A<N extends core::Object? = dynamic, S extends core::Object? = dynamic, U extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::List<self::A::U?>? field;
+  constructor •(self::A::N% n, self::A::S% s) → self::A<self::A::N%, self::A::S%, self::A::U%>
+    : self::A::field = core::_GrowableList::•<self::A::U%>(0), super core::Object::•() {
+    exp::Expect::isTrue(n is{ForNonNullableByDefault} self::A::N%);
+    exp::Expect::isTrue(s is{ForNonNullableByDefault} self::A::S%);
   }
-  constructor empty() → self::A<self::A::N*, self::A::S*, self::A::U*>*
+  constructor empty() → self::A<self::A::N%, self::A::S%, self::A::U%>
     : self::A::field = null, super core::Object::•() {}
-  const constructor c(self::A::U* u, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
+  const constructor c(self::A::U% u, self::A::S% s) → self::A<self::A::N%, self::A::S%, self::A::U%>
     : self::A::field = #C2, super core::Object::•()
     ;
-  static factory f<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic>(self::A::f::S* s) → self::A<self::A::f::N*, self::A::f::S*, self::A::f::U*>* {
-    exp::Expect::isTrue(s is self::A::f::S*);
-    return new self::A::empty<self::A::f::N*, self::A::f::S*, self::A::f::U*>();
+  static factory f<N extends core::Object? = dynamic, S extends core::Object? = dynamic, U extends core::Object? = dynamic>(self::A::f::S% s) → self::A<self::A::f::N%, self::A::f::S%, self::A::f::U%> {
+    exp::Expect::isTrue(s is{ForNonNullableByDefault} self::A::f::S%);
+    return new self::A::empty<self::A::f::N%, self::A::f::S%, self::A::f::U%>();
   }
-  get getter() → core::List<self::A::U*>* {
-    return this.{self::A::field}{core::List<self::A::U*>*};
+  get getter() → core::List<self::A::U?>? {
+    return this.{self::A::field}{core::List<self::A::U?>?};
   }
-  set setter(covariant-by-class self::A::S* 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
+  set setter(covariant-by-class self::A::S% s) → void {}
 }
-abstract class J<Aa extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::J<self::J::Aa*, self::J::B*>*
+abstract class J<Aa extends core::Object? = dynamic, B extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::J<self::J::Aa%, self::J::B%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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<H extends core::Object* = dynamic, C extends core::Object* = dynamic, K extends core::Object* = dynamic> extends self::J<self::I::C*, self::I::K*> {
-  synthetic constructor •() → self::I<self::I::H*, self::I::C*, self::I::K*>*
+abstract class I<H extends core::Object? = dynamic, C extends core::Object? = dynamic, K extends core::Object? = dynamic> extends self::J<self::I::C%, self::I::K%> {
+  synthetic constructor •() → self::I<self::I::H%, self::I::C%, self::I::K%>
     : super self::J::•()
     ;
 }
 static method main() → dynamic {
-  new self::A::•<core::num*, core::double*, core::List<dynamic>*>(1, 2.0);
-  self::A<dynamic, dynamic, dynamic>* a = self::A::f<core::int*, core::int*, core::int*>(1);
+  new self::A::•<core::num, core::double, core::List<dynamic>>(1, 2.0);
+  self::A<dynamic, dynamic, dynamic> a = self::A::f<core::int, core::int, core::int>(1);
   #C3;
-  core::List<dynamic>* z = a.{self::A::getter}{core::List<dynamic>*};
+  core::List<dynamic>? z = a.{self::A::getter}{core::List<dynamic>?};
   a.{self::A::setter} = 1;
 }
 
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart b/pkg/front_end/testcases/rasta/issue_000080.dart
index c6793bc..6a0292d 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.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.textual_outline.expect
index 0f6e0ff..e1dd6e2 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,4 +1,3 @@
-// @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 8366218..8ed966c 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.expect
index e61a3ce..d91ab12 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Mixin extends core::Object {
   field dynamic field = null;
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::Mixin
     : super core::Object::•()
     ;
   method foo() → dynamic
     return 87;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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&Object&Mixin = core::Object with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Foo&Object&Mixin*
+  synthetic constructor •() → self::_Foo&Object&Mixin
     : super core::Object::•()
     ;
   mixin-super-stub method foo() → dynamic
@@ -30,19 +20,9 @@
     return super.{self::Mixin::field};
   mixin-super-stub set field(dynamic value) → void
     return super.{self::Mixin::field} = 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
 }
 class Foo extends self::_Foo&Object&Mixin {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     : super self::_Foo&Object&Mixin::•()
     ;
   method foo() → dynamic
@@ -51,7 +31,7 @@
     return super.{self::_Foo&Object&Mixin::field};
 }
 static method main() → dynamic {
-  self::Foo* f = new self::Foo::•();
+  self::Foo f = new self::Foo::•();
   f.{self::_Foo&Object&Mixin::field} = 42;
-  core::print(f.{self::Foo::bar}(){() →* dynamic});
+  core::print(f.{self::Foo::bar}(){() → dynamic});
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.modular.expect
index e61a3ce..d91ab12 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.modular.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Mixin extends core::Object {
   field dynamic field = null;
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::Mixin
     : super core::Object::•()
     ;
   method foo() → dynamic
     return 87;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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&Object&Mixin = core::Object with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Foo&Object&Mixin*
+  synthetic constructor •() → self::_Foo&Object&Mixin
     : super core::Object::•()
     ;
   mixin-super-stub method foo() → dynamic
@@ -30,19 +20,9 @@
     return super.{self::Mixin::field};
   mixin-super-stub set field(dynamic value) → void
     return super.{self::Mixin::field} = 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
 }
 class Foo extends self::_Foo&Object&Mixin {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     : super self::_Foo&Object&Mixin::•()
     ;
   method foo() → dynamic
@@ -51,7 +31,7 @@
     return super.{self::_Foo&Object&Mixin::field};
 }
 static method main() → dynamic {
-  self::Foo* f = new self::Foo::•();
+  self::Foo f = new self::Foo::•();
   f.{self::_Foo&Object&Mixin::field} = 42;
-  core::print(f.{self::Foo::bar}(){() →* dynamic});
+  core::print(f.{self::Foo::bar}(){() → dynamic});
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.outline.expect
index 4d151fc..4f952bc 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.outline.expect
@@ -1,26 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Mixin extends core::Object {
   field dynamic field;
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::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
 }
 abstract class _Foo&Object&Mixin = core::Object with self::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Foo&Object&Mixin*
+  synthetic constructor •() → self::_Foo&Object&Mixin
     : super core::Object::•()
     ;
   mixin-super-stub method foo() → dynamic
@@ -29,19 +19,9 @@
     return super.{self::Mixin::field};
   mixin-super-stub set field(dynamic value) → void
     return super.{self::Mixin::field} = 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
 }
 class Foo extends self::_Foo&Object&Mixin {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     ;
   method foo() → dynamic
     ;
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.transformed.expect
index 8e37860..6ab5120 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.transformed.expect
@@ -1,45 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Mixin extends core::Object {
   field dynamic field = null;
-  synthetic constructor •() → self::Mixin*
+  synthetic constructor •() → self::Mixin
     : super core::Object::•()
     ;
   method foo() → dynamic
     return 87;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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&Object&Mixin extends core::Object implements self::Mixin /*isAnonymousMixin,isEliminatedMixin*/  {
   field dynamic field = null;
-  synthetic constructor •() → self::_Foo&Object&Mixin*
+  synthetic constructor •() → self::_Foo&Object&Mixin
     : super core::Object::•()
     ;
   method foo() → dynamic
     return 87;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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::_Foo&Object&Mixin {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     : super self::_Foo&Object&Mixin::•()
     ;
   method foo() → dynamic
@@ -48,7 +28,7 @@
     return super.{self::_Foo&Object&Mixin::field};
 }
 static method main() → dynamic {
-  self::Foo* f = new self::Foo::•();
+  self::Foo f = new self::Foo::•();
   f.{self::_Foo&Object&Mixin::field} = 42;
-  core::print(f.{self::Foo::bar}(){() →* dynamic});
+  core::print(f.{self::Foo::bar}(){() → dynamic});
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart b/pkg/front_end/testcases/rasta/issue_000081.dart
index b277258..4dfb641 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart
@@ -1,13 +1,13 @@
 // 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;
 }
 
 class Sub extends Base {
-  int _hashCode = null;
+  int? _hashCode = null;
 
   get hashCode => _hashCode ??= super.hashCode;
 
@@ -18,6 +18,6 @@
 
 main() {
   print(new Sub().hashCode);
-  var l = [null];
+  var l = <String?>[null];
   l[0] ??= "fisk";
 }
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 f4c75b5..3747fed 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,10 +1,9 @@
-// @dart = 2.9
 class Base {
   int hashCode = 42;
 }
 
 class Sub extends Base {
-  int _hashCode = null;
+  int? _hashCode = null;
   get hashCode => _hashCode ??= super.hashCode;
   foo() {}
 }
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 71cc6e6..4ef38a2 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,4 +1,3 @@
-// @dart = 2.9
 class Base {
   int hashCode = 42;
 }
@@ -6,7 +5,7 @@
 class Sub extends Base {
   foo() {}
   get hashCode => _hashCode ??= super.hashCode;
-  int _hashCode = null;
+  int? _hashCode = null;
 }
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.expect
index 5549963..80196b9 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.expect
@@ -1,35 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Base extends core::Object {
-  field core::int* hashCode = 42;
-  synthetic constructor •() → self::Base*
+  field core::int hashCode = 42;
+  synthetic constructor •() → self::Base
     : 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 method toString() → core::String*; -> core::Object::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 self::Base {
-  field core::int* _hashCode = null;
-  synthetic constructor •() → self::Sub*
+  field core::int? _hashCode = null;
+  synthetic constructor •() → self::Sub
     : super self::Base::•()
     ;
-  get hashCode() → core::int*
-    return let final core::int* #t1 = this.{self::Sub::_hashCode}{core::int*} in #t1 == null ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1;
+  get hashCode() → core::int
+    return let final core::int? #t1 = this.{self::Sub::_hashCode}{core::int?} in #t1 == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1{core::int};
   method foo() → dynamic {
-    this.{self::Sub::_hashCode}{core::int*} == null ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
+    this.{self::Sub::_hashCode}{core::int?} == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
   }
 }
 static method main() → dynamic {
-  core::print(new self::Sub::•().{self::Sub::hashCode}{core::int*});
-  core::List<Null>* l = <Null>[null];
-  let final core::List<Null>* #t2 = l in let final core::int* #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int*) →* Null} == null ?{core::String*} #t2.{core::List::[]=}(#t3, "fisk" as{TypeError} Null){(core::int*, Null) →* void} : null;
+  core::print(new self::Sub::•().{self::Sub::hashCode}{core::int});
+  core::List<core::String?> l = <core::String?>[null];
+  let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.modular.expect
index 5549963..80196b9 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.modular.expect
@@ -1,35 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Base extends core::Object {
-  field core::int* hashCode = 42;
-  synthetic constructor •() → self::Base*
+  field core::int hashCode = 42;
+  synthetic constructor •() → self::Base
     : 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 method toString() → core::String*; -> core::Object::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 self::Base {
-  field core::int* _hashCode = null;
-  synthetic constructor •() → self::Sub*
+  field core::int? _hashCode = null;
+  synthetic constructor •() → self::Sub
     : super self::Base::•()
     ;
-  get hashCode() → core::int*
-    return let final core::int* #t1 = this.{self::Sub::_hashCode}{core::int*} in #t1 == null ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1;
+  get hashCode() → core::int
+    return let final core::int? #t1 = this.{self::Sub::_hashCode}{core::int?} in #t1 == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1{core::int};
   method foo() → dynamic {
-    this.{self::Sub::_hashCode}{core::int*} == null ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
+    this.{self::Sub::_hashCode}{core::int?} == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
   }
 }
 static method main() → dynamic {
-  core::print(new self::Sub::•().{self::Sub::hashCode}{core::int*});
-  core::List<Null>* l = <Null>[null];
-  let final core::List<Null>* #t2 = l in let final core::int* #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int*) →* Null} == null ?{core::String*} #t2.{core::List::[]=}(#t3, "fisk" as{TypeError} Null){(core::int*, Null) →* void} : null;
+  core::print(new self::Sub::•().{self::Sub::hashCode}{core::int});
+  core::List<core::String?> l = <core::String?>[null];
+  let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.outline.expect
index e6229de..6dc020f 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.outline.expect
@@ -1,26 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Base extends core::Object {
-  field core::int* hashCode;
-  synthetic constructor •() → self::Base*
+  field core::int hashCode;
+  synthetic constructor •() → self::Base
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature method toString() → core::String*; -> core::Object::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 self::Base {
-  field core::int* _hashCode;
-  synthetic constructor •() → self::Sub*
+  field core::int? _hashCode;
+  synthetic constructor •() → self::Sub
     ;
-  get hashCode() → core::int*
+  get hashCode() → core::int
     ;
   method foo() → dynamic
     ;
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.transformed.expect
index 5e4e553..6368e55 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.transformed.expect
@@ -1,41 +1,32 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Base extends core::Object {
-  field core::int* hashCode = 42;
-  synthetic constructor •() → self::Base*
+  field core::int hashCode = 42;
+  synthetic constructor •() → self::Base
     : 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 method toString() → core::String*; -> core::Object::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 self::Base {
-  field core::int* _hashCode = null;
-  synthetic constructor •() → self::Sub*
+  field core::int? _hashCode = null;
+  synthetic constructor •() → self::Sub
     : super self::Base::•()
     ;
-  get hashCode() → core::int*
-    return let final core::int* #t1 = this.{self::Sub::_hashCode}{core::int*} in #t1 == null ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1;
+  get hashCode() → core::int
+    return let final core::int? #t1 = this.{self::Sub::_hashCode}{core::int?} in #t1 == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1{core::int};
   method foo() → dynamic {
-    this.{self::Sub::_hashCode}{core::int*} == null ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
+    this.{self::Sub::_hashCode}{core::int?} == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
   }
 }
 static method main() → dynamic {
-  core::print(new self::Sub::•().{self::Sub::hashCode}{core::int*});
-  core::List<Null>* l = core::_GrowableList::_literal1<Null>(null);
-  let final core::List<Null>* #t2 = l in let final core::int* #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int*) →* Null} == null ?{core::String*} #t2.{core::List::[]=}(#t3, "fisk" as{TypeError} Null){(core::int*, Null) →* void} : null;
+  core::print(new self::Sub::•().{self::Sub::hashCode}{core::int});
+  core::List<core::String?> l = core::_GrowableList::_literal1<core::String?>(null);
+  let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
 }
 
 
 Extra constant evaluation status:
 Evaluated: VariableGet @ org-dartlang-testcase:///issue_000081.dart:22:5 -> IntConstant(0)
 Evaluated: VariableGet @ org-dartlang-testcase:///issue_000081.dart:22:5 -> IntConstant(0)
-Extra constant evaluation: evaluated: 33, effectively constant: 2
+Extra constant evaluation: evaluated: 32, effectively constant: 2
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart
index 4644505..05cfa99 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.textual_outline.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.textual_outline.expect
index ed64514..42f4004 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   const A() : x = 'foo' {}
   :
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.expect
index 40bd823..a0572cf 100644
--- a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -29,19 +29,9 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::String* x = "foo";
-  constructor •() → self::A*
+  field core::String x = "foo";
+  constructor •() → self::A
     : self::A::x = "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 main() → dynamic {
   invalid-expression "pkg/front_end/testcases/rasta/malformed_const_constructor.dart:13:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.modular.expect
index 40bd823..a0572cf 100644
--- a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -29,19 +29,9 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::String* x = "foo";
-  constructor •() → self::A*
+  field core::String x = "foo";
+  constructor •() → self::A
     : self::A::x = "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 main() → dynamic {
   invalid-expression "pkg/front_end/testcases/rasta/malformed_const_constructor.dart:13:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.outline.expect
index eaf9c61..6b2c7aa 100644
--- a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -24,19 +24,9 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::String* x;
-  constructor •() → self::A*
+  field core::String x;
+  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/rasta/malformed_const_constructor.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.transformed.expect
index 40bd823..a0572cf 100644
--- a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -29,19 +29,9 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::String* x = "foo";
-  constructor •() → self::A*
+  field core::String x = "foo";
+  constructor •() → self::A
     : self::A::x = "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 main() → dynamic {
   invalid-expression "pkg/front_end/testcases/rasta/malformed_const_constructor.dart:13:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart b/pkg/front_end/testcases/rasta/malformed_function.dart
index 6441714..8d0c3c8 100644
--- a/pkg/front_end/testcases/rasta/malformed_function.dart
+++ b/pkg/front_end/testcases/rasta/malformed_function.dart
@@ -1,7 +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() {
   (null) = null;
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 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart.weak.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.expect
index 35bc1cd..0481716 100644
--- a/pkg/front_end/testcases/rasta/malformed_function.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.expect
@@ -1,15 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/rasta/malformed_function.dart:7:8: Error: Can't assign to a parenthesized expression.
+// pkg/front_end/testcases/rasta/malformed_function.dart:6:8: Error: Can't assign to a parenthesized expression.
 //   (null) = null;
 //        ^
 //
 import self as self;
 
 static method main() → dynamic {
-  invalid-expression "pkg/front_end/testcases/rasta/malformed_function.dart:7:8: Error: Can't assign to a parenthesized expression.
+  invalid-expression "pkg/front_end/testcases/rasta/malformed_function.dart:6:8: Error: Can't assign to a parenthesized expression.
   (null) = null;
        ^";
 }
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.modular.expect
index 35bc1cd..0481716 100644
--- a/pkg/front_end/testcases/rasta/malformed_function.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.modular.expect
@@ -1,15 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/rasta/malformed_function.dart:7:8: Error: Can't assign to a parenthesized expression.
+// pkg/front_end/testcases/rasta/malformed_function.dart:6:8: Error: Can't assign to a parenthesized expression.
 //   (null) = null;
 //        ^
 //
 import self as self;
 
 static method main() → dynamic {
-  invalid-expression "pkg/front_end/testcases/rasta/malformed_function.dart:7:8: Error: Can't assign to a parenthesized expression.
+  invalid-expression "pkg/front_end/testcases/rasta/malformed_function.dart:6:8: Error: Can't assign to a parenthesized expression.
   (null) = null;
        ^";
 }
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/malformed_function.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.transformed.expect
index 35bc1cd..0481716 100644
--- a/pkg/front_end/testcases/rasta/malformed_function.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.transformed.expect
@@ -1,15 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/rasta/malformed_function.dart:7:8: Error: Can't assign to a parenthesized expression.
+// pkg/front_end/testcases/rasta/malformed_function.dart:6:8: Error: Can't assign to a parenthesized expression.
 //   (null) = null;
 //        ^
 //
 import self as self;
 
 static method main() → dynamic {
-  invalid-expression "pkg/front_end/testcases/rasta/malformed_function.dart:7:8: Error: Can't assign to a parenthesized expression.
+  invalid-expression "pkg/front_end/testcases/rasta/malformed_function.dart:6:8: Error: Can't assign to a parenthesized expression.
   (null) = null;
        ^";
 }
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart b/pkg/front_end/testcases/rasta/malformed_function_type.dart
index 421a840..3b2ad71 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 74b053b..6587e81 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,3 +1,2 @@
-// @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 f6b9e28..2afa7c6 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,3 +1,2 @@
-// @dart = 2.9
 main() {}
 typedef Handle Handle(String command);
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.expect
index 3444c42..b3a4eb0 100644
--- a/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.modular.expect
index 3444c42..b3a4eb0 100644
--- a/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.outline.expect
index dc3f69b..1c330ee 100644
--- a/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.transformed.expect
index 3444c42..b3a4eb0 100644
--- a/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart
index 17e7ec8..60805fe 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 7fe4a13..7184e04 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,2 +1 @@
-// @dart = 2.9
 main(arguments = [x]) {}
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.expect b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.expect
index ac6a230..5cb17fa 100644
--- a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.modular.expect
index ac6a230..5cb17fa 100644
--- a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.outline.expect
index 347001a..377ace0 100644
--- a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.transformed.expect
index ac6a230..5cb17fa 100644
--- a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart b/pkg/front_end/testcases/rasta/mixin_library.dart
index 184cc8c..e441d85 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;
@@ -12,9 +12,9 @@
 
 class Mixin<T> {
   var x = f(), y, z;
-  T t;
+  T? t;
   foo() => super.foo() + f();
-  T g(T a) => null;
+  T? g(T a) => null;
   h() => V();
   l() => _private();
   _privateMethod() => 49;
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 474bd37a..1c6c28f 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,4 +1,3 @@
-// @dart = 2.9
 library test.mixin_library;
 
 f() => 2;
@@ -7,9 +6,9 @@
 
 class Mixin<T> {
   var x = f(), y, z;
-  T t;
+  T? t;
   foo() => super.foo() + f();
-  T g(T a) => null;
+  T? g(T a) => null;
   h() => V();
   l() => _private();
   _privateMethod() => 49;
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 37e28e4..c541020 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,12 +1,11 @@
-// @dart = 2.9
 library test.mixin_library;
 
 V() => 87;
 _private() => 117;
 
 class Mixin<T> {
-  T g(T a) => null;
-  T t;
+  T? g(T a) => null;
+  T? t;
   _privateMethod() => 49;
   foo() => super.foo() + f();
   h() => V();
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart.weak.expect b/pkg/front_end/testcases/rasta/mixin_library.dart.weak.expect
index e6d1af6..b2c83f5 100644
--- a/pkg/front_end/testcases/rasta/mixin_library.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/mixin_library.dart.weak.expect
@@ -1,4 +1,4 @@
-library test.mixin_library;
+library test.mixin_library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,17 +9,17 @@
 import self as self;
 import "dart:core" as core;
 
-class Mixin<T extends core::Object* = dynamic> extends core::Object {
+class Mixin<T extends core::Object? = dynamic> extends core::Object {
   field dynamic x = self::f();
   field dynamic y = null;
   field dynamic z = null;
-  covariant-by-class field self::Mixin::T* t = null;
-  synthetic constructor •() → self::Mixin<self::Mixin::T*>*
+  covariant-by-class field self::Mixin::T? t = null;
+  synthetic constructor •() → self::Mixin<self::Mixin::T%>
     : super core::Object::•()
     ;
   method foo() → dynamic
     return super.foo(){dynamic}.+(self::f());
-  method g(covariant-by-class self::Mixin::T* a) → self::Mixin::T*
+  method g(covariant-by-class self::Mixin::T% a) → self::Mixin::T?
     return null;
   method h() → dynamic
     return self::V();
@@ -28,17 +28,7 @@
   method _privateMethod() → dynamic
     return 49;
   method publicMethod() → dynamic
-    return this.{self::Mixin::_privateMethod}(){() →* 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
+    return this.{self::Mixin::_privateMethod}(){() → dynamic};
 }
 static method f() → dynamic
   return 2;
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/mixin_library.dart.weak.modular.expect
index e6d1af6..b2c83f5 100644
--- a/pkg/front_end/testcases/rasta/mixin_library.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/mixin_library.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library test.mixin_library;
+library test.mixin_library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,17 +9,17 @@
 import self as self;
 import "dart:core" as core;
 
-class Mixin<T extends core::Object* = dynamic> extends core::Object {
+class Mixin<T extends core::Object? = dynamic> extends core::Object {
   field dynamic x = self::f();
   field dynamic y = null;
   field dynamic z = null;
-  covariant-by-class field self::Mixin::T* t = null;
-  synthetic constructor •() → self::Mixin<self::Mixin::T*>*
+  covariant-by-class field self::Mixin::T? t = null;
+  synthetic constructor •() → self::Mixin<self::Mixin::T%>
     : super core::Object::•()
     ;
   method foo() → dynamic
     return super.foo(){dynamic}.+(self::f());
-  method g(covariant-by-class self::Mixin::T* a) → self::Mixin::T*
+  method g(covariant-by-class self::Mixin::T% a) → self::Mixin::T?
     return null;
   method h() → dynamic
     return self::V();
@@ -28,17 +28,7 @@
   method _privateMethod() → dynamic
     return 49;
   method publicMethod() → dynamic
-    return this.{self::Mixin::_privateMethod}(){() →* 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
+    return this.{self::Mixin::_privateMethod}(){() → dynamic};
 }
 static method f() → dynamic
   return 2;
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/mixin_library.dart.weak.outline.expect
index 4eb68b3..97d8008 100644
--- a/pkg/front_end/testcases/rasta/mixin_library.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/mixin_library.dart.weak.outline.expect
@@ -1,17 +1,17 @@
-library test.mixin_library;
+library test.mixin_library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class Mixin<T extends core::Object* = dynamic> extends core::Object {
+class Mixin<T extends core::Object? = dynamic> extends core::Object {
   field dynamic x;
   field dynamic y;
   field dynamic z;
-  covariant-by-class field self::Mixin::T* t;
-  synthetic constructor •() → self::Mixin<self::Mixin::T*>*
+  covariant-by-class field self::Mixin::T? t;
+  synthetic constructor •() → self::Mixin<self::Mixin::T%>
     ;
   method foo() → dynamic
     ;
-  method g(covariant-by-class self::Mixin::T* a) → self::Mixin::T*
+  method g(covariant-by-class self::Mixin::T% a) → self::Mixin::T?
     ;
   method h() → dynamic
     ;
@@ -21,16 +21,6 @@
     ;
   method publicMethod() → 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 f() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart b/pkg/front_end/testcases/rasta/native_is_illegal.dart
index 9004717..84b8275 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.textual_outline.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.textual_outline.expect
index cfac286..f28a475 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,4 +1,3 @@
-// @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 70d6f72..61833c6 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.expect
index b24cb95..09d6406 100644
--- a/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
 class Bar extends core::Object {
   @#C2
-  external get x() → self::Bar*;
+  external get x() → self::Bar;
   @#C4
-  external set x(self::Bar* value) → void;
+  external set x(self::Bar value) → void;
   @#C6
   external method f() → dynamic;
   @#C8
-  external static factory •() → 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
+  external static factory •() → self::Bar;
 }
 @#C10
 external static method foo() → dynamic;
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.modular.expect
index b24cb95..09d6406 100644
--- a/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.modular.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
 class Bar extends core::Object {
   @#C2
-  external get x() → self::Bar*;
+  external get x() → self::Bar;
   @#C4
-  external set x(self::Bar* value) → void;
+  external set x(self::Bar value) → void;
   @#C6
   external method f() → dynamic;
   @#C8
-  external static factory •() → 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
+  external static factory •() → self::Bar;
 }
 @#C10
 external static method foo() → dynamic;
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.outline.expect
index 24d4e95..c33cad6 100644
--- a/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.outline.expect
@@ -1,21 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Bar extends core::Object {
-  external get x() → self::Bar*;
-  external set x(self::Bar* value) → void;
+  external get x() → self::Bar;
+  external set x(self::Bar value) → void;
   external method f() → dynamic;
-  external static factory •() → 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
+  external static factory •() → self::Bar;
 }
 external static method foo() → dynamic;
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.transformed.expect
index b24cb95..09d6406 100644
--- a/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.transformed.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
 class Bar extends core::Object {
   @#C2
-  external get x() → self::Bar*;
+  external get x() → self::Bar;
   @#C4
-  external set x(self::Bar* value) → void;
+  external set x(self::Bar value) → void;
   @#C6
   external method f() → dynamic;
   @#C8
-  external static factory •() → 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
+  external static factory •() → self::Bar;
 }
 @#C10
 external static method foo() → dynamic;
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart b/pkg/front_end/testcases/rasta/parser_error.dart
index 4c72c20..130d0ea 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.textual_outline.expect b/pkg/front_end/testcases/rasta/parser_error.dart.textual_outline.expect
index 23b1d7b..bbfef96 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,4 +1,3 @@
-// @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 23b1d7b..bbfef96 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,4 +1,3 @@
-// @dart = 2.9
 import "package:expect/expect.dart";
 
 int test(a, {b, c}) {}
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.weak.expect b/pkg/front_end/testcases/rasta/parser_error.dart.weak.expect
index b83c501..c5d5819 100644
--- a/pkg/front_end/testcases/rasta/parser_error.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/parser_error.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,14 +22,14 @@
 
 import "package:expect/expect.dart";
 
-static method test(dynamic a, {dynamic b = #C1, dynamic c = #C1}) → core::int* {
+static method test(dynamic a, {dynamic b = #C1, dynamic c = #C1}) → core::int {
   if(invalid-expression "pkg/front_end/testcases/rasta/parser_error.dart:10:7: Error: This couldn't be parsed.
   if (?b) return b;  /// 01: compile-time error
       ^" ?{invalid-type} b : invalid-expression "pkg/front_end/testcases/rasta/parser_error.dart:10:9: Error: This couldn't be parsed.
   if (?b) return b;  /// 01: compile-time error
         ^")
-    return b as{TypeError,ForDynamic} core::int*;
-  return a{dynamic}.+(b){dynamic}.+(c) as{TypeError,ForDynamic} core::int*;
+    return b as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  return a{dynamic}.+(b){dynamic}.+(c) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
 }
 static method main() → dynamic {
   exp::Expect::equals(6, self::test(1, b: 2, c: 3));
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/parser_error.dart.weak.modular.expect
index b83c501..c5d5819 100644
--- a/pkg/front_end/testcases/rasta/parser_error.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/parser_error.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,14 +22,14 @@
 
 import "package:expect/expect.dart";
 
-static method test(dynamic a, {dynamic b = #C1, dynamic c = #C1}) → core::int* {
+static method test(dynamic a, {dynamic b = #C1, dynamic c = #C1}) → core::int {
   if(invalid-expression "pkg/front_end/testcases/rasta/parser_error.dart:10:7: Error: This couldn't be parsed.
   if (?b) return b;  /// 01: compile-time error
       ^" ?{invalid-type} b : invalid-expression "pkg/front_end/testcases/rasta/parser_error.dart:10:9: Error: This couldn't be parsed.
   if (?b) return b;  /// 01: compile-time error
         ^")
-    return b as{TypeError,ForDynamic} core::int*;
-  return a{dynamic}.+(b){dynamic}.+(c) as{TypeError,ForDynamic} core::int*;
+    return b as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  return a{dynamic}.+(b){dynamic}.+(c) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
 }
 static method main() → dynamic {
   exp::Expect::equals(6, self::test(1, b: 2, c: 3));
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/parser_error.dart.weak.outline.expect
index 0beef0a..9473147 100644
--- a/pkg/front_end/testcases/rasta/parser_error.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/parser_error.dart.weak.outline.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "package:expect/expect.dart";
 
-static method test(dynamic a, {dynamic b, dynamic c}) → core::int*
+static method test(dynamic a, {dynamic b, dynamic c}) → core::int
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/parser_error.dart.weak.transformed.expect
index b83c501..c5d5819 100644
--- a/pkg/front_end/testcases/rasta/parser_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/parser_error.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,14 +22,14 @@
 
 import "package:expect/expect.dart";
 
-static method test(dynamic a, {dynamic b = #C1, dynamic c = #C1}) → core::int* {
+static method test(dynamic a, {dynamic b = #C1, dynamic c = #C1}) → core::int {
   if(invalid-expression "pkg/front_end/testcases/rasta/parser_error.dart:10:7: Error: This couldn't be parsed.
   if (?b) return b;  /// 01: compile-time error
       ^" ?{invalid-type} b : invalid-expression "pkg/front_end/testcases/rasta/parser_error.dart:10:9: Error: This couldn't be parsed.
   if (?b) return b;  /// 01: compile-time error
         ^")
-    return b as{TypeError,ForDynamic} core::int*;
-  return a{dynamic}.+(b){dynamic}.+(c) as{TypeError,ForDynamic} core::int*;
+    return b as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  return a{dynamic}.+(b){dynamic}.+(c) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
 }
 static method main() → dynamic {
   exp::Expect::equals(6, self::test(1, b: 2, c: 3));
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart b/pkg/front_end/testcases/rasta/previsit_deferred.dart
index 7dc438f..ac2c00c 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 87d2faf..05d29b6 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,4 +1,3 @@
-// @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 87d2faf..05d29b6 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,4 +1,3 @@
-// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.expect
index 0a16b0d..df83b80 100644
--- a/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "deferred_lib.dart" as def;
 
@@ -9,7 +9,7 @@
   let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::foo();
 }
 
-library deferred_lib;
+library deferred_lib /*isNonNullableByDefault*/;
 import self as def;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.modular.expect
index 0a16b0d..df83b80 100644
--- a/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "deferred_lib.dart" as def;
 
@@ -9,7 +9,7 @@
   let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::foo();
 }
 
-library deferred_lib;
+library deferred_lib /*isNonNullableByDefault*/;
 import self as def;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.outline.expect
index c800260..61bfbcb 100644
--- a/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
@@ -8,7 +8,7 @@
 static method test() → dynamic
   ;
 
-library deferred_lib;
+library deferred_lib /*isNonNullableByDefault*/;
 import self as self2;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.transformed.expect
index 15f8439..d2d2a4a 100644
--- a/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "deferred_lib.dart" as def;
@@ -10,7 +10,7 @@
   let final core::Object* #t1 = CheckLibraryIsLoaded(lib) in def::foo();
 }
 
-library deferred_lib;
+library deferred_lib /*isNonNullableByDefault*/;
 import self as def;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/rasta/static.dart b/pkg/front_end/testcases/rasta/static.dart
index 5375c40..a95c6e6 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.textual_outline.expect b/pkg/front_end/testcases/rasta/static.dart.textual_outline.expect
index 6565604..e24cfe0 100644
--- a/pkg/front_end/testcases/rasta/static.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @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 6c7a474..079b3cc 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,4 +1,3 @@
-// @dart = 2.9
 class Foo {
   static const staticConstant = 42;
   static get staticGetter => null;
diff --git a/pkg/front_end/testcases/rasta/static.dart.weak.expect b/pkg/front_end/testcases/rasta/static.dart.weak.expect
index 3be7b62..3272801 100644
--- a/pkg/front_end/testcases/rasta/static.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -158,32 +158,46 @@
 //     use(Foo.staticField());
 //                        ^
 //
+// pkg/front_end/testcases/rasta/static.dart:75:9: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     Foo.staticConstant ??= 87;
+//         ^
+//
+// pkg/front_end/testcases/rasta/static.dart:76:13: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     use(Foo.staticConstant ??= 87);
+//             ^
+//
+// pkg/front_end/testcases/rasta/static.dart:77:9: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     Foo.staticField ??= 87;
+//         ^
+//
+// pkg/front_end/testcases/rasta/static.dart:78:13: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     use(Foo.staticField ??= 87);
+//             ^
+//
+// pkg/front_end/testcases/rasta/static.dart:79:9: Warning: Operand of null-aware operation '??=' has type 'dynamic Function()' which excludes null.
+//     Foo.staticFunction ??= 87;
+//         ^
+//
+// pkg/front_end/testcases/rasta/static.dart:80:13: Warning: Operand of null-aware operation '??=' has type 'dynamic Function()' which excludes null.
+//     use(Foo.staticFunction ??= 87);
+//             ^
+//
 import self as self;
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  static const field core::int* staticConstant = #C1;
-  static field core::int* staticField = 42;
-  synthetic constructor •() → self::Foo*
+  static const field core::int staticConstant = #C1;
+  static field core::int staticField = 42;
+  synthetic constructor •() → self::Foo
     : super core::Object::•()
     ;
   static method staticFunction() → dynamic {}
   static get staticGetter() → dynamic
     return null;
   static set staticSetter(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 use(dynamic x) → dynamic {
-  if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
+  if(x =={core::Object::==}{(core::Object) → core::bool} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int})
     throw "Shouldn't happen";
 }
 static method main() → dynamic {
@@ -205,15 +219,15 @@
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:31:9: Error: Setter not found: 'staticConstant'.
     Foo.staticConstant++;
         ^^^^^^^^^^^^^^";
-    self::use(let final core::int* #t1 = #C1 in let final invalid-type #t2 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:32:13: Error: Setter not found: 'staticConstant'.
+    self::use(let final core::int #t1 = #C1 in let final invalid-type #t2 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:32:13: Error: Setter not found: 'staticConstant'.
     use(Foo.staticConstant++);
             ^^^^^^^^^^^^^^" in #t1);
-    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*};
-    self::use(let final core::int* #t3 = self::Foo::staticField in let final core::int* #t4 = self::Foo::staticField = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3);
+    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num) → core::int};
+    self::use(let final core::int #t3 = self::Foo::staticField in let final core::int #t4 = self::Foo::staticField = #t3.{core::num::+}(1){(core::num) → core::int} in #t3);
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:35:9: Error: Setter not found: 'staticFunction'.
     Foo.staticFunction++;
         ^^^^^^^^^^^^^^";
-    self::use(let final () →* dynamic #t5 = #C2 in let final invalid-type #t6 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:36:13: Error: Setter not found: 'staticFunction'.
+    self::use(let final () → dynamic #t5 = #C2 in let final invalid-type #t6 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:36:13: Error: Setter not found: 'staticFunction'.
     use(Foo.staticFunction++);
             ^^^^^^^^^^^^^^" in #t5);
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:37:9: Error: Setter not found: 'staticGetter'.
@@ -234,8 +248,8 @@
     self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:43:15: Error: Setter not found: 'staticConstant'.
     use(++Foo.staticConstant);
               ^^^^^^^^^^^^^^");
-    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*};
-    self::use(self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*});
+    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num) → core::int};
+    self::use(self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num) → core::int});
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:46:11: Error: Setter not found: 'staticFunction'.
     ++Foo.staticFunction;
           ^^^^^^^^^^^^^^";
@@ -305,15 +319,15 @@
     #C1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:75:9: Error: Setter not found: 'staticConstant'.
     Foo.staticConstant ??= 87;
         ^^^^^^^^^^^^^^" : null;
-    self::use(let final core::int* #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
+    self::use(let final core::int #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
     use(Foo.staticConstant ??= 87);
             ^^^^^^^^^^^^^^" : #t11);
-    self::Foo::staticField == null ?{core::int*} self::Foo::staticField = 87 : null;
-    self::use(let final core::int* #t12 = self::Foo::staticField in #t12 == null ?{core::int*} self::Foo::staticField = 87 : #t12);
+    self::Foo::staticField == null ?{core::int} self::Foo::staticField = 87 : null;
+    self::use(let final core::int #t12 = self::Foo::staticField in #t12 == null ?{core::int} self::Foo::staticField = 87 : #t12);
     #C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
     Foo.staticFunction ??= 87;
         ^^^^^^^^^^^^^^" : null;
-    self::use(let final () →* dynamic #t13 = #C2 in #t13 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
+    self::use(let final () → dynamic #t13 = #C2 in #t13 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
     use(Foo.staticFunction ??= 87);
             ^^^^^^^^^^^^^^" : #t13);
     self::Foo::staticGetter == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:81:9: Error: Setter not found: 'staticGetter'.
@@ -329,7 +343,7 @@
     use(Foo.staticSetter ??= 87);
             ^^^^^^^^^^^^" in #t15 == null ?{invalid-type} self::Foo::staticSetter = 87 : #t15);
   }
-  on core::NoSuchMethodError* catch(no-exception-var) {
+  on core::NoSuchMethodError catch(no-exception-var) {
   }
 }
 
diff --git a/pkg/front_end/testcases/rasta/static.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/static.dart.weak.modular.expect
index 3be7b62..3272801 100644
--- a/pkg/front_end/testcases/rasta/static.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -158,32 +158,46 @@
 //     use(Foo.staticField());
 //                        ^
 //
+// pkg/front_end/testcases/rasta/static.dart:75:9: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     Foo.staticConstant ??= 87;
+//         ^
+//
+// pkg/front_end/testcases/rasta/static.dart:76:13: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     use(Foo.staticConstant ??= 87);
+//             ^
+//
+// pkg/front_end/testcases/rasta/static.dart:77:9: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     Foo.staticField ??= 87;
+//         ^
+//
+// pkg/front_end/testcases/rasta/static.dart:78:13: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     use(Foo.staticField ??= 87);
+//             ^
+//
+// pkg/front_end/testcases/rasta/static.dart:79:9: Warning: Operand of null-aware operation '??=' has type 'dynamic Function()' which excludes null.
+//     Foo.staticFunction ??= 87;
+//         ^
+//
+// pkg/front_end/testcases/rasta/static.dart:80:13: Warning: Operand of null-aware operation '??=' has type 'dynamic Function()' which excludes null.
+//     use(Foo.staticFunction ??= 87);
+//             ^
+//
 import self as self;
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  static const field core::int* staticConstant = #C1;
-  static field core::int* staticField = 42;
-  synthetic constructor •() → self::Foo*
+  static const field core::int staticConstant = #C1;
+  static field core::int staticField = 42;
+  synthetic constructor •() → self::Foo
     : super core::Object::•()
     ;
   static method staticFunction() → dynamic {}
   static get staticGetter() → dynamic
     return null;
   static set staticSetter(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 use(dynamic x) → dynamic {
-  if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
+  if(x =={core::Object::==}{(core::Object) → core::bool} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int})
     throw "Shouldn't happen";
 }
 static method main() → dynamic {
@@ -205,15 +219,15 @@
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:31:9: Error: Setter not found: 'staticConstant'.
     Foo.staticConstant++;
         ^^^^^^^^^^^^^^";
-    self::use(let final core::int* #t1 = #C1 in let final invalid-type #t2 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:32:13: Error: Setter not found: 'staticConstant'.
+    self::use(let final core::int #t1 = #C1 in let final invalid-type #t2 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:32:13: Error: Setter not found: 'staticConstant'.
     use(Foo.staticConstant++);
             ^^^^^^^^^^^^^^" in #t1);
-    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*};
-    self::use(let final core::int* #t3 = self::Foo::staticField in let final core::int* #t4 = self::Foo::staticField = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3);
+    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num) → core::int};
+    self::use(let final core::int #t3 = self::Foo::staticField in let final core::int #t4 = self::Foo::staticField = #t3.{core::num::+}(1){(core::num) → core::int} in #t3);
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:35:9: Error: Setter not found: 'staticFunction'.
     Foo.staticFunction++;
         ^^^^^^^^^^^^^^";
-    self::use(let final () →* dynamic #t5 = #C2 in let final invalid-type #t6 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:36:13: Error: Setter not found: 'staticFunction'.
+    self::use(let final () → dynamic #t5 = #C2 in let final invalid-type #t6 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:36:13: Error: Setter not found: 'staticFunction'.
     use(Foo.staticFunction++);
             ^^^^^^^^^^^^^^" in #t5);
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:37:9: Error: Setter not found: 'staticGetter'.
@@ -234,8 +248,8 @@
     self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:43:15: Error: Setter not found: 'staticConstant'.
     use(++Foo.staticConstant);
               ^^^^^^^^^^^^^^");
-    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*};
-    self::use(self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*});
+    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num) → core::int};
+    self::use(self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num) → core::int});
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:46:11: Error: Setter not found: 'staticFunction'.
     ++Foo.staticFunction;
           ^^^^^^^^^^^^^^";
@@ -305,15 +319,15 @@
     #C1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:75:9: Error: Setter not found: 'staticConstant'.
     Foo.staticConstant ??= 87;
         ^^^^^^^^^^^^^^" : null;
-    self::use(let final core::int* #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
+    self::use(let final core::int #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
     use(Foo.staticConstant ??= 87);
             ^^^^^^^^^^^^^^" : #t11);
-    self::Foo::staticField == null ?{core::int*} self::Foo::staticField = 87 : null;
-    self::use(let final core::int* #t12 = self::Foo::staticField in #t12 == null ?{core::int*} self::Foo::staticField = 87 : #t12);
+    self::Foo::staticField == null ?{core::int} self::Foo::staticField = 87 : null;
+    self::use(let final core::int #t12 = self::Foo::staticField in #t12 == null ?{core::int} self::Foo::staticField = 87 : #t12);
     #C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
     Foo.staticFunction ??= 87;
         ^^^^^^^^^^^^^^" : null;
-    self::use(let final () →* dynamic #t13 = #C2 in #t13 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
+    self::use(let final () → dynamic #t13 = #C2 in #t13 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
     use(Foo.staticFunction ??= 87);
             ^^^^^^^^^^^^^^" : #t13);
     self::Foo::staticGetter == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:81:9: Error: Setter not found: 'staticGetter'.
@@ -329,7 +343,7 @@
     use(Foo.staticSetter ??= 87);
             ^^^^^^^^^^^^" in #t15 == null ?{invalid-type} self::Foo::staticSetter = 87 : #t15);
   }
-  on core::NoSuchMethodError* catch(no-exception-var) {
+  on core::NoSuchMethodError catch(no-exception-var) {
   }
 }
 
diff --git a/pkg/front_end/testcases/rasta/static.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/static.dart.weak.outline.expect
index 2c8f8c3..8372222 100644
--- a/pkg/front_end/testcases/rasta/static.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.weak.outline.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  static const field core::int* staticConstant = 42;
-  static field core::int* staticField;
-  synthetic constructor •() → self::Foo*
+  static const field core::int staticConstant = 42;
+  static field core::int staticField;
+  synthetic constructor •() → self::Foo
     ;
   static method staticFunction() → dynamic
     ;
@@ -13,16 +13,6 @@
     ;
   static set staticSetter(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 use(dynamic x) → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/static.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/static.dart.weak.transformed.expect
index 4938d46..2e1d10f 100644
--- a/pkg/front_end/testcases/rasta/static.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -158,32 +158,46 @@
 //     use(Foo.staticField());
 //                        ^
 //
+// pkg/front_end/testcases/rasta/static.dart:75:9: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     Foo.staticConstant ??= 87;
+//         ^
+//
+// pkg/front_end/testcases/rasta/static.dart:76:13: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     use(Foo.staticConstant ??= 87);
+//             ^
+//
+// pkg/front_end/testcases/rasta/static.dart:77:9: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     Foo.staticField ??= 87;
+//         ^
+//
+// pkg/front_end/testcases/rasta/static.dart:78:13: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+//     use(Foo.staticField ??= 87);
+//             ^
+//
+// pkg/front_end/testcases/rasta/static.dart:79:9: Warning: Operand of null-aware operation '??=' has type 'dynamic Function()' which excludes null.
+//     Foo.staticFunction ??= 87;
+//         ^
+//
+// pkg/front_end/testcases/rasta/static.dart:80:13: Warning: Operand of null-aware operation '??=' has type 'dynamic Function()' which excludes null.
+//     use(Foo.staticFunction ??= 87);
+//             ^
+//
 import self as self;
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  static const field core::int* staticConstant = #C1;
-  static field core::int* staticField = 42;
-  synthetic constructor •() → self::Foo*
+  static const field core::int staticConstant = #C1;
+  static field core::int staticField = 42;
+  synthetic constructor •() → self::Foo
     : super core::Object::•()
     ;
   static method staticFunction() → dynamic {}
   static get staticGetter() → dynamic
     return null;
   static set staticSetter(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 use(dynamic x) → dynamic {
-  if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
+  if(x =={core::Object::==}{(core::Object) → core::bool} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int})
     throw "Shouldn't happen";
 }
 static method main() → dynamic {
@@ -205,15 +219,15 @@
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:31:9: Error: Setter not found: 'staticConstant'.
     Foo.staticConstant++;
         ^^^^^^^^^^^^^^";
-    self::use(let final core::int* #t1 = #C1 in let final invalid-type #t2 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:32:13: Error: Setter not found: 'staticConstant'.
+    self::use(let final core::int #t1 = #C1 in let final invalid-type #t2 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:32:13: Error: Setter not found: 'staticConstant'.
     use(Foo.staticConstant++);
             ^^^^^^^^^^^^^^" in #t1);
-    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*};
-    self::use(let final core::int* #t3 = self::Foo::staticField in let final core::int* #t4 = self::Foo::staticField = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3);
+    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num) → core::int};
+    self::use(let final core::int #t3 = self::Foo::staticField in let final core::int #t4 = self::Foo::staticField = #t3.{core::num::+}(1){(core::num) → core::int} in #t3);
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:35:9: Error: Setter not found: 'staticFunction'.
     Foo.staticFunction++;
         ^^^^^^^^^^^^^^";
-    self::use(let final () →* dynamic #t5 = #C2 in let final invalid-type #t6 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:36:13: Error: Setter not found: 'staticFunction'.
+    self::use(let final () → dynamic #t5 = #C2 in let final invalid-type #t6 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:36:13: Error: Setter not found: 'staticFunction'.
     use(Foo.staticFunction++);
             ^^^^^^^^^^^^^^" in #t5);
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:37:9: Error: Setter not found: 'staticGetter'.
@@ -234,8 +248,8 @@
     self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:43:15: Error: Setter not found: 'staticConstant'.
     use(++Foo.staticConstant);
               ^^^^^^^^^^^^^^");
-    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*};
-    self::use(self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*});
+    self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num) → core::int};
+    self::use(self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num) → core::int});
     invalid-expression "pkg/front_end/testcases/rasta/static.dart:46:11: Error: Setter not found: 'staticFunction'.
     ++Foo.staticFunction;
           ^^^^^^^^^^^^^^";
@@ -305,15 +319,15 @@
     #C1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:75:9: Error: Setter not found: 'staticConstant'.
     Foo.staticConstant ??= 87;
         ^^^^^^^^^^^^^^" : null;
-    self::use(let final core::int* #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
+    self::use(let final core::int #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
     use(Foo.staticConstant ??= 87);
             ^^^^^^^^^^^^^^" : #t11);
-    self::Foo::staticField == null ?{core::int*} self::Foo::staticField = 87 : null;
-    self::use(let final core::int* #t12 = self::Foo::staticField in #t12 == null ?{core::int*} self::Foo::staticField = 87 : #t12);
+    self::Foo::staticField == null ?{core::int} self::Foo::staticField = 87 : null;
+    self::use(let final core::int #t12 = self::Foo::staticField in #t12 == null ?{core::int} self::Foo::staticField = 87 : #t12);
     #C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
     Foo.staticFunction ??= 87;
         ^^^^^^^^^^^^^^" : null;
-    self::use(let final () →* dynamic #t13 = #C2 in #t13 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
+    self::use(let final () → dynamic #t13 = #C2 in #t13 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
     use(Foo.staticFunction ??= 87);
             ^^^^^^^^^^^^^^" : #t13);
     self::Foo::staticGetter == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:81:9: Error: Setter not found: 'staticGetter'.
@@ -329,7 +343,7 @@
     use(Foo.staticSetter ??= 87);
             ^^^^^^^^^^^^" in #t15 == null ?{invalid-type} self::Foo::staticSetter = 87 : #t15);
   }
-  on core::NoSuchMethodError* catch(no-exception-var) {
+  on core::NoSuchMethodError catch(no-exception-var) {
   }
 }
 
diff --git a/pkg/front_end/testcases/rasta/super.dart b/pkg/front_end/testcases/rasta/super.dart
index 99b7d5a..3ad3f2a 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.textual_outline.expect b/pkg/front_end/testcases/rasta/super.dart.textual_outline.expect
index 76c1398..df2c783 100644
--- a/pkg/front_end/testcases/rasta/super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @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 e01c37b..9ce4369 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   final f;
   get e => null;
diff --git a/pkg/front_end/testcases/rasta/super.dart.weak.expect b/pkg/front_end/testcases/rasta/super.dart.weak.expect
index e24c07d..7c84eab 100644
--- a/pkg/front_end/testcases/rasta/super.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -293,6 +293,22 @@
 //     use(super.n(87));
 //                ^
 //
+// pkg/front_end/testcases/rasta/super.dart:197:11: Warning: Operand of null-aware operation '??=' has type 'void Function()' which excludes null.
+//     super.m ??= 42;
+//           ^
+//
+// pkg/front_end/testcases/rasta/super.dart:198:15: Warning: Operand of null-aware operation '??=' has type 'void Function()' which excludes null.
+//     use(super.m ??= 42);
+//               ^
+//
+// pkg/front_end/testcases/rasta/super.dart:199:11: Warning: Operand of null-aware operation '??=' has type 'void Function()' which excludes null.
+//     super.n ??= 42;
+//           ^
+//
+// pkg/front_end/testcases/rasta/super.dart:200:15: Warning: Operand of null-aware operation '??=' has type 'void Function()' which excludes null.
+//     use(super.n ??= 42);
+//               ^
+//
 // pkg/front_end/testcases/rasta/super.dart:222:13: Error: The operator '+' isn't defined for the class 'void Function()'.
 // Try correcting the operator to an existing operator, or defining a '+' operator.
 //     super.m += 42;
@@ -352,7 +368,7 @@
   field dynamic c = null;
   field dynamic d = null;
   final field dynamic f = null;
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   get e() → dynamic
@@ -370,24 +386,15 @@
     return 117;
   operator unary-() → dynamic
     return 117;
-  operator ==(dynamic other) → core::bool*
+  operator ==(core::Object other) → core::bool
     return true;
   method m() → void {}
   method n() → void {}
   set n(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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 {
   final field dynamic d = null;
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
   get b() → dynamic
@@ -396,7 +403,7 @@
   set i(dynamic x) → void {}
 }
 class C extends self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
   method test() → dynamic {
@@ -462,13 +469,13 @@
     self::use(let final dynamic #t15 = super.{self::A::h} in let final dynamic #t16 = super.{self::A::h} = #t15{dynamic}.+(1) in #t15);
     super.{self::B::i} = super.{self::A::i}{dynamic}.+(1);
     self::use(let final dynamic #t17 = super.{self::A::i} in let final dynamic #t18 = super.{self::B::i} = #t17{dynamic}.+(1) in #t17);
-    let final core::int* #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]}(#t19){dynamic}.+(1));
-    self::use(let final core::int* #t20 = 87 in let final dynamic #t21 = super.{self::A::[]}(#t20) in let final void #t22 = super.{self::A::[]=}(#t20, #t21{dynamic}.+(1)) in #t21);
+    let final core::int #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]}(#t19){dynamic}.+(1));
+    self::use(let final core::int #t20 = 87 in let final dynamic #t21 = super.{self::A::[]}(#t20) in let final void #t22 = super.{self::A::[]=}(#t20, #t21{dynamic}.+(1)) in #t21);
     super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:95:12: Error: The operator '+' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
     super.m++;
            ^" in super.{self::A::m}{<unresolved>}.+(1);
-    self::use(let final () →* void #t23 = super.{self::A::m} in let final dynamic #t24 = super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:96:16: Error: The operator '+' isn't defined for the class 'void Function()'.
+    self::use(let final () → void #t23 = super.{self::A::m} in let final dynamic #t24 = super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:96:16: Error: The operator '+' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
     use(super.m++);
                ^" in #t23{<unresolved>}.+(1) in #t23);
@@ -476,7 +483,7 @@
 Try correcting the operator to an existing operator, or defining a '+' operator.
     super.n++;
            ^" in super.{self::A::n}{<unresolved>}.+(1);
-    self::use(let final () →* void #t25 = super.{self::A::n} in let final dynamic #t26 = super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:98:16: Error: The operator '+' isn't defined for the class 'void Function()'.
+    self::use(let final () → void #t25 = super.{self::A::n} in let final dynamic #t26 = super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:98:16: Error: The operator '+' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
     use(super.n++);
                ^" in #t25{<unresolved>}.+(1) in #t25);
@@ -498,8 +505,8 @@
     self::use(super.{self::A::h} = super.{self::A::h}{dynamic}.+(1));
     super.{self::B::i} = super.{self::A::i}{dynamic}.+(1);
     self::use(super.{self::B::i} = super.{self::A::i}{dynamic}.+(1));
-    let final core::int* #t27 = 87 in let final dynamic #t28 = super.{self::A::[]}(#t27){dynamic}.+(1) in let final void #t29 = super.{self::A::[]=}(#t27, #t28) in #t28;
-    self::use(let final core::int* #t30 = 87 in let final dynamic #t31 = super.{self::A::[]}(#t30){dynamic}.+(1) in let final void #t32 = super.{self::A::[]=}(#t30, #t31) in #t31);
+    let final core::int #t27 = 87 in let final dynamic #t28 = super.{self::A::[]}(#t27){dynamic}.+(1) in let final void #t29 = super.{self::A::[]=}(#t27, #t28) in #t28;
+    self::use(let final core::int #t30 = 87 in let final dynamic #t31 = super.{self::A::[]}(#t30){dynamic}.+(1) in let final void #t32 = super.{self::A::[]=}(#t30, #t31) in #t31);
     super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:120:5: Error: The operator '+' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
     ++super.m;
@@ -575,7 +582,7 @@
     super.{self::B::i} = 42;
     self::use(super.{self::B::i} = 42);
     super.{self::A::[]=}(87, 42);
-    self::use(let final core::int* #t33 = 87 in let final core::int* #t34 = 42 in let final void #t35 = super.{self::A::[]=}(#t33, #t34) in #t34);
+    self::use(let final core::int #t33 = 87 in let final core::int #t34 = 42 in let final void #t35 = super.{self::A::[]=}(#t33, #t34) in #t34);
     super.m = 42;
     self::use(super.m = 42);
     super.{self::A::n} = 42;
@@ -598,12 +605,12 @@
     self::use(let final dynamic #t43 = super.{self::A::h} in #t43 == null ?{dynamic} super.{self::A::h} = 42 : #t43);
     super.{self::A::i} == null ?{dynamic} super.{self::B::i} = 42 : null;
     self::use(let final dynamic #t44 = super.{self::A::i} in #t44 == null ?{dynamic} super.{self::B::i} = 42 : #t44);
-    let final core::int* #t45 = 87 in super.{self::A::[]}(#t45) == null ?{dynamic} super.{self::A::[]=}(#t45, 42) : null;
-    self::use(let final core::int* #t46 = 87 in let final dynamic #t47 = super.{self::A::[]}(#t46) in #t47 == null ?{dynamic} let final core::int* #t48 = 42 in let final void #t49 = super.{self::A::[]=}(#t46, #t48) in #t48 : #t47);
-    super.{self::A::m} == null ?{core::Object*} super.m = 42 : null;
-    self::use(let final () →* void #t50 = super.{self::A::m} in #t50 == null ?{core::Object*} super.m = 42 : #t50);
-    super.{self::A::n} == null ?{core::Object*} super.{self::A::n} = 42 : null;
-    self::use(let final () →* void #t51 = super.{self::A::n} in #t51 == null ?{core::Object*} super.{self::A::n} = 42 : #t51);
+    let final core::int #t45 = 87 in super.{self::A::[]}(#t45) == null ?{dynamic} super.{self::A::[]=}(#t45, 42) : null;
+    self::use(let final core::int #t46 = 87 in let final dynamic #t47 = super.{self::A::[]}(#t46) in #t47 == null ?{dynamic} let final core::int #t48 = 42 in let final void #t49 = super.{self::A::[]=}(#t46, #t48) in #t48 : #t47);
+    super.{self::A::m} == null ?{core::Object} super.m = 42 : null;
+    self::use(let final () → void #t50 = super.{self::A::m} in #t50 == null ?{core::Object} super.m = 42 : #t50);
+    super.{self::A::n} == null ?{core::Object} super.{self::A::n} = 42 : null;
+    self::use(let final () → void #t51 = super.{self::A::n} in #t51 == null ?{core::Object} super.{self::A::n} = 42 : #t51);
     super.{self::A::a} = super.{self::A::a}{dynamic}.+(42);
     self::use(super.{self::A::a} = super.{self::A::a}{dynamic}.+(42));
     super.{self::A::b} = super.{self::B::b}{dynamic}.+(42);
@@ -622,8 +629,8 @@
     self::use(super.{self::A::h} = super.{self::A::h}{dynamic}.+(42));
     super.{self::B::i} = super.{self::A::i}{dynamic}.+(42);
     self::use(super.{self::B::i} = super.{self::A::i}{dynamic}.+(42));
-    let final core::int* #t52 = 87 in super.{self::A::[]=}(#t52, super.{self::A::[]}(#t52){dynamic}.+(42));
-    self::use(let final core::int* #t53 = 87 in let final dynamic #t54 = super.{self::A::[]}(#t53){dynamic}.+(42) in let final void #t55 = super.{self::A::[]=}(#t53, #t54) in #t54);
+    let final core::int #t52 = 87 in super.{self::A::[]=}(#t52, super.{self::A::[]}(#t52){dynamic}.+(42));
+    self::use(let final core::int #t53 = 87 in let final dynamic #t54 = super.{self::A::[]}(#t53){dynamic}.+(42) in let final void #t55 = super.{self::A::[]=}(#t53, #t54) in #t54);
     super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:222:13: Error: The operator '+' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
     super.m += 42;
@@ -658,8 +665,8 @@
     self::use(super.{self::A::h} = super.{self::A::h}{dynamic}.-(42));
     super.{self::B::i} = super.{self::A::i}{dynamic}.-(42);
     self::use(super.{self::B::i} = super.{self::A::i}{dynamic}.-(42));
-    let final core::int* #t56 = 87 in super.{self::A::[]=}(#t56, super.{self::A::[]}(#t56){dynamic}.-(42));
-    self::use(let final core::int* #t57 = 87 in let final dynamic #t58 = super.{self::A::[]}(#t57){dynamic}.-(42) in let final void #t59 = super.{self::A::[]=}(#t57, #t58) in #t58);
+    let final core::int #t56 = 87 in super.{self::A::[]=}(#t56, super.{self::A::[]}(#t56){dynamic}.-(42));
+    self::use(let final core::int #t57 = 87 in let final dynamic #t58 = super.{self::A::[]}(#t57){dynamic}.-(42) in let final void #t59 = super.{self::A::[]=}(#t57, #t58) in #t58);
     super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:247:13: Error: The operator '-' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '-' operator.
     super.m -= 42;
@@ -679,9 +686,9 @@
   }
 }
 static method use(dynamic x) → dynamic {
-  if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
+  if(x =={core::Object::==}{(core::Object) → core::bool} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int})
     throw "Shouldn't happen";
 }
 static method main() → dynamic {
-  new self::C::•().{self::C::test}(){() →* dynamic};
+  new self::C::•().{self::C::test}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/super.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/super.dart.weak.modular.expect
index e24c07d..7c84eab 100644
--- a/pkg/front_end/testcases/rasta/super.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -293,6 +293,22 @@
 //     use(super.n(87));
 //                ^
 //
+// pkg/front_end/testcases/rasta/super.dart:197:11: Warning: Operand of null-aware operation '??=' has type 'void Function()' which excludes null.
+//     super.m ??= 42;
+//           ^
+//
+// pkg/front_end/testcases/rasta/super.dart:198:15: Warning: Operand of null-aware operation '??=' has type 'void Function()' which excludes null.
+//     use(super.m ??= 42);
+//               ^
+//
+// pkg/front_end/testcases/rasta/super.dart:199:11: Warning: Operand of null-aware operation '??=' has type 'void Function()' which excludes null.
+//     super.n ??= 42;
+//           ^
+//
+// pkg/front_end/testcases/rasta/super.dart:200:15: Warning: Operand of null-aware operation '??=' has type 'void Function()' which excludes null.
+//     use(super.n ??= 42);
+//               ^
+//
 // pkg/front_end/testcases/rasta/super.dart:222:13: Error: The operator '+' isn't defined for the class 'void Function()'.
 // Try correcting the operator to an existing operator, or defining a '+' operator.
 //     super.m += 42;
@@ -352,7 +368,7 @@
   field dynamic c = null;
   field dynamic d = null;
   final field dynamic f = null;
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   get e() → dynamic
@@ -370,24 +386,15 @@
     return 117;
   operator unary-() → dynamic
     return 117;
-  operator ==(dynamic other) → core::bool*
+  operator ==(core::Object other) → core::bool
     return true;
   method m() → void {}
   method n() → void {}
   set n(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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 {
   final field dynamic d = null;
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
   get b() → dynamic
@@ -396,7 +403,7 @@
   set i(dynamic x) → void {}
 }
 class C extends self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
   method test() → dynamic {
@@ -462,13 +469,13 @@
     self::use(let final dynamic #t15 = super.{self::A::h} in let final dynamic #t16 = super.{self::A::h} = #t15{dynamic}.+(1) in #t15);
     super.{self::B::i} = super.{self::A::i}{dynamic}.+(1);
     self::use(let final dynamic #t17 = super.{self::A::i} in let final dynamic #t18 = super.{self::B::i} = #t17{dynamic}.+(1) in #t17);
-    let final core::int* #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]}(#t19){dynamic}.+(1));
-    self::use(let final core::int* #t20 = 87 in let final dynamic #t21 = super.{self::A::[]}(#t20) in let final void #t22 = super.{self::A::[]=}(#t20, #t21{dynamic}.+(1)) in #t21);
+    let final core::int #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]}(#t19){dynamic}.+(1));
+    self::use(let final core::int #t20 = 87 in let final dynamic #t21 = super.{self::A::[]}(#t20) in let final void #t22 = super.{self::A::[]=}(#t20, #t21{dynamic}.+(1)) in #t21);
     super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:95:12: Error: The operator '+' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
     super.m++;
            ^" in super.{self::A::m}{<unresolved>}.+(1);
-    self::use(let final () →* void #t23 = super.{self::A::m} in let final dynamic #t24 = super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:96:16: Error: The operator '+' isn't defined for the class 'void Function()'.
+    self::use(let final () → void #t23 = super.{self::A::m} in let final dynamic #t24 = super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:96:16: Error: The operator '+' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
     use(super.m++);
                ^" in #t23{<unresolved>}.+(1) in #t23);
@@ -476,7 +483,7 @@
 Try correcting the operator to an existing operator, or defining a '+' operator.
     super.n++;
            ^" in super.{self::A::n}{<unresolved>}.+(1);
-    self::use(let final () →* void #t25 = super.{self::A::n} in let final dynamic #t26 = super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:98:16: Error: The operator '+' isn't defined for the class 'void Function()'.
+    self::use(let final () → void #t25 = super.{self::A::n} in let final dynamic #t26 = super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:98:16: Error: The operator '+' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
     use(super.n++);
                ^" in #t25{<unresolved>}.+(1) in #t25);
@@ -498,8 +505,8 @@
     self::use(super.{self::A::h} = super.{self::A::h}{dynamic}.+(1));
     super.{self::B::i} = super.{self::A::i}{dynamic}.+(1);
     self::use(super.{self::B::i} = super.{self::A::i}{dynamic}.+(1));
-    let final core::int* #t27 = 87 in let final dynamic #t28 = super.{self::A::[]}(#t27){dynamic}.+(1) in let final void #t29 = super.{self::A::[]=}(#t27, #t28) in #t28;
-    self::use(let final core::int* #t30 = 87 in let final dynamic #t31 = super.{self::A::[]}(#t30){dynamic}.+(1) in let final void #t32 = super.{self::A::[]=}(#t30, #t31) in #t31);
+    let final core::int #t27 = 87 in let final dynamic #t28 = super.{self::A::[]}(#t27){dynamic}.+(1) in let final void #t29 = super.{self::A::[]=}(#t27, #t28) in #t28;
+    self::use(let final core::int #t30 = 87 in let final dynamic #t31 = super.{self::A::[]}(#t30){dynamic}.+(1) in let final void #t32 = super.{self::A::[]=}(#t30, #t31) in #t31);
     super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:120:5: Error: The operator '+' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
     ++super.m;
@@ -575,7 +582,7 @@
     super.{self::B::i} = 42;
     self::use(super.{self::B::i} = 42);
     super.{self::A::[]=}(87, 42);
-    self::use(let final core::int* #t33 = 87 in let final core::int* #t34 = 42 in let final void #t35 = super.{self::A::[]=}(#t33, #t34) in #t34);
+    self::use(let final core::int #t33 = 87 in let final core::int #t34 = 42 in let final void #t35 = super.{self::A::[]=}(#t33, #t34) in #t34);
     super.m = 42;
     self::use(super.m = 42);
     super.{self::A::n} = 42;
@@ -598,12 +605,12 @@
     self::use(let final dynamic #t43 = super.{self::A::h} in #t43 == null ?{dynamic} super.{self::A::h} = 42 : #t43);
     super.{self::A::i} == null ?{dynamic} super.{self::B::i} = 42 : null;
     self::use(let final dynamic #t44 = super.{self::A::i} in #t44 == null ?{dynamic} super.{self::B::i} = 42 : #t44);
-    let final core::int* #t45 = 87 in super.{self::A::[]}(#t45) == null ?{dynamic} super.{self::A::[]=}(#t45, 42) : null;
-    self::use(let final core::int* #t46 = 87 in let final dynamic #t47 = super.{self::A::[]}(#t46) in #t47 == null ?{dynamic} let final core::int* #t48 = 42 in let final void #t49 = super.{self::A::[]=}(#t46, #t48) in #t48 : #t47);
-    super.{self::A::m} == null ?{core::Object*} super.m = 42 : null;
-    self::use(let final () →* void #t50 = super.{self::A::m} in #t50 == null ?{core::Object*} super.m = 42 : #t50);
-    super.{self::A::n} == null ?{core::Object*} super.{self::A::n} = 42 : null;
-    self::use(let final () →* void #t51 = super.{self::A::n} in #t51 == null ?{core::Object*} super.{self::A::n} = 42 : #t51);
+    let final core::int #t45 = 87 in super.{self::A::[]}(#t45) == null ?{dynamic} super.{self::A::[]=}(#t45, 42) : null;
+    self::use(let final core::int #t46 = 87 in let final dynamic #t47 = super.{self::A::[]}(#t46) in #t47 == null ?{dynamic} let final core::int #t48 = 42 in let final void #t49 = super.{self::A::[]=}(#t46, #t48) in #t48 : #t47);
+    super.{self::A::m} == null ?{core::Object} super.m = 42 : null;
+    self::use(let final () → void #t50 = super.{self::A::m} in #t50 == null ?{core::Object} super.m = 42 : #t50);
+    super.{self::A::n} == null ?{core::Object} super.{self::A::n} = 42 : null;
+    self::use(let final () → void #t51 = super.{self::A::n} in #t51 == null ?{core::Object} super.{self::A::n} = 42 : #t51);
     super.{self::A::a} = super.{self::A::a}{dynamic}.+(42);
     self::use(super.{self::A::a} = super.{self::A::a}{dynamic}.+(42));
     super.{self::A::b} = super.{self::B::b}{dynamic}.+(42);
@@ -622,8 +629,8 @@
     self::use(super.{self::A::h} = super.{self::A::h}{dynamic}.+(42));
     super.{self::B::i} = super.{self::A::i}{dynamic}.+(42);
     self::use(super.{self::B::i} = super.{self::A::i}{dynamic}.+(42));
-    let final core::int* #t52 = 87 in super.{self::A::[]=}(#t52, super.{self::A::[]}(#t52){dynamic}.+(42));
-    self::use(let final core::int* #t53 = 87 in let final dynamic #t54 = super.{self::A::[]}(#t53){dynamic}.+(42) in let final void #t55 = super.{self::A::[]=}(#t53, #t54) in #t54);
+    let final core::int #t52 = 87 in super.{self::A::[]=}(#t52, super.{self::A::[]}(#t52){dynamic}.+(42));
+    self::use(let final core::int #t53 = 87 in let final dynamic #t54 = super.{self::A::[]}(#t53){dynamic}.+(42) in let final void #t55 = super.{self::A::[]=}(#t53, #t54) in #t54);
     super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:222:13: Error: The operator '+' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
     super.m += 42;
@@ -658,8 +665,8 @@
     self::use(super.{self::A::h} = super.{self::A::h}{dynamic}.-(42));
     super.{self::B::i} = super.{self::A::i}{dynamic}.-(42);
     self::use(super.{self::B::i} = super.{self::A::i}{dynamic}.-(42));
-    let final core::int* #t56 = 87 in super.{self::A::[]=}(#t56, super.{self::A::[]}(#t56){dynamic}.-(42));
-    self::use(let final core::int* #t57 = 87 in let final dynamic #t58 = super.{self::A::[]}(#t57){dynamic}.-(42) in let final void #t59 = super.{self::A::[]=}(#t57, #t58) in #t58);
+    let final core::int #t56 = 87 in super.{self::A::[]=}(#t56, super.{self::A::[]}(#t56){dynamic}.-(42));
+    self::use(let final core::int #t57 = 87 in let final dynamic #t58 = super.{self::A::[]}(#t57){dynamic}.-(42) in let final void #t59 = super.{self::A::[]=}(#t57, #t58) in #t58);
     super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:247:13: Error: The operator '-' isn't defined for the class 'void Function()'.
 Try correcting the operator to an existing operator, or defining a '-' operator.
     super.m -= 42;
@@ -679,9 +686,9 @@
   }
 }
 static method use(dynamic x) → dynamic {
-  if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
+  if(x =={core::Object::==}{(core::Object) → core::bool} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int})
     throw "Shouldn't happen";
 }
 static method main() → dynamic {
-  new self::C::•().{self::C::test}(){() →* dynamic};
+  new self::C::•().{self::C::test}(){() → dynamic};
 }
diff --git a/pkg/front_end/testcases/rasta/super.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/super.dart.weak.outline.expect
index 33b6451..e68282a 100644
--- a/pkg/front_end/testcases/rasta/super.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,7 +18,7 @@
   field dynamic c;
   field dynamic d;
   final field dynamic f;
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
   get e() → dynamic
     ;
@@ -38,7 +38,7 @@
     ;
   operator unary-() → dynamic
     ;
-  operator ==(dynamic other) → core::bool*
+  operator ==(core::Object other) → core::bool
     ;
   method m() → void
     ;
@@ -46,19 +46,10 @@
     ;
   set n(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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 {
   final field dynamic d;
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
   get b() → dynamic
     ;
@@ -68,7 +59,7 @@
     ;
 }
 class C extends self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   method test() → dynamic
     ;
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart b/pkg/front_end/testcases/rasta/super_initializer.dart
index ce255d2..8793150 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.textual_outline.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.textual_outline.expect
index 99130ff..c058c68 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,4 +1,3 @@
-// @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 6c33e35..65f2d20 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,4 +1,3 @@
-// @dart = 2.9
 class Sub extends Super {
   Sub.arg0()
       : super.arg0(),
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.weak.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.expect
index 03f043f..cf141db 100644
--- a/pkg/front_end/testcases/rasta/super_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,39 +18,29 @@
 import "dart:core" as core;
 
 class Super extends core::Object {
-  constructor arg0() → self::Super*
+  constructor arg0() → self::Super
     : super core::Object::•()
     ;
-  constructor arg1(dynamic a) → self::Super*
+  constructor arg1(dynamic a) → self::Super
     : super core::Object::•()
     ;
-  constructor arg2(dynamic a, dynamic b) → self::Super*
+  constructor arg2(dynamic a, dynamic b) → self::Super
     : 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 Sub extends self::Super {
   field dynamic field;
-  constructor arg0() → self::Sub*
+  constructor arg0() → self::Sub
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/super_initializer.dart:15:15: Error: Can't have initializers after 'super'.
         field = 42;
               ^", super self::Super::arg0()
     ;
-  constructor arg1(dynamic a) → self::Sub*
+  constructor arg1(dynamic a) → self::Sub
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/rasta/super_initializer.dart:18:15: Error: Can't have initializers after 'super'.
         field = 42;
               ^", super self::Super::arg1(a)
     ;
-  constructor arg2(dynamic a, dynamic b) → self::Sub*
+  constructor arg2(dynamic a, dynamic b) → self::Sub
     : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/rasta/super_initializer.dart:21:15: Error: Can't have initializers after 'super'.
         field = 42;
               ^", super self::Super::arg2(a, b)
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.modular.expect
index 03f043f..cf141db 100644
--- a/pkg/front_end/testcases/rasta/super_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,39 +18,29 @@
 import "dart:core" as core;
 
 class Super extends core::Object {
-  constructor arg0() → self::Super*
+  constructor arg0() → self::Super
     : super core::Object::•()
     ;
-  constructor arg1(dynamic a) → self::Super*
+  constructor arg1(dynamic a) → self::Super
     : super core::Object::•()
     ;
-  constructor arg2(dynamic a, dynamic b) → self::Super*
+  constructor arg2(dynamic a, dynamic b) → self::Super
     : 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 Sub extends self::Super {
   field dynamic field;
-  constructor arg0() → self::Sub*
+  constructor arg0() → self::Sub
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/super_initializer.dart:15:15: Error: Can't have initializers after 'super'.
         field = 42;
               ^", super self::Super::arg0()
     ;
-  constructor arg1(dynamic a) → self::Sub*
+  constructor arg1(dynamic a) → self::Sub
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/rasta/super_initializer.dart:18:15: Error: Can't have initializers after 'super'.
         field = 42;
               ^", super self::Super::arg1(a)
     ;
-  constructor arg2(dynamic a, dynamic b) → self::Sub*
+  constructor arg2(dynamic a, dynamic b) → self::Sub
     : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/rasta/super_initializer.dart:21:15: Error: Can't have initializers after 'super'.
         field = 42;
               ^", super self::Super::arg2(a, b)
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.outline.expect
index e366002..7a30c6d 100644
--- a/pkg/front_end/testcases/rasta/super_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.outline.expect
@@ -1,31 +1,21 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Super extends core::Object {
-  constructor arg0() → self::Super*
+  constructor arg0() → self::Super
     ;
-  constructor arg1(dynamic a) → self::Super*
+  constructor arg1(dynamic a) → self::Super
     ;
-  constructor arg2(dynamic a, dynamic b) → self::Super*
+  constructor arg2(dynamic a, dynamic b) → self::Super
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 self::Super {
   field dynamic field;
-  constructor arg0() → self::Sub*
+  constructor arg0() → self::Sub
     ;
-  constructor arg1(dynamic a) → self::Sub*
+  constructor arg1(dynamic a) → self::Sub
     ;
-  constructor arg2(dynamic a, dynamic b) → self::Sub*
+  constructor arg2(dynamic a, dynamic b) → self::Sub
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.transformed.expect
index 03f043f..cf141db 100644
--- a/pkg/front_end/testcases/rasta/super_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,39 +18,29 @@
 import "dart:core" as core;
 
 class Super extends core::Object {
-  constructor arg0() → self::Super*
+  constructor arg0() → self::Super
     : super core::Object::•()
     ;
-  constructor arg1(dynamic a) → self::Super*
+  constructor arg1(dynamic a) → self::Super
     : super core::Object::•()
     ;
-  constructor arg2(dynamic a, dynamic b) → self::Super*
+  constructor arg2(dynamic a, dynamic b) → self::Super
     : 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 Sub extends self::Super {
   field dynamic field;
-  constructor arg0() → self::Sub*
+  constructor arg0() → self::Sub
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/super_initializer.dart:15:15: Error: Can't have initializers after 'super'.
         field = 42;
               ^", super self::Super::arg0()
     ;
-  constructor arg1(dynamic a) → self::Sub*
+  constructor arg1(dynamic a) → self::Sub
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/rasta/super_initializer.dart:18:15: Error: Can't have initializers after 'super'.
         field = 42;
               ^", super self::Super::arg1(a)
     ;
-  constructor arg2(dynamic a, dynamic b) → self::Sub*
+  constructor arg2(dynamic a, dynamic b) → self::Sub
     : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/rasta/super_initializer.dart:21:15: Error: Can't have initializers after 'super'.
         field = 42;
               ^", super self::Super::arg2(a, b)
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart b/pkg/front_end/testcases/rasta/super_mixin.dart
index c6d7ab0..913db8e 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.textual_outline.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.textual_outline.expect
index 92fbf88..73b67ed 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,4 +1,3 @@
-// @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 330ee1f..526090a 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.weak.expect
index 0327051..52d7c85 100644
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/super_mixin.dart.weak.expect
@@ -1,31 +1,21 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "mixin_library.dart" as mix;
 
 import "org-dartlang-testcase:///mixin_library.dart" show Mixin;
 
-class Super<S extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Super<self::Super::S*>*
+class Super<S extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::Super<self::Super::S%>
     : super core::Object::•()
     ;
   method foo() → dynamic
     return 40;
   method f() → dynamic
     return 3;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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&Super&Mixin<V extends core::Object* = dynamic> = self::Super<self::_C&Super&Mixin::V*> with mix::Mixin<self::_C&Super&Mixin::V*> /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_C&Super&Mixin<self::_C&Super&Mixin::V*>*
+abstract class _C&Super&Mixin<V extends core::Object? = dynamic> = self::Super<self::_C&Super&Mixin::V%> with mix::Mixin<self::_C&Super&Mixin::V%> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_C&Super&Mixin<self::_C&Super&Mixin::V%>
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -40,13 +30,13 @@
     return super.{mix::Mixin::z};
   mixin-super-stub set z(dynamic value) → void
     return super.{mix::Mixin::z} = value;
-  mixin-super-stub get t() → self::_C&Super&Mixin::V*
+  mixin-super-stub get t() → self::_C&Super&Mixin::V?
     return super.{mix::Mixin::t};
-  mixin-super-stub set t(covariant-by-class self::_C&Super&Mixin::V* value) → void
+  mixin-super-stub set t(covariant-by-class self::_C&Super&Mixin::V? value) → void
     return super.{mix::Mixin::t} = value;
   mixin-super-stub method foo() → dynamic
     return super.{mix::Mixin::foo}();
-  mixin-super-stub method g(covariant-by-class self::_C&Super&Mixin::V* a) → self::_C&Super&Mixin::V*
+  mixin-super-stub method g(covariant-by-class self::_C&Super&Mixin::V% a) → self::_C&Super&Mixin::V?
     return super.{mix::Mixin::g}(a);
   mixin-super-stub method h() → dynamic
     return super.{mix::Mixin::h}();
@@ -57,13 +47,13 @@
   mixin-super-stub method publicMethod() → dynamic
     return super.{mix::Mixin::publicMethod}();
 }
-class C<V extends core::Object* = dynamic> extends self::_C&Super&Mixin<self::C::V*> {
-  synthetic constructor •() → self::C<self::C::V*>*
+class C<V extends core::Object? = dynamic> extends self::_C&Super&Mixin<self::C::V%> {
+  synthetic constructor •() → self::C<self::C::V%>
     : super self::_C&Super&Mixin::•()
     ;
 }
 abstract class _D&Super&Mixin = self::Super<dynamic> with mix::Mixin<dynamic> /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_D&Super&Mixin*
+  synthetic constructor •() → self::_D&Super&Mixin
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -96,12 +86,12 @@
     return super.{mix::Mixin::publicMethod}();
 }
 class D extends self::_D&Super&Mixin {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::_D&Super&Mixin::•()
     ;
 }
-class C2<V extends core::Object* = dynamic> = self::Super<self::C2::V*> with mix::Mixin<self::C2::V*> {
-  synthetic constructor •() → self::C2<self::C2::V*>*
+class C2<V extends core::Object? = dynamic> = self::Super<self::C2::V%> with mix::Mixin<self::C2::V%> {
+  synthetic constructor •() → self::C2<self::C2::V%>
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -116,13 +106,13 @@
     return super.{mix::Mixin::z};
   mixin-super-stub set z(dynamic value) → void
     return super.{mix::Mixin::z} = value;
-  mixin-super-stub get t() → self::C2::V*
+  mixin-super-stub get t() → self::C2::V?
     return super.{mix::Mixin::t};
-  mixin-super-stub set t(covariant-by-class self::C2::V* value) → void
+  mixin-super-stub set t(covariant-by-class self::C2::V? value) → void
     return super.{mix::Mixin::t} = value;
   mixin-super-stub method foo() → dynamic
     return super.{mix::Mixin::foo}();
-  mixin-super-stub method g(covariant-by-class self::C2::V* a) → self::C2::V*
+  mixin-super-stub method g(covariant-by-class self::C2::V% a) → self::C2::V?
     return super.{mix::Mixin::g}(a);
   mixin-super-stub method h() → dynamic
     return super.{mix::Mixin::h}();
@@ -134,7 +124,7 @@
     return super.{mix::Mixin::publicMethod}();
 }
 class D2 = self::Super<dynamic> with mix::Mixin<dynamic> {
-  synthetic constructor •() → self::D2*
+  synthetic constructor •() → self::D2
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -167,11 +157,11 @@
     return super.{mix::Mixin::publicMethod}();
 }
 static method main() → dynamic {
-  core::print(new self::C::•<dynamic>().{self::_C&Super&Mixin::foo}(){() →* dynamic});
-  core::print(new self::C2::•<dynamic>().{self::C2::foo}(){() →* dynamic});
+  core::print(new self::C::•<dynamic>().{self::_C&Super&Mixin::foo}(){() → dynamic});
+  core::print(new self::C2::•<dynamic>().{self::C2::foo}(){() → dynamic});
 }
 
-library test.mixin_library;
+library test.mixin_library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -182,17 +172,17 @@
 import self as mix;
 import "dart:core" as core;
 
-class Mixin<T extends core::Object* = dynamic> extends core::Object {
+class Mixin<T extends core::Object? = dynamic> extends core::Object {
   field dynamic x = mix::f();
   field dynamic y = null;
   field dynamic z = null;
-  covariant-by-class field mix::Mixin::T* t = null;
-  synthetic constructor •() → mix::Mixin<mix::Mixin::T*>*
+  covariant-by-class field mix::Mixin::T? t = null;
+  synthetic constructor •() → mix::Mixin<mix::Mixin::T%>
     : super core::Object::•()
     ;
   method foo() → dynamic
     return super.foo(){dynamic}.+(mix::f());
-  method g(covariant-by-class mix::Mixin::T* a) → mix::Mixin::T*
+  method g(covariant-by-class mix::Mixin::T% a) → mix::Mixin::T?
     return null;
   method h() → dynamic
     return mix::V();
@@ -201,17 +191,7 @@
   method _privateMethod() → dynamic
     return 49;
   method publicMethod() → dynamic
-    return this.{mix::Mixin::_privateMethod}(){() →* 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
+    return this.{mix::Mixin::_privateMethod}(){() → dynamic};
 }
 static method f() → dynamic
   return 2;
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.weak.modular.expect
index 0327051..52d7c85 100644
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/super_mixin.dart.weak.modular.expect
@@ -1,31 +1,21 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "mixin_library.dart" as mix;
 
 import "org-dartlang-testcase:///mixin_library.dart" show Mixin;
 
-class Super<S extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Super<self::Super::S*>*
+class Super<S extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::Super<self::Super::S%>
     : super core::Object::•()
     ;
   method foo() → dynamic
     return 40;
   method f() → dynamic
     return 3;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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&Super&Mixin<V extends core::Object* = dynamic> = self::Super<self::_C&Super&Mixin::V*> with mix::Mixin<self::_C&Super&Mixin::V*> /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_C&Super&Mixin<self::_C&Super&Mixin::V*>*
+abstract class _C&Super&Mixin<V extends core::Object? = dynamic> = self::Super<self::_C&Super&Mixin::V%> with mix::Mixin<self::_C&Super&Mixin::V%> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_C&Super&Mixin<self::_C&Super&Mixin::V%>
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -40,13 +30,13 @@
     return super.{mix::Mixin::z};
   mixin-super-stub set z(dynamic value) → void
     return super.{mix::Mixin::z} = value;
-  mixin-super-stub get t() → self::_C&Super&Mixin::V*
+  mixin-super-stub get t() → self::_C&Super&Mixin::V?
     return super.{mix::Mixin::t};
-  mixin-super-stub set t(covariant-by-class self::_C&Super&Mixin::V* value) → void
+  mixin-super-stub set t(covariant-by-class self::_C&Super&Mixin::V? value) → void
     return super.{mix::Mixin::t} = value;
   mixin-super-stub method foo() → dynamic
     return super.{mix::Mixin::foo}();
-  mixin-super-stub method g(covariant-by-class self::_C&Super&Mixin::V* a) → self::_C&Super&Mixin::V*
+  mixin-super-stub method g(covariant-by-class self::_C&Super&Mixin::V% a) → self::_C&Super&Mixin::V?
     return super.{mix::Mixin::g}(a);
   mixin-super-stub method h() → dynamic
     return super.{mix::Mixin::h}();
@@ -57,13 +47,13 @@
   mixin-super-stub method publicMethod() → dynamic
     return super.{mix::Mixin::publicMethod}();
 }
-class C<V extends core::Object* = dynamic> extends self::_C&Super&Mixin<self::C::V*> {
-  synthetic constructor •() → self::C<self::C::V*>*
+class C<V extends core::Object? = dynamic> extends self::_C&Super&Mixin<self::C::V%> {
+  synthetic constructor •() → self::C<self::C::V%>
     : super self::_C&Super&Mixin::•()
     ;
 }
 abstract class _D&Super&Mixin = self::Super<dynamic> with mix::Mixin<dynamic> /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_D&Super&Mixin*
+  synthetic constructor •() → self::_D&Super&Mixin
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -96,12 +86,12 @@
     return super.{mix::Mixin::publicMethod}();
 }
 class D extends self::_D&Super&Mixin {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::_D&Super&Mixin::•()
     ;
 }
-class C2<V extends core::Object* = dynamic> = self::Super<self::C2::V*> with mix::Mixin<self::C2::V*> {
-  synthetic constructor •() → self::C2<self::C2::V*>*
+class C2<V extends core::Object? = dynamic> = self::Super<self::C2::V%> with mix::Mixin<self::C2::V%> {
+  synthetic constructor •() → self::C2<self::C2::V%>
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -116,13 +106,13 @@
     return super.{mix::Mixin::z};
   mixin-super-stub set z(dynamic value) → void
     return super.{mix::Mixin::z} = value;
-  mixin-super-stub get t() → self::C2::V*
+  mixin-super-stub get t() → self::C2::V?
     return super.{mix::Mixin::t};
-  mixin-super-stub set t(covariant-by-class self::C2::V* value) → void
+  mixin-super-stub set t(covariant-by-class self::C2::V? value) → void
     return super.{mix::Mixin::t} = value;
   mixin-super-stub method foo() → dynamic
     return super.{mix::Mixin::foo}();
-  mixin-super-stub method g(covariant-by-class self::C2::V* a) → self::C2::V*
+  mixin-super-stub method g(covariant-by-class self::C2::V% a) → self::C2::V?
     return super.{mix::Mixin::g}(a);
   mixin-super-stub method h() → dynamic
     return super.{mix::Mixin::h}();
@@ -134,7 +124,7 @@
     return super.{mix::Mixin::publicMethod}();
 }
 class D2 = self::Super<dynamic> with mix::Mixin<dynamic> {
-  synthetic constructor •() → self::D2*
+  synthetic constructor •() → self::D2
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -167,11 +157,11 @@
     return super.{mix::Mixin::publicMethod}();
 }
 static method main() → dynamic {
-  core::print(new self::C::•<dynamic>().{self::_C&Super&Mixin::foo}(){() →* dynamic});
-  core::print(new self::C2::•<dynamic>().{self::C2::foo}(){() →* dynamic});
+  core::print(new self::C::•<dynamic>().{self::_C&Super&Mixin::foo}(){() → dynamic});
+  core::print(new self::C2::•<dynamic>().{self::C2::foo}(){() → dynamic});
 }
 
-library test.mixin_library;
+library test.mixin_library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -182,17 +172,17 @@
 import self as mix;
 import "dart:core" as core;
 
-class Mixin<T extends core::Object* = dynamic> extends core::Object {
+class Mixin<T extends core::Object? = dynamic> extends core::Object {
   field dynamic x = mix::f();
   field dynamic y = null;
   field dynamic z = null;
-  covariant-by-class field mix::Mixin::T* t = null;
-  synthetic constructor •() → mix::Mixin<mix::Mixin::T*>*
+  covariant-by-class field mix::Mixin::T? t = null;
+  synthetic constructor •() → mix::Mixin<mix::Mixin::T%>
     : super core::Object::•()
     ;
   method foo() → dynamic
     return super.foo(){dynamic}.+(mix::f());
-  method g(covariant-by-class mix::Mixin::T* a) → mix::Mixin::T*
+  method g(covariant-by-class mix::Mixin::T% a) → mix::Mixin::T?
     return null;
   method h() → dynamic
     return mix::V();
@@ -201,17 +191,7 @@
   method _privateMethod() → dynamic
     return 49;
   method publicMethod() → dynamic
-    return this.{mix::Mixin::_privateMethod}(){() →* 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
+    return this.{mix::Mixin::_privateMethod}(){() → dynamic};
 }
 static method f() → dynamic
   return 2;
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.weak.outline.expect
index c1b58e7..cc211fc 100644
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/super_mixin.dart.weak.outline.expect
@@ -1,30 +1,20 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "mixin_library.dart" as mix;
 
 import "org-dartlang-testcase:///mixin_library.dart" show Mixin;
 
-class Super<S extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Super<self::Super::S*>*
+class Super<S extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::Super<self::Super::S%>
     ;
   method foo() → dynamic
     ;
   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
 }
-abstract class _C&Super&Mixin<V extends core::Object* = dynamic> = self::Super<self::_C&Super&Mixin::V*> with mix::Mixin<self::_C&Super&Mixin::V*> /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_C&Super&Mixin<self::_C&Super&Mixin::V*>*
+abstract class _C&Super&Mixin<V extends core::Object? = dynamic> = self::Super<self::_C&Super&Mixin::V%> with mix::Mixin<self::_C&Super&Mixin::V%> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_C&Super&Mixin<self::_C&Super&Mixin::V%>
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -39,13 +29,13 @@
     return super.{mix::Mixin::z};
   mixin-super-stub set z(dynamic value) → void
     return super.{mix::Mixin::z} = value;
-  mixin-super-stub get t() → self::_C&Super&Mixin::V*
+  mixin-super-stub get t() → self::_C&Super&Mixin::V?
     return super.{mix::Mixin::t};
-  mixin-super-stub set t(covariant-by-class self::_C&Super&Mixin::V* value) → void
+  mixin-super-stub set t(covariant-by-class self::_C&Super&Mixin::V? value) → void
     return super.{mix::Mixin::t} = value;
   mixin-super-stub method foo() → dynamic
     return super.{mix::Mixin::foo}();
-  mixin-super-stub method g(covariant-by-class self::_C&Super&Mixin::V* a) → self::_C&Super&Mixin::V*
+  mixin-super-stub method g(covariant-by-class self::_C&Super&Mixin::V% a) → self::_C&Super&Mixin::V?
     return super.{mix::Mixin::g}(a);
   mixin-super-stub method h() → dynamic
     return super.{mix::Mixin::h}();
@@ -56,12 +46,12 @@
   mixin-super-stub method publicMethod() → dynamic
     return super.{mix::Mixin::publicMethod}();
 }
-class C<V extends core::Object* = dynamic> extends self::_C&Super&Mixin<self::C::V*> {
-  synthetic constructor •() → self::C<self::C::V*>*
+class C<V extends core::Object? = dynamic> extends self::_C&Super&Mixin<self::C::V%> {
+  synthetic constructor •() → self::C<self::C::V%>
     ;
 }
 abstract class _D&Super&Mixin = self::Super<dynamic> with mix::Mixin<dynamic> /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_D&Super&Mixin*
+  synthetic constructor •() → self::_D&Super&Mixin
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -94,11 +84,11 @@
     return super.{mix::Mixin::publicMethod}();
 }
 class D extends self::_D&Super&Mixin {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     ;
 }
-class C2<V extends core::Object* = dynamic> = self::Super<self::C2::V*> with mix::Mixin<self::C2::V*> {
-  synthetic constructor •() → self::C2<self::C2::V*>*
+class C2<V extends core::Object? = dynamic> = self::Super<self::C2::V%> with mix::Mixin<self::C2::V%> {
+  synthetic constructor •() → self::C2<self::C2::V%>
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -113,13 +103,13 @@
     return super.{mix::Mixin::z};
   mixin-super-stub set z(dynamic value) → void
     return super.{mix::Mixin::z} = value;
-  mixin-super-stub get t() → self::C2::V*
+  mixin-super-stub get t() → self::C2::V?
     return super.{mix::Mixin::t};
-  mixin-super-stub set t(covariant-by-class self::C2::V* value) → void
+  mixin-super-stub set t(covariant-by-class self::C2::V? value) → void
     return super.{mix::Mixin::t} = value;
   mixin-super-stub method foo() → dynamic
     return super.{mix::Mixin::foo}();
-  mixin-super-stub method g(covariant-by-class self::C2::V* a) → self::C2::V*
+  mixin-super-stub method g(covariant-by-class self::C2::V% a) → self::C2::V?
     return super.{mix::Mixin::g}(a);
   mixin-super-stub method h() → dynamic
     return super.{mix::Mixin::h}();
@@ -131,7 +121,7 @@
     return super.{mix::Mixin::publicMethod}();
 }
 class D2 = self::Super<dynamic> with mix::Mixin<dynamic> {
-  synthetic constructor •() → self::D2*
+  synthetic constructor •() → self::D2
     : super self::Super::•()
     ;
   mixin-super-stub get x() → dynamic
@@ -166,20 +156,20 @@
 static method main() → dynamic
   ;
 
-library test.mixin_library;
+library test.mixin_library /*isNonNullableByDefault*/;
 import self as mix;
 import "dart:core" as core;
 
-class Mixin<T extends core::Object* = dynamic> extends core::Object {
+class Mixin<T extends core::Object? = dynamic> extends core::Object {
   field dynamic x;
   field dynamic y;
   field dynamic z;
-  covariant-by-class field mix::Mixin::T* t;
-  synthetic constructor •() → mix::Mixin<mix::Mixin::T*>*
+  covariant-by-class field mix::Mixin::T? t;
+  synthetic constructor •() → mix::Mixin<mix::Mixin::T%>
     ;
   method foo() → dynamic
     ;
-  method g(covariant-by-class mix::Mixin::T* a) → mix::Mixin::T*
+  method g(covariant-by-class mix::Mixin::T% a) → mix::Mixin::T?
     ;
   method h() → dynamic
     ;
@@ -189,16 +179,6 @@
     ;
   method publicMethod() → 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 f() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart b/pkg/front_end/testcases/rasta/super_operator.dart
index 661f0df..a50e586 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.textual_outline.expect b/pkg/front_end/testcases/rasta/super_operator.dart.textual_outline.expect
index 7183595..0a07631 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,4 +1,3 @@
-// @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 6716ede..4ecde10 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   operator +(String s) => null;
   operator [](i) => null;
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart.weak.expect b/pkg/front_end/testcases/rasta/super_operator.dart.weak.expect
index 8b04b02..9f78e48 100644
--- a/pkg/front_end/testcases/rasta/super_operator.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/super_operator.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,30 +10,20 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  operator +(core::String* s) → dynamic
+  operator +(core::String s) → dynamic
     return null;
   operator [](dynamic i) → dynamic
     return null;
   operator []=(dynamic i, dynamic val) → 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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
-  operator +(core::String* s) → dynamic
+  operator +(core::String s) → dynamic
     return super.{self::A::+}("${s}${s}");
   operator [](dynamic i) → dynamic
     return super.{self::A::[]}(i);
@@ -41,19 +31,9 @@
     return let final dynamic #t1 = let final dynamic #t2 = i in let final dynamic #t3 = i = #t2{dynamic}.+(1) in #t2 in let final dynamic #t4 = super.{self::A::[]}(#t1){dynamic}.+(val) in let final void #t5 = super.{self::A::[]=}(#t1, #t4) in #t4;
 }
 class Autobianchi extends core::Object {
-  synthetic constructor •() → self::Autobianchi*
+  synthetic constructor •() → self::Autobianchi
     : super core::Object::•()
     ;
   method g() → dynamic
     return super.[](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/rasta/super_operator.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/super_operator.dart.weak.modular.expect
index 8b04b02..9f78e48 100644
--- a/pkg/front_end/testcases/rasta/super_operator.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/super_operator.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,30 +10,20 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  operator +(core::String* s) → dynamic
+  operator +(core::String s) → dynamic
     return null;
   operator [](dynamic i) → dynamic
     return null;
   operator []=(dynamic i, dynamic val) → 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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
-  operator +(core::String* s) → dynamic
+  operator +(core::String s) → dynamic
     return super.{self::A::+}("${s}${s}");
   operator [](dynamic i) → dynamic
     return super.{self::A::[]}(i);
@@ -41,19 +31,9 @@
     return let final dynamic #t1 = let final dynamic #t2 = i in let final dynamic #t3 = i = #t2{dynamic}.+(1) in #t2 in let final dynamic #t4 = super.{self::A::[]}(#t1){dynamic}.+(val) in let final void #t5 = super.{self::A::[]=}(#t1, #t4) in #t4;
 }
 class Autobianchi extends core::Object {
-  synthetic constructor •() → self::Autobianchi*
+  synthetic constructor •() → self::Autobianchi
     : super core::Object::•()
     ;
   method g() → dynamic
     return super.[](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/rasta/super_operator.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/super_operator.dart.weak.outline.expect
index 49f43e5..3f737d9 100644
--- a/pkg/front_end/testcases/rasta/super_operator.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/super_operator.dart.weak.outline.expect
@@ -1,31 +1,21 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
-  operator +(core::String* s) → dynamic
+  operator +(core::String s) → dynamic
     ;
   operator [](dynamic i) → dynamic
     ;
   operator []=(dynamic i, dynamic val) → 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 self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  operator +(core::String* s) → dynamic
+  operator +(core::String s) → dynamic
     ;
   operator [](dynamic i) → dynamic
     ;
@@ -33,18 +23,8 @@
     ;
 }
 class Autobianchi extends core::Object {
-  synthetic constructor •() → self::Autobianchi*
+  synthetic constructor •() → self::Autobianchi
     ;
   method g() → 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/rasta/supports_reflection.dart b/pkg/front_end/testcases/rasta/supports_reflection.dart
index 3aaf5ea..d14efa0 100644
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart
+++ b/pkg/front_end/testcases/rasta/supports_reflection.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE.md file.
 
-// @dart=2.9
-
 main() {
   print(const bool.fromEnvironment("dart.library.mirrors"));
 }
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 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.expect
index 362665c..8fde628 100644
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.modular.expect
index 362665c..8fde628 100644
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.transformed.expect
index 362665c..8fde628 100644
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart
new file mode 100644
index 0000000..250d198
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
+ * for details. All rights 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`.
+
+/**
+ * @assertion Execution of a case clause case ek: sk of a switch statement
+ * switch (e) {label11 ..label1j1 case e1: s1 … labeln1 ..labelnjn case en: sn default: sn+1}
+ * proceeds as follows:
+ * The expression ek == id  is evaluated  to an object o which is then
+ * subjected to boolean conversion yielding a value v.
+ * If v is not true, the following case,  case ek+1: sk+1 is executed if it exists.
+ * If case ek+1: sk+1 does not exist, then the default clause is executed by executing sn+1.
+ * If v is true, let h be the smallest integer such that h >= k and sh is non-empty.
+ * If no such h exists, let h = n + 1. The sequence of statements sh is then executed.
+ * If execution reaches the point after sh  then a runtime error occurs, unless h = n + 1.
+ * @description Checks that falling through produces a runtime error, unless
+ * the current clause is an empty case clause or the default clause.
+ * @static-warning
+ * @author msyabro
+ * @reviewer rodionov
+ * @issue 7537
+ */
+
+test(value) {
+  var result;
+
+  switch(value) {
+    case 1:  result = 1;
+    break;
+    case 2:  result = 2; /// static warning - case fall-through, see "Switch"
+    case 3:  result = 3; /// static warning - case fall-through, see "Switch"
+    default: result = 4;
+  }
+  return result;
+}
+
+testEmptyCases(value) {
+  var result;
+
+  switch(value) {
+    case 1:
+    case 2: result = 1; /// static warning - case fall-through, see "Switch"
+    case 3:
+    case 4: result = 2;
+    break;
+    case 5:
+    case 6:
+    default:
+  }
+
+  return result;
+}
+
+main() {
+}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.textual_outline.expect
new file mode 100644
index 0000000..ec313f9
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.textual_outline.expect
@@ -0,0 +1,4 @@
+// @dart = 2.9
+test(value) {}
+testEmptyCases(value) {}
+main() {}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..13243fe
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.textual_outline_modelled.expect
@@ -0,0 +1,4 @@
+// @dart = 2.9
+main() {}
+test(value) {}
+testEmptyCases(value) {}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.expect
new file mode 100644
index 0000000..0c06998
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.expect
@@ -0,0 +1,85 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/rasta/switch_execution_case_t01.dart:37:5: Error: Switch case may fall through to the next case.
+//     case 2:  result = 2; /// static warning - case fall-through, see "Switch"
+//     ^
+//
+// pkg/front_end/testcases/rasta/switch_execution_case_t01.dart:38:5: Error: Switch case may fall through to the next case.
+//     case 3:  result = 3; /// static warning - case fall-through, see "Switch"
+//     ^
+//
+// pkg/front_end/testcases/rasta/switch_execution_case_t01.dart:48:5: Error: Switch case may fall through to the next case.
+//     case 1:
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method test(dynamic value) → dynamic {
+  dynamic result;
+  #L1:
+  switch(value) {
+    #L2:
+    case #C1:
+      {
+        result = 1;
+        break #L1;
+      }
+    #L3:
+    case #C2:
+      {
+        result = 2;
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t01.dart", 37);
+      }
+    #L4:
+    case #C3:
+      {
+        result = 3;
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t01.dart", 38);
+      }
+    #L5:
+    default:
+      {
+        result = 4;
+      }
+  }
+  return result;
+}
+static method testEmptyCases(dynamic value) → dynamic {
+  dynamic result;
+  #L6:
+  switch(value) {
+    #L7:
+    case #C1:
+    case #C2:
+      {
+        result = 1;
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t01.dart", 48);
+      }
+    #L8:
+    case #C3:
+    case #C4:
+      {
+        result = 2;
+        break #L6;
+      }
+    #L9:
+    case #C5:
+    case #C6:
+    default:
+      {}
+  }
+  return result;
+}
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 1
+  #C2 = 2
+  #C3 = 3
+  #C4 = 4
+  #C5 = 5
+  #C6 = 6
+}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.modular.expect
new file mode 100644
index 0000000..0c06998
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.modular.expect
@@ -0,0 +1,85 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/rasta/switch_execution_case_t01.dart:37:5: Error: Switch case may fall through to the next case.
+//     case 2:  result = 2; /// static warning - case fall-through, see "Switch"
+//     ^
+//
+// pkg/front_end/testcases/rasta/switch_execution_case_t01.dart:38:5: Error: Switch case may fall through to the next case.
+//     case 3:  result = 3; /// static warning - case fall-through, see "Switch"
+//     ^
+//
+// pkg/front_end/testcases/rasta/switch_execution_case_t01.dart:48:5: Error: Switch case may fall through to the next case.
+//     case 1:
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method test(dynamic value) → dynamic {
+  dynamic result;
+  #L1:
+  switch(value) {
+    #L2:
+    case #C1:
+      {
+        result = 1;
+        break #L1;
+      }
+    #L3:
+    case #C2:
+      {
+        result = 2;
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t01.dart", 37);
+      }
+    #L4:
+    case #C3:
+      {
+        result = 3;
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t01.dart", 38);
+      }
+    #L5:
+    default:
+      {
+        result = 4;
+      }
+  }
+  return result;
+}
+static method testEmptyCases(dynamic value) → dynamic {
+  dynamic result;
+  #L6:
+  switch(value) {
+    #L7:
+    case #C1:
+    case #C2:
+      {
+        result = 1;
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t01.dart", 48);
+      }
+    #L8:
+    case #C3:
+    case #C4:
+      {
+        result = 2;
+        break #L6;
+      }
+    #L9:
+    case #C5:
+    case #C6:
+    default:
+      {}
+  }
+  return result;
+}
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 1
+  #C2 = 2
+  #C3 = 3
+  #C4 = 4
+  #C5 = 5
+  #C6 = 6
+}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.outline.expect
new file mode 100644
index 0000000..ab9a3c9
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.outline.expect
@@ -0,0 +1,9 @@
+library;
+import self as self;
+
+static method test(dynamic value) → dynamic
+  ;
+static method testEmptyCases(dynamic value) → dynamic
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.transformed.expect
new file mode 100644
index 0000000..0c06998
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t01.dart.weak.transformed.expect
@@ -0,0 +1,85 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/rasta/switch_execution_case_t01.dart:37:5: Error: Switch case may fall through to the next case.
+//     case 2:  result = 2; /// static warning - case fall-through, see "Switch"
+//     ^
+//
+// pkg/front_end/testcases/rasta/switch_execution_case_t01.dart:38:5: Error: Switch case may fall through to the next case.
+//     case 3:  result = 3; /// static warning - case fall-through, see "Switch"
+//     ^
+//
+// pkg/front_end/testcases/rasta/switch_execution_case_t01.dart:48:5: Error: Switch case may fall through to the next case.
+//     case 1:
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method test(dynamic value) → dynamic {
+  dynamic result;
+  #L1:
+  switch(value) {
+    #L2:
+    case #C1:
+      {
+        result = 1;
+        break #L1;
+      }
+    #L3:
+    case #C2:
+      {
+        result = 2;
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t01.dart", 37);
+      }
+    #L4:
+    case #C3:
+      {
+        result = 3;
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t01.dart", 38);
+      }
+    #L5:
+    default:
+      {
+        result = 4;
+      }
+  }
+  return result;
+}
+static method testEmptyCases(dynamic value) → dynamic {
+  dynamic result;
+  #L6:
+  switch(value) {
+    #L7:
+    case #C1:
+    case #C2:
+      {
+        result = 1;
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t01.dart", 48);
+      }
+    #L8:
+    case #C3:
+    case #C4:
+      {
+        result = 2;
+        break #L6;
+      }
+    #L9:
+    case #C5:
+    case #C6:
+    default:
+      {}
+  }
+  return result;
+}
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 1
+  #C2 = 2
+  #C3 = 3
+  #C4 = 4
+  #C5 = 5
+  #C6 = 6
+}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart
index 98e78d8..e0a06c1 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 ec313f9..9157edc 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,4 +1,3 @@
-// @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 13243fe..d7ab5d3 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,4 +1,3 @@
-// @dart = 2.9
 main() {}
 test(value) {}
 testEmptyCases(value) {}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.expect
index 4a25d3e..663fcbe 100644
--- a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -31,13 +31,11 @@
     case #C2:
       {
         result = 2;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 35);
       }
     #L4:
     case #C3:
       {
         result = 3;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 36);
       }
     #L5:
     default:
@@ -56,7 +54,6 @@
     case #C2:
       {
         result = 1;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 46);
       }
     #L8:
     case #C3:
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.modular.expect
index 4a25d3e..663fcbe 100644
--- a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -31,13 +31,11 @@
     case #C2:
       {
         result = 2;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 35);
       }
     #L4:
     case #C3:
       {
         result = 3;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 36);
       }
     #L5:
     default:
@@ -56,7 +54,6 @@
     case #C2:
       {
         result = 1;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 46);
       }
     #L8:
     case #C3:
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.outline.expect
index ab9a3c9..1789280 100644
--- a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method test(dynamic value) → dynamic
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.transformed.expect
index 4a25d3e..663fcbe 100644
--- a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -31,13 +31,11 @@
     case #C2:
       {
         result = 2;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 35);
       }
     #L4:
     case #C3:
       {
         result = 3;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 36);
       }
     #L5:
     default:
@@ -56,7 +54,6 @@
     case #C2:
       {
         result = 1;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 46);
       }
     #L8:
     case #C3:
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart b/pkg/front_end/testcases/rasta/switch_fall_through.dart
index 78a52e9..47eea58 100644
--- a/pkg/front_end/testcases/rasta/switch_fall_through.dart
+++ b/pkg/front_end/testcases/rasta/switch_fall_through.dart
@@ -1,7 +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.md file.
+
 // @dart=2.9
+
 main() {
   switch (1) {
     case 1:
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.expect
index c69920c..e542866 100644
--- a/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.expect
@@ -2,23 +2,23 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:7:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:9:5: Error: Switch case may fall through to the next case.
 //     case 1:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:13:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:15:5: Error: Switch case may fall through to the next case.
 //     case 2:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:20:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:22:5: Error: Switch case may fall through to the next case.
 //     case 3:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:26:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:28:5: Error: Switch case may fall through to the next case.
 //     case 4:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:31:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:33:5: Error: Switch case may fall through to the next case.
 //     case 5:
 //     ^
 //
@@ -36,7 +36,7 @@
           break #L1;
           ;
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 7);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 9);
       }
     #L3:
     case #C2:
@@ -47,7 +47,7 @@
             break #L1;
           }
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 13);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 15);
       }
     #L4:
     case #C3:
@@ -58,7 +58,7 @@
         finally {
           break #L1;
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 20);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 22);
       }
     #L5:
     case #C4:
@@ -69,7 +69,7 @@
         }
         finally {
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 26);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 28);
       }
     #L6:
     case #C5:
@@ -79,7 +79,7 @@
         }
         finally {
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 31);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 33);
       }
     #L7:
     case #C6:
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.modular.expect
index c69920c..e542866 100644
--- a/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.modular.expect
@@ -2,23 +2,23 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:7:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:9:5: Error: Switch case may fall through to the next case.
 //     case 1:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:13:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:15:5: Error: Switch case may fall through to the next case.
 //     case 2:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:20:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:22:5: Error: Switch case may fall through to the next case.
 //     case 3:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:26:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:28:5: Error: Switch case may fall through to the next case.
 //     case 4:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:31:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:33:5: Error: Switch case may fall through to the next case.
 //     case 5:
 //     ^
 //
@@ -36,7 +36,7 @@
           break #L1;
           ;
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 7);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 9);
       }
     #L3:
     case #C2:
@@ -47,7 +47,7 @@
             break #L1;
           }
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 13);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 15);
       }
     #L4:
     case #C3:
@@ -58,7 +58,7 @@
         finally {
           break #L1;
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 20);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 22);
       }
     #L5:
     case #C4:
@@ -69,7 +69,7 @@
         }
         finally {
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 26);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 28);
       }
     #L6:
     case #C5:
@@ -79,7 +79,7 @@
         }
         finally {
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 31);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 33);
       }
     #L7:
     case #C6:
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.transformed.expect
index c69920c..e542866 100644
--- a/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.transformed.expect
@@ -2,23 +2,23 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:7:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:9:5: Error: Switch case may fall through to the next case.
 //     case 1:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:13:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:15:5: Error: Switch case may fall through to the next case.
 //     case 2:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:20:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:22:5: Error: Switch case may fall through to the next case.
 //     case 3:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:26:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:28:5: Error: Switch case may fall through to the next case.
 //     case 4:
 //     ^
 //
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:31:5: Error: Switch case may fall through to the next case.
+// pkg/front_end/testcases/rasta/switch_fall_through.dart:33:5: Error: Switch case may fall through to the next case.
 //     case 5:
 //     ^
 //
@@ -36,7 +36,7 @@
           break #L1;
           ;
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 7);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 9);
       }
     #L3:
     case #C2:
@@ -47,7 +47,7 @@
             break #L1;
           }
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 13);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 15);
       }
     #L4:
     case #C3:
@@ -58,7 +58,7 @@
         finally {
           break #L1;
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 20);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 22);
       }
     #L5:
     case #C4:
@@ -69,7 +69,7 @@
         }
         finally {
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 26);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 28);
       }
     #L6:
     case #C5:
@@ -79,7 +79,7 @@
         }
         finally {
         }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 31);
+        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 33);
       }
     #L7:
     case #C6:
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through2.dart b/pkg/front_end/testcases/rasta/switch_fall_through2.dart
new file mode 100644
index 0000000..422100c
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_fall_through2.dart
@@ -0,0 +1,38 @@
+// 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.
+
+main() {
+  switch (1) {
+    case 1:
+      {
+        "No fall-through error needed.";
+        break;
+        ; // Empty statement.
+      }
+    case 2:
+      {
+        "Fall-through error needed.";
+        if (true) {
+          break;
+        }
+      }
+    case 3:
+      try {
+        "No fall-through error needed.";
+      } finally {
+        break;
+      }
+    case 4:
+      try {
+        "No fall-through error needed.";
+        break;
+      } finally {}
+    case 5:
+      try {
+        "Fall-through error needed.";
+      } finally {}
+    case 10000:
+      "Should be last. No fall-through error, falling through allowed here.";
+  }
+}
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through2.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.textual_outline.expect
new file mode 100644
index 0000000..bae895a
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.textual_outline.expect
@@ -0,0 +1 @@
+main() {}
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..bae895a
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+main() {}
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.expect b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.expect
new file mode 100644
index 0000000..46d5877
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.expect
@@ -0,0 +1,78 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/rasta/switch_fall_through2.dart:31:5: Error: Switch case may fall through to the next case.
+//     case 5:
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method main() → dynamic {
+  #L1:
+  switch(1) {
+    #L2:
+    case #C1:
+      {
+        {
+          "No fall-through error needed.";
+          break #L1;
+          ;
+        }
+      }
+    #L3:
+    case #C2:
+      {
+        {
+          "Fall-through error needed.";
+          if(true) {
+            break #L1;
+          }
+        }
+      }
+    #L4:
+    case #C3:
+      {
+        try {
+          "No fall-through error needed.";
+        }
+        finally {
+          break #L1;
+        }
+      }
+    #L5:
+    case #C4:
+      {
+        try {
+          "No fall-through error needed.";
+          break #L1;
+        }
+        finally {
+        }
+      }
+    #L6:
+    case #C5:
+      {
+        try {
+          "Fall-through error needed.";
+        }
+        finally {
+        }
+      }
+    #L7:
+    case #C6:
+      {
+        "Should be last. No fall-through error, falling through allowed here.";
+      }
+  }
+}
+
+constants  {
+  #C1 = 1
+  #C2 = 2
+  #C3 = 3
+  #C4 = 4
+  #C5 = 5
+  #C6 = 10000
+}
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.modular.expect
new file mode 100644
index 0000000..46d5877
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.modular.expect
@@ -0,0 +1,78 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/rasta/switch_fall_through2.dart:31:5: Error: Switch case may fall through to the next case.
+//     case 5:
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method main() → dynamic {
+  #L1:
+  switch(1) {
+    #L2:
+    case #C1:
+      {
+        {
+          "No fall-through error needed.";
+          break #L1;
+          ;
+        }
+      }
+    #L3:
+    case #C2:
+      {
+        {
+          "Fall-through error needed.";
+          if(true) {
+            break #L1;
+          }
+        }
+      }
+    #L4:
+    case #C3:
+      {
+        try {
+          "No fall-through error needed.";
+        }
+        finally {
+          break #L1;
+        }
+      }
+    #L5:
+    case #C4:
+      {
+        try {
+          "No fall-through error needed.";
+          break #L1;
+        }
+        finally {
+        }
+      }
+    #L6:
+    case #C5:
+      {
+        try {
+          "Fall-through error needed.";
+        }
+        finally {
+        }
+      }
+    #L7:
+    case #C6:
+      {
+        "Should be last. No fall-through error, falling through allowed here.";
+      }
+  }
+}
+
+constants  {
+  #C1 = 1
+  #C2 = 2
+  #C3 = 3
+  #C4 = 4
+  #C5 = 5
+  #C6 = 10000
+}
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.outline.expect
new file mode 100644
index 0000000..e2cba6b
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.outline.expect
@@ -0,0 +1,5 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.transformed.expect
new file mode 100644
index 0000000..46d5877
--- /dev/null
+++ b/pkg/front_end/testcases/rasta/switch_fall_through2.dart.weak.transformed.expect
@@ -0,0 +1,78 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/rasta/switch_fall_through2.dart:31:5: Error: Switch case may fall through to the next case.
+//     case 5:
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method main() → dynamic {
+  #L1:
+  switch(1) {
+    #L2:
+    case #C1:
+      {
+        {
+          "No fall-through error needed.";
+          break #L1;
+          ;
+        }
+      }
+    #L3:
+    case #C2:
+      {
+        {
+          "Fall-through error needed.";
+          if(true) {
+            break #L1;
+          }
+        }
+      }
+    #L4:
+    case #C3:
+      {
+        try {
+          "No fall-through error needed.";
+        }
+        finally {
+          break #L1;
+        }
+      }
+    #L5:
+    case #C4:
+      {
+        try {
+          "No fall-through error needed.";
+          break #L1;
+        }
+        finally {
+        }
+      }
+    #L6:
+    case #C5:
+      {
+        try {
+          "Fall-through error needed.";
+        }
+        finally {
+        }
+      }
+    #L7:
+    case #C6:
+      {
+        "Should be last. No fall-through error, falling through allowed here.";
+      }
+  }
+}
+
+constants  {
+  #C1 = 1
+  #C2 = 2
+  #C3 = 3
+  #C4 = 4
+  #C5 = 5
+  #C6 = 10000
+}
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart b/pkg/front_end/testcases/rasta/this_invoke.dart
index f96ea7c..42b95f7 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.textual_outline.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.textual_outline.expect
index cdf68c2..ab53b16 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,4 +1,3 @@
-// @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 5be66ca..cabde6d 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   call(x) => 42;
   m(x) => this(x);
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.expect
index 37dfbd7..6346817 100644
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.expect
@@ -1,26 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method m(dynamic x) → dynamic
-    return this.{self::C::call}(x){(dynamic) →* dynamic};
+    return this.{self::C::call}(x){(dynamic) → dynamic};
   method call(dynamic x) → dynamic
     return 42;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::print(new self::C::•().{self::C::m}(42){(dynamic) →* dynamic});
+  core::print(new self::C::•().{self::C::m}(42){(dynamic) → dynamic});
 }
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.modular.expect
index 37dfbd7..6346817 100644
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.modular.expect
@@ -1,26 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method m(dynamic x) → dynamic
-    return this.{self::C::call}(x){(dynamic) →* dynamic};
+    return this.{self::C::call}(x){(dynamic) → dynamic};
   method call(dynamic x) → dynamic
     return 42;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::print(new self::C::•().{self::C::m}(42){(dynamic) →* dynamic});
+  core::print(new self::C::•().{self::C::m}(42){(dynamic) → dynamic});
 }
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.outline.expect
index 9df04e7..39f5866 100644
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.outline.expect
@@ -1,24 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   method m(dynamic x) → dynamic
     ;
   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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.transformed.expect
index 37dfbd7..6346817 100644
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.transformed.expect
@@ -1,26 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method m(dynamic x) → dynamic
-    return this.{self::C::call}(x){(dynamic) →* dynamic};
+    return this.{self::C::call}(x){(dynamic) → dynamic};
   method call(dynamic x) → dynamic
     return 42;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::print(new self::C::•().{self::C::m}(42){(dynamic) →* dynamic});
+  core::print(new self::C::•().{self::C::m}(42){(dynamic) → dynamic});
 }
diff --git a/pkg/front_end/testcases/rasta/try_label.dart b/pkg/front_end/testcases/rasta/try_label.dart
index f5ed518..30406ac 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.textual_outline.expect b/pkg/front_end/testcases/rasta/try_label.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/try_label.dart.weak.expect b/pkg/front_end/testcases/rasta/try_label.dart.weak.expect
index 14f6249..ead1335 100644
--- a/pkg/front_end/testcases/rasta/try_label.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/try_label.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/try_label.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/try_label.dart.weak.modular.expect
index 14f6249..ead1335 100644
--- a/pkg/front_end/testcases/rasta/try_label.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/try_label.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/try_label.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/try_label.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/try_label.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/try_label.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/try_label.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/try_label.dart.weak.transformed.expect
index 14f6249..ead1335 100644
--- a/pkg/front_end/testcases/rasta/try_label.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/try_label.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart b/pkg/front_end/testcases/rasta/type_literals.dart
index fb2c206..2d8fc23 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.textual_outline.expect b/pkg/front_end/testcases/rasta/type_literals.dart.textual_outline.expect
index 7e37f70..3e0fb14 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,4 +1,3 @@
-// @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 e5b0266..e51e370 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,4 +1,3 @@
-// @dart = 2.9
 class C<T> {
   test() {}
 }
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.weak.expect b/pkg/front_end/testcases/rasta/type_literals.dart.weak.expect
index de13441..c8eb93c 100644
--- a/pkg/front_end/testcases/rasta/type_literals.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/type_literals.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -282,12 +282,52 @@
 //     use(Func -= 42);
 //         ^^^^
 //
+// pkg/front_end/testcases/rasta/type_literals.dart:74:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     C ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:75:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(C ??= 42);
+//         ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:76:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     dynamic ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:77:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(dynamic ??= 42);
+//         ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:78:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     T ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:79:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(T ??= 42);
+//         ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:80:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     Func ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:81:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(Func ??= 42);
+//         ^
+//
 import self as self;
 import "dart:core" as core;
 
-typedef Func = () →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef Func = () → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
   method test() → dynamic {
@@ -295,8 +335,8 @@
     self::use(#C1);
     #C2;
     self::use(#C2);
-    self::C::T*;
-    self::use(self::C::T*);
+    self::C::T%;
+    self::use(self::C::T%);
     #C3;
     self::use(#C3);
     new self::C::•<dynamic>();
@@ -442,25 +482,25 @@
     #C1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:74:5: Error: Can't assign to a type literal.
     C ??= 42;
     ^" : null;
-    self::use(let final core::Type* #t1 = #C1 in #t1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:75:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t1 = #C1 in #t1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:75:9: Error: Can't assign to a type literal.
     use(C ??= 42);
         ^" : #t1);
     #C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:76:5: Error: Can't assign to a type literal.
     dynamic ??= 42;
     ^^^^^^^" : null;
-    self::use(let final core::Type* #t2 = #C2 in #t2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:77:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t2 = #C2 in #t2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:77:9: Error: Can't assign to a type literal.
     use(dynamic ??= 42);
         ^^^^^^^" : #t2);
-    self::C::T* == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:78:5: Error: Can't assign to a type literal.
+    self::C::T% == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:78:5: Error: Can't assign to a type literal.
     T ??= 42;
     ^" : null;
-    self::use(let final core::Type* #t3 = self::C::T* in #t3 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:79:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t3 = self::C::T% in #t3 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:79:9: Error: Can't assign to a type literal.
     use(T ??= 42);
         ^" : #t3);
     #C3 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:80:5: Error: Can't assign to a type literal.
     Func ??= 42;
     ^^^^" : null;
-    self::use(let final core::Type* #t4 = #C3 in #t4 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:81:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t4 = #C3 in #t4 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:81:9: Error: Can't assign to a type literal.
     use(Func ??= 42);
         ^^^^" : #t4);
     invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:83:5: Error: Can't assign to a type literal.
@@ -512,23 +552,13 @@
     use(Func -= 42);
         ^^^^");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 use(dynamic x) → dynamic {
-  if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
+  if(x =={core::Object::==}{(core::Object) → core::bool} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int})
     throw "Shouldn't happen";
 }
 static method main() → dynamic {
-  new self::C::•<dynamic>().{self::C::test}(){() →* dynamic};
+  new self::C::•<dynamic>().{self::C::test}(){() → dynamic};
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/type_literals.dart.weak.modular.expect
index de13441..c8eb93c 100644
--- a/pkg/front_end/testcases/rasta/type_literals.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/type_literals.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -282,12 +282,52 @@
 //     use(Func -= 42);
 //         ^^^^
 //
+// pkg/front_end/testcases/rasta/type_literals.dart:74:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     C ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:75:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(C ??= 42);
+//         ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:76:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     dynamic ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:77:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(dynamic ??= 42);
+//         ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:78:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     T ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:79:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(T ??= 42);
+//         ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:80:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     Func ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:81:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(Func ??= 42);
+//         ^
+//
 import self as self;
 import "dart:core" as core;
 
-typedef Func = () →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef Func = () → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
   method test() → dynamic {
@@ -295,8 +335,8 @@
     self::use(#C1);
     #C2;
     self::use(#C2);
-    self::C::T*;
-    self::use(self::C::T*);
+    self::C::T%;
+    self::use(self::C::T%);
     #C3;
     self::use(#C3);
     new self::C::•<dynamic>();
@@ -442,25 +482,25 @@
     #C1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:74:5: Error: Can't assign to a type literal.
     C ??= 42;
     ^" : null;
-    self::use(let final core::Type* #t1 = #C1 in #t1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:75:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t1 = #C1 in #t1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:75:9: Error: Can't assign to a type literal.
     use(C ??= 42);
         ^" : #t1);
     #C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:76:5: Error: Can't assign to a type literal.
     dynamic ??= 42;
     ^^^^^^^" : null;
-    self::use(let final core::Type* #t2 = #C2 in #t2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:77:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t2 = #C2 in #t2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:77:9: Error: Can't assign to a type literal.
     use(dynamic ??= 42);
         ^^^^^^^" : #t2);
-    self::C::T* == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:78:5: Error: Can't assign to a type literal.
+    self::C::T% == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:78:5: Error: Can't assign to a type literal.
     T ??= 42;
     ^" : null;
-    self::use(let final core::Type* #t3 = self::C::T* in #t3 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:79:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t3 = self::C::T% in #t3 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:79:9: Error: Can't assign to a type literal.
     use(T ??= 42);
         ^" : #t3);
     #C3 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:80:5: Error: Can't assign to a type literal.
     Func ??= 42;
     ^^^^" : null;
-    self::use(let final core::Type* #t4 = #C3 in #t4 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:81:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t4 = #C3 in #t4 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:81:9: Error: Can't assign to a type literal.
     use(Func ??= 42);
         ^^^^" : #t4);
     invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:83:5: Error: Can't assign to a type literal.
@@ -512,23 +552,13 @@
     use(Func -= 42);
         ^^^^");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 use(dynamic x) → dynamic {
-  if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
+  if(x =={core::Object::==}{(core::Object) → core::bool} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int})
     throw "Shouldn't happen";
 }
 static method main() → dynamic {
-  new self::C::•<dynamic>().{self::C::test}(){() →* dynamic};
+  new self::C::•<dynamic>().{self::C::test}(){() → dynamic};
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/type_literals.dart.weak.outline.expect
index cb3829a..eb7f1e9 100644
--- a/pkg/front_end/testcases/rasta/type_literals.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/type_literals.dart.weak.outline.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef Func = () →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef Func = () → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     ;
   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 operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 use(dynamic x) → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/type_literals.dart.weak.transformed.expect
index 6d33972..0d73a96 100644
--- a/pkg/front_end/testcases/rasta/type_literals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/type_literals.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -282,12 +282,52 @@
 //     use(Func -= 42);
 //         ^^^^
 //
+// pkg/front_end/testcases/rasta/type_literals.dart:74:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     C ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:75:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(C ??= 42);
+//         ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:76:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     dynamic ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:77:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(dynamic ??= 42);
+//         ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:78:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     T ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:79:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(T ??= 42);
+//         ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:80:5: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     Func ??= 42;
+//     ^
+//
+// pkg/front_end/testcases/rasta/type_literals.dart:81:9: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//     use(Func ??= 42);
+//         ^
+//
 import self as self;
 import "dart:core" as core;
 
-typedef Func = () →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef Func = () → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
   method test() → dynamic {
@@ -295,8 +335,8 @@
     self::use(#C1);
     #C2;
     self::use(#C2);
-    self::C::T*;
-    self::use(self::C::T*);
+    self::C::T%;
+    self::use(self::C::T%);
     #C3;
     self::use(#C3);
     new self::C::•<dynamic>();
@@ -442,25 +482,25 @@
     #C1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:74:5: Error: Can't assign to a type literal.
     C ??= 42;
     ^" : null;
-    self::use(let final core::Type* #t1 = #C1 in #t1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:75:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t1 = #C1 in #t1 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:75:9: Error: Can't assign to a type literal.
     use(C ??= 42);
         ^" : #t1);
     #C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:76:5: Error: Can't assign to a type literal.
     dynamic ??= 42;
     ^^^^^^^" : null;
-    self::use(let final core::Type* #t2 = #C2 in #t2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:77:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t2 = #C2 in #t2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:77:9: Error: Can't assign to a type literal.
     use(dynamic ??= 42);
         ^^^^^^^" : #t2);
-    self::C::T* == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:78:5: Error: Can't assign to a type literal.
+    self::C::T% == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:78:5: Error: Can't assign to a type literal.
     T ??= 42;
     ^" : null;
-    self::use(let final core::Type* #t3 = self::C::T* in #t3 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:79:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t3 = self::C::T% in #t3 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:79:9: Error: Can't assign to a type literal.
     use(T ??= 42);
         ^" : #t3);
     #C3 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:80:5: Error: Can't assign to a type literal.
     Func ??= 42;
     ^^^^" : null;
-    self::use(let final core::Type* #t4 = #C3 in #t4 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:81:9: Error: Can't assign to a type literal.
+    self::use(let final core::Type #t4 = #C3 in #t4 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:81:9: Error: Can't assign to a type literal.
     use(Func ??= 42);
         ^^^^" : #t4);
     invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:83:5: Error: Can't assign to a type literal.
@@ -512,23 +552,13 @@
     use(Func -= 42);
         ^^^^");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 use(dynamic x) → dynamic {
-  if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
+  if(x =={core::Object::==}{(core::Object) → core::bool} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int})
     throw "Shouldn't happen";
 }
 static method main() → dynamic {
-  new self::C::•<dynamic>().{self::C::test}(){() →* dynamic};
+  new self::C::•<dynamic>().{self::C::test}(){() → dynamic};
 }
 
 constants  {
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 9a78135..ac9bb02 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.textual_outline.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.textual_outline.expect
index e8283f8..10499e7 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,4 +1,3 @@
-// @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 56354fb..a2249be 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   foo() {}
 }
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.expect
index 3d3d7f0..99501ae 100644
--- a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -6,43 +6,27 @@
 //   int i
 //       ^
 //
+// pkg/front_end/testcases/rasta/type_with_parse_error.dart:21:7: Error: Field 'i' should be initialized because its type 'int' doesn't allow null.
+//   int i
+//       ^
+//
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method foo() → dynamic {
-    new self::B::•<self::A*>();
+    new self::B::•<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<T extends core::Object* = dynamic> extends core::Object {
-  field core::int* i = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  field core::int i = null;
+  synthetic constructor •() → self::B<self::B::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 method main() → dynamic {
-  new self::B::•<self::A*>();
+  new self::B::•<self::A>();
 }
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.modular.expect
index 3d3d7f0..99501ae 100644
--- a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -6,43 +6,27 @@
 //   int i
 //       ^
 //
+// pkg/front_end/testcases/rasta/type_with_parse_error.dart:21:7: Error: Field 'i' should be initialized because its type 'int' doesn't allow null.
+//   int i
+//       ^
+//
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method foo() → dynamic {
-    new self::B::•<self::A*>();
+    new self::B::•<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<T extends core::Object* = dynamic> extends core::Object {
-  field core::int* i = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  field core::int i = null;
+  synthetic constructor •() → self::B<self::B::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 method main() → dynamic {
-  new self::B::•<self::A*>();
+  new self::B::•<self::A>();
 }
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.outline.expect
index 3b79ff3..67fc476 100644
--- a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,35 +10,15 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
   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 B<T extends core::Object* = dynamic> extends core::Object {
-  field core::int* i;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  field core::int i;
+  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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.transformed.expect
index 3d3d7f0..99501ae 100644
--- a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -6,43 +6,27 @@
 //   int i
 //       ^
 //
+// pkg/front_end/testcases/rasta/type_with_parse_error.dart:21:7: Error: Field 'i' should be initialized because its type 'int' doesn't allow null.
+//   int i
+//       ^
+//
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method foo() → dynamic {
-    new self::B::•<self::A*>();
+    new self::B::•<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<T extends core::Object* = dynamic> extends core::Object {
-  field core::int* i = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  field core::int i = null;
+  synthetic constructor •() → self::B<self::B::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 method main() → dynamic {
-  new self::B::•<self::A*>();
+  new self::B::•<self::A>();
 }
diff --git a/pkg/front_end/testcases/rasta/typedef.dart b/pkg/front_end/testcases/rasta/typedef.dart
index 3478fe6..37e26a6 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 b660849..3c109123 100644
--- a/pkg/front_end/testcases/rasta/typedef.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/typedef.dart.textual_outline.expect
@@ -1,3 +1,2 @@
-// @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 0584615..7f7ac99 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,3 +1,2 @@
-// @dart = 2.9
 main() {}
 typedef void Foo();
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.weak.expect b/pkg/front_end/testcases/rasta/typedef.dart.weak.expect
index 72932b9..2145069 100644
--- a/pkg/front_end/testcases/rasta/typedef.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/typedef.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,10 +14,15 @@
 //   Foo();
 //   ^^^
 //
+// pkg/front_end/testcases/rasta/typedef.dart:10:3: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//   Foo ??= null;
+//   ^
+//
 import self as self;
 import "dart:core" as core;
 
-typedef Foo = () →* void;
+typedef Foo = () → void;
 static method main() → dynamic {
   core::print(#C1);
   invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:9:3: Error: Can't assign to a type literal.
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/typedef.dart.weak.modular.expect
index 72932b9..2145069 100644
--- a/pkg/front_end/testcases/rasta/typedef.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/typedef.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,10 +14,15 @@
 //   Foo();
 //   ^^^
 //
+// pkg/front_end/testcases/rasta/typedef.dart:10:3: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//   Foo ??= null;
+//   ^
+//
 import self as self;
 import "dart:core" as core;
 
-typedef Foo = () →* void;
+typedef Foo = () → void;
 static method main() → dynamic {
   core::print(#C1);
   invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:9:3: Error: Can't assign to a type literal.
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/typedef.dart.weak.outline.expect
index e00807a..df89837 100644
--- a/pkg/front_end/testcases/rasta/typedef.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/typedef.dart.weak.outline.expect
@@ -1,6 +1,6 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
-typedef Foo = () →* void;
+typedef Foo = () → void;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/typedef.dart.weak.transformed.expect
index aaaf1fc..fe58e59 100644
--- a/pkg/front_end/testcases/rasta/typedef.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/typedef.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,10 +14,15 @@
 //   Foo();
 //   ^^^
 //
+// pkg/front_end/testcases/rasta/typedef.dart:10:3: Warning: Operand of null-aware operation '??=' has type 'Type' which excludes null.
+//  - 'Type' is from 'dart:core'.
+//   Foo ??= null;
+//   ^
+//
 import self as self;
 import "dart:core" as core;
 
-typedef Foo = () →* void;
+typedef Foo = () → void;
 static method main() → dynamic {
   core::print(#C1);
   invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:9:3: Error: Can't assign to a type literal.
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart b/pkg/front_end/testcases/rasta/unresolved.dart
index 551af83..39c690c 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.textual_outline.expect b/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart.weak.expect b/pkg/front_end/testcases/rasta/unresolved.dart.weak.expect
index 39e56f4..7e0acd7 100644
--- a/pkg/front_end/testcases/rasta/unresolved.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/unresolved.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/unresolved.dart.weak.modular.expect
index 39e56f4..7e0acd7 100644
--- a/pkg/front_end/testcases/rasta/unresolved.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/unresolved.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/unresolved.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/rasta/unresolved.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/unresolved.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/unresolved.dart.weak.transformed.expect
index 39e56f4..7e0acd7 100644
--- a/pkg/front_end/testcases/rasta/unresolved.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/unresolved.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart b/pkg/front_end/testcases/rasta/unresolved_constructor.dart
index 3d78bec..3106df6 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.textual_outline.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.textual_outline.expect
index cd083e3..36e85d2 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,4 +1,3 @@
-// @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 cd083e3..36e85d2 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,4 +1,3 @@
-// @dart = 2.9
 class Foo {
   Foo(x, y);
 }
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.expect
index fc47b33..a334f52 100644
--- a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,19 +17,9 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •(dynamic x, dynamic y) → self::Foo*
+  constructor •(dynamic x, dynamic y) → 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 main() → dynamic {
   invalid-expression "pkg/front_end/testcases/rasta/unresolved_constructor.dart:10:10: Error: Too few positional arguments: 2 required, 0 given.
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.modular.expect
index fc47b33..a334f52 100644
--- a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,19 +17,9 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •(dynamic x, dynamic y) → self::Foo*
+  constructor •(dynamic x, dynamic y) → 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 main() → dynamic {
   invalid-expression "pkg/front_end/testcases/rasta/unresolved_constructor.dart:10:10: Error: Too few positional arguments: 2 required, 0 given.
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.outline.expect
index 1e02225..a3a491c 100644
--- a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.outline.expect
@@ -1,20 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •(dynamic x, dynamic y) → self::Foo*
+  constructor •(dynamic x, dynamic y) → 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.transformed.expect
index fc47b33..a334f52 100644
--- a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,19 +17,9 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •(dynamic x, dynamic y) → self::Foo*
+  constructor •(dynamic x, dynamic y) → 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 main() → dynamic {
   invalid-expression "pkg/front_end/testcases/rasta/unresolved_constructor.dart:10:10: Error: Too few positional arguments: 2 required, 0 given.
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart b/pkg/front_end/testcases/rasta/unresolved_for_in.dart
index f4954fa..b9e9c1b 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.textual_outline.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.textual_outline.expect
index fb34d84..2b61e89 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,4 +1,3 @@
-// @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 8de2ab7..4d7cff8 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,4 +1,3 @@
-// @dart = 2.9
 import 'dart:collection' as collection;
 
 class Fisk {
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.expect
index 1600ec3..0f321ea 100644
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -87,13 +87,13 @@
 
 import "dart:collection" as collection;
 
-typedef VoidFunction = () →* void;
+typedef VoidFunction = () → void;
 class Fisk extends core::Object {
-  synthetic constructor •() → self::Fisk*
+  synthetic constructor •() → self::Fisk
     : super core::Object::•()
     ;
   method it1(dynamic x) → dynamic {
-    for (final dynamic #t1 in x as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+    for (final dynamic #t1 in x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:11:10: Error: The setter 'key' isn't defined for the class 'Fisk'.
  - 'Fisk' is from 'pkg/front_end/testcases/rasta/unresolved_for_in.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'key'.
@@ -109,13 +109,13 @@
       print(key);
             ^^^" in this{<unresolved>}.key);
     }
-    for (final dynamic #t2 in x as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+    for (final dynamic #t2 in x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:14:10: Error: Can't assign to a type literal.
     for (Fisk in x) {
          ^^^^";
       core::print(#C1);
     }
-    for (final dynamic #t3 in x as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+    for (final dynamic #t3 in x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:17:10: Error: A prefix can't be used as an expression.
     for (collection in x) {
          ^^^^^^^^^^";
@@ -123,7 +123,7 @@
       print(collection);
             ^^^^^^^^^^");
     }
-    for (final dynamic #t4 in x as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+    for (final dynamic #t4 in x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:20:10: Error: Can't assign to a type literal.
     for (VoidFunction in x) {
          ^^^^^^^^^^^^";
@@ -133,7 +133,7 @@
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
     for (1 in x) {
          ^";
-      for (final dynamic #t5 in x as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      for (final dynamic #t5 in x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
         invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
     for (1 in x) {
          ^";
@@ -146,20 +146,10 @@
       }
     }
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 arguments) → dynamic {
   new self::Fisk::•();
-  for (final dynamic #t6 in arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+  for (final dynamic #t6 in arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
     invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:31:8: Error: Setter not found: 'key'.
   for (key in arguments) {
        ^^^";
@@ -167,13 +157,13 @@
     print(key);
           ^^^");
   }
-  for (final dynamic #t7 in arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+  for (final dynamic #t7 in arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
     invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:34:8: Error: Can't assign to a type literal.
   for (Fisk in arguments) {
        ^^^^";
     core::print(#C1);
   }
-  for (final dynamic #t8 in arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+  for (final dynamic #t8 in arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
     invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:37:8: Error: A prefix can't be used as an expression.
   for (collection in arguments) {
        ^^^^^^^^^^";
@@ -181,7 +171,7 @@
     print(collection);
           ^^^^^^^^^^");
   }
-  for (final dynamic #t9 in arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+  for (final dynamic #t9 in arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
     invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:40:8: Error: Can't assign to a type literal.
   for (VoidFunction in arguments) {
        ^^^^^^^^^^^^";
@@ -191,7 +181,7 @@
     invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
   for (1 in arguments) {
        ^";
-    for (final dynamic #t10 in arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+    for (final dynamic #t10 in arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
   for (1 in arguments) {
        ^";
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.modular.expect
index 1600ec3..0f321ea 100644
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -87,13 +87,13 @@
 
 import "dart:collection" as collection;
 
-typedef VoidFunction = () →* void;
+typedef VoidFunction = () → void;
 class Fisk extends core::Object {
-  synthetic constructor •() → self::Fisk*
+  synthetic constructor •() → self::Fisk
     : super core::Object::•()
     ;
   method it1(dynamic x) → dynamic {
-    for (final dynamic #t1 in x as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+    for (final dynamic #t1 in x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:11:10: Error: The setter 'key' isn't defined for the class 'Fisk'.
  - 'Fisk' is from 'pkg/front_end/testcases/rasta/unresolved_for_in.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'key'.
@@ -109,13 +109,13 @@
       print(key);
             ^^^" in this{<unresolved>}.key);
     }
-    for (final dynamic #t2 in x as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+    for (final dynamic #t2 in x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:14:10: Error: Can't assign to a type literal.
     for (Fisk in x) {
          ^^^^";
       core::print(#C1);
     }
-    for (final dynamic #t3 in x as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+    for (final dynamic #t3 in x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:17:10: Error: A prefix can't be used as an expression.
     for (collection in x) {
          ^^^^^^^^^^";
@@ -123,7 +123,7 @@
       print(collection);
             ^^^^^^^^^^");
     }
-    for (final dynamic #t4 in x as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+    for (final dynamic #t4 in x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:20:10: Error: Can't assign to a type literal.
     for (VoidFunction in x) {
          ^^^^^^^^^^^^";
@@ -133,7 +133,7 @@
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
     for (1 in x) {
          ^";
-      for (final dynamic #t5 in x as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      for (final dynamic #t5 in x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
         invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
     for (1 in x) {
          ^";
@@ -146,20 +146,10 @@
       }
     }
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 arguments) → dynamic {
   new self::Fisk::•();
-  for (final dynamic #t6 in arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+  for (final dynamic #t6 in arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
     invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:31:8: Error: Setter not found: 'key'.
   for (key in arguments) {
        ^^^";
@@ -167,13 +157,13 @@
     print(key);
           ^^^");
   }
-  for (final dynamic #t7 in arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+  for (final dynamic #t7 in arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
     invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:34:8: Error: Can't assign to a type literal.
   for (Fisk in arguments) {
        ^^^^";
     core::print(#C1);
   }
-  for (final dynamic #t8 in arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+  for (final dynamic #t8 in arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
     invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:37:8: Error: A prefix can't be used as an expression.
   for (collection in arguments) {
        ^^^^^^^^^^";
@@ -181,7 +171,7 @@
     print(collection);
           ^^^^^^^^^^");
   }
-  for (final dynamic #t9 in arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+  for (final dynamic #t9 in arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
     invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:40:8: Error: Can't assign to a type literal.
   for (VoidFunction in arguments) {
        ^^^^^^^^^^^^";
@@ -191,7 +181,7 @@
     invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
   for (1 in arguments) {
        ^";
-    for (final dynamic #t10 in arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+    for (final dynamic #t10 in arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
       invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
   for (1 in arguments) {
        ^";
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.outline.expect
index 0d5f4f3..797922d 100644
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.outline.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "dart:collection" as collection;
 
-typedef VoidFunction = () →* void;
+typedef VoidFunction = () → void;
 class Fisk extends core::Object {
-  synthetic constructor •() → self::Fisk*
+  synthetic constructor •() → self::Fisk
     ;
   method it1(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
 }
 static method main(dynamic arguments) → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.transformed.expect
index f07fe0b..1246663 100644
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -87,14 +87,14 @@
 
 import "dart:collection" as collection;
 
-typedef VoidFunction = () →* void;
+typedef VoidFunction = () → void;
 class Fisk extends core::Object {
-  synthetic constructor •() → self::Fisk*
+  synthetic constructor •() → self::Fisk
     : super core::Object::•()
     ;
   method it1(dynamic x) → dynamic {
     {
-      core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = (x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -116,7 +116,7 @@
       }
     }
     {
-      core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = (x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -128,7 +128,7 @@
       }
     }
     {
-      core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = (x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t3 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -142,7 +142,7 @@
       }
     }
     {
-      core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = (x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -158,7 +158,7 @@
     for (1 in x) {
          ^";
       {
-        core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+        core::Iterator<dynamic> :sync-for-iterator = (x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
           final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
@@ -176,21 +176,11 @@
       }
     }
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 arguments) → dynamic {
   new self::Fisk::•();
   {
-    core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+    core::Iterator<dynamic> :sync-for-iterator = (arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
       final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}{dynamic};
       {
@@ -204,7 +194,7 @@
     }
   }
   {
-    core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+    core::Iterator<dynamic> :sync-for-iterator = (arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
       final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
       {
@@ -216,7 +206,7 @@
     }
   }
   {
-    core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+    core::Iterator<dynamic> :sync-for-iterator = (arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
       final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{dynamic};
       {
@@ -230,7 +220,7 @@
     }
   }
   {
-    core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+    core::Iterator<dynamic> :sync-for-iterator = (arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
       final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic};
       {
@@ -246,7 +236,7 @@
   for (1 in arguments) {
        ^";
     {
-      core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = (arguments as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart b/pkg/front_end/testcases/rasta/unresolved_recovery.dart
index 58b69e3..1cc6bf2 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.textual_outline.expect b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.textual_outline.expect
index ee554bb..b529ebe 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,4 +1,3 @@
-// @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 03749c1..97cd820 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,4 +1,3 @@
-// @dart = 2.9
 beforeTestMissingTry() {}
 
 class E {
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.expect b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.expect
index 8bd61ac..ea9041e 100644
--- a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -47,26 +47,16 @@
 import "dart:core" as core;
 
 class E extends core::Object {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super core::Object::•()
     ;
   method foo() → dynamic {
     super.[]=(4, 42);
-    let final core::int* #t1 = 4 in invalid-expression "pkg/front_end/testcases/rasta/unresolved_recovery.dart:8:10: Error: Superclass has no method named '[]='.
+    let final core::int #t1 = 4 in invalid-expression "pkg/front_end/testcases/rasta/unresolved_recovery.dart:8:10: Error: Superclass has no method named '[]='.
     super[4] += 5;
          ^";
     return super.[](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
 }
 static method beforeTestMissingTry() → dynamic {
   self::testMissingTry();
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.modular.expect
index 8bd61ac..ea9041e 100644
--- a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -47,26 +47,16 @@
 import "dart:core" as core;
 
 class E extends core::Object {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super core::Object::•()
     ;
   method foo() → dynamic {
     super.[]=(4, 42);
-    let final core::int* #t1 = 4 in invalid-expression "pkg/front_end/testcases/rasta/unresolved_recovery.dart:8:10: Error: Superclass has no method named '[]='.
+    let final core::int #t1 = 4 in invalid-expression "pkg/front_end/testcases/rasta/unresolved_recovery.dart:8:10: Error: Superclass has no method named '[]='.
     super[4] += 5;
          ^";
     return super.[](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
 }
 static method beforeTestMissingTry() → dynamic {
   self::testMissingTry();
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.outline.expect
index 6ed351c..238e8d0 100644
--- a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.outline.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class E extends core::Object {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     ;
   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 beforeTestMissingTry() → dynamic
   ;
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart
index 0e70c0f..fa8123d 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 c1068f2..afaa1af 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,4 +1,3 @@
-// @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 c1068f2..afaa1af 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,4 +1,3 @@
-// @dart = 2.9
 import 'dart:html';
 import 'dart:io';
 
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.expect
index 7651a58..b04fa96 100644
--- a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.expect
@@ -5,7 +5,7 @@
 // import 'dart:html';
 //        ^
 //
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:html";
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.modular.expect
index 7651a58..b04fa96 100644
--- a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.modular.expect
@@ -5,7 +5,7 @@
 // import 'dart:html';
 //        ^
 //
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:html";
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.outline.expect
index b80948b..a02b3f2 100644
--- a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.outline.expect
@@ -5,7 +5,7 @@
 // import 'dart:html';
 //        ^
 //
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:html";
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.transformed.expect
index 22b2878..81935cb 100644
--- a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:html";
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart
index 7f31b89..d3a38362 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 25343fd..e649b85 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,4 +1,3 @@
-// @dart = 2.9
 x(){}
 .
 y = 42;
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.expect b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.expect
index d9c6c13..d6c6d8e 100644
--- a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -56,8 +56,8 @@
 import self as self;
 import "dart:core" as core;
 
-static field core::int* y = 42;
-static field core::bool* z = true;
+static field core::int y = 42;
+static field core::bool z = true;
 static method x() → dynamic {}
 static method foo() → void {
   if(!(invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:8:7: Error: Can't use 'x' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.modular.expect b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.modular.expect
index d9c6c13..d6c6d8e 100644
--- a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -56,8 +56,8 @@
 import self as self;
 import "dart:core" as core;
 
-static field core::int* y = 42;
-static field core::bool* z = true;
+static field core::int y = 42;
+static field core::bool z = true;
 static method x() → dynamic {}
 static method foo() → void {
   if(!(invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:8:7: Error: Can't use 'x' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.outline.expect b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.outline.expect
index e8152c0..54f1ca6 100644
--- a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -48,8 +48,8 @@
 import self as self;
 import "dart:core" as core;
 
-static field core::int* y;
-static field core::bool* z;
+static field core::int y;
+static field core::bool z;
 static method x() → dynamic
   ;
 static method foo() → void
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.transformed.expect
index d9c6c13..d6c6d8e 100644
--- a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -56,8 +56,8 @@
 import self as self;
 import "dart:core" as core;
 
-static field core::int* y = 42;
-static field core::bool* z = true;
+static field core::int y = 42;
+static field core::bool z = true;
 static method x() → dynamic {}
 static method foo() → void {
   if(!(invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:8:7: Error: Can't use 'x' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart b/pkg/front_end/testcases/regress/issue_29937.dart
index 503c5b8..fcbb92c 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 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29937.dart.weak.expect
index 07a6b9a7..2df04ab 100644
--- a/pkg/front_end/testcases/regress/issue_29937.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29937.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,5 +9,5 @@
 import self as self;
 
 static method main() → dynamic {
-  <() →* Null>[let final () →* Null f = () → Null {} in f];
+  <() → Null>[let final () → Null f = () → Null {} in f];
 }
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29937.dart.weak.modular.expect
index 07a6b9a7..2df04ab 100644
--- a/pkg/front_end/testcases/regress/issue_29937.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29937.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,5 +9,5 @@
 import self as self;
 
 static method main() → dynamic {
-  <() →* Null>[let final () →* Null f = () → Null {} in f];
+  <() → Null>[let final () → Null f = () → Null {} in f];
 }
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29937.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/regress/issue_29937.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29937.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29937.dart.weak.transformed.expect
index 462aa91..860524d 100644
--- a/pkg/front_end/testcases/regress/issue_29937.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29937.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,5 +10,5 @@
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::_GrowableList::_literal1<() →* Null>(let final () →* Null f = () → Null {} in f);
+  core::_GrowableList::_literal1<() → Null>(let final () → Null f = () → Null {} in f);
 }
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart b/pkg/front_end/testcases/regress/issue_29940.dart
index dcebf16..70bba6a 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29940.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29940.dart.weak.expect
index 9a448c5..274cea7 100644
--- a/pkg/front_end/testcases/regress/issue_29940.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29940.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,6 +10,6 @@
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::String* a = "";
+  core::String a = "";
   has-declared-initializer invalid-type c = null;
 }
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29940.dart.weak.modular.expect
index 9a448c5..274cea7 100644
--- a/pkg/front_end/testcases/regress/issue_29940.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29940.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,6 +10,6 @@
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::String* a = "";
+  core::String a = "";
   has-declared-initializer invalid-type c = null;
 }
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29940.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/regress/issue_29940.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29940.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29940.dart.weak.transformed.expect
index 9a448c5..274cea7 100644
--- a/pkg/front_end/testcases/regress/issue_29940.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29940.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,6 +10,6 @@
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::String* a = "";
+  core::String a = "";
   has-declared-initializer invalid-type c = null;
 }
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart b/pkg/front_end/testcases/regress/issue_29941.dart
index 6653493..6cf1d7e 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 2397af0..59cd59e 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,3 +1,2 @@
-// @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 2397af0..59cd59e 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,3 +1,2 @@
-// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29941.dart.weak.expect
index 82b995b..61e6ca4 100644
--- a/pkg/front_end/testcases/regress/issue_29941.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29941.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,7 +11,7 @@
 import "dart:core" as core;
 
 static method bad() → dynamic {
-  core::String* a = "";
+  core::String a = "";
   invalid-expression "pkg/front_end/testcases/regress/issue_29941.dart:7:5: Error: Expected an identifier, but got '\"\"'.
 Try inserting an identifier before '\"\"'.
   a.\"\";
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29941.dart.weak.modular.expect
index 82b995b..61e6ca4 100644
--- a/pkg/front_end/testcases/regress/issue_29941.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29941.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,7 +11,7 @@
 import "dart:core" as core;
 
 static method bad() → dynamic {
-  core::String* a = "";
+  core::String a = "";
   invalid-expression "pkg/front_end/testcases/regress/issue_29941.dart:7:5: Error: Expected an identifier, but got '\"\"'.
 Try inserting an identifier before '\"\"'.
   a.\"\";
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29941.dart.weak.outline.expect
index 81debf2..9f56f49 100644
--- a/pkg/front_end/testcases/regress/issue_29941.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29941.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method bad() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29941.dart.weak.transformed.expect
index 82b995b..61e6ca4 100644
--- a/pkg/front_end/testcases/regress/issue_29941.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29941.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,7 +11,7 @@
 import "dart:core" as core;
 
 static method bad() → dynamic {
-  core::String* a = "";
+  core::String a = "";
   invalid-expression "pkg/front_end/testcases/regress/issue_29941.dart:7:5: Error: Expected an identifier, but got '\"\"'.
 Try inserting an identifier before '\"\"'.
   a.\"\";
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart b/pkg/front_end/testcases/regress/issue_29942.dart
index a59e71b..6117e09 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 7b59ab6..7dbc73c 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,3 +1,2 @@
-// @dart = 2.9
 main() {}
 f() = h() => null;
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29942.dart.weak.expect
index f545925..1bb672f 100644
--- a/pkg/front_end/testcases/regress/issue_29942.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29942.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,4 +15,4 @@
 
 static method main() → dynamic {}
 static method f() → dynamic
-  return let final () →* Null h = () → Null => null in h;
+  return let final () → Null h = () → Null => null in h;
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29942.dart.weak.modular.expect
index f545925..1bb672f 100644
--- a/pkg/front_end/testcases/regress/issue_29942.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29942.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,4 +15,4 @@
 
 static method main() → dynamic {}
 static method f() → dynamic
-  return let final () →* Null h = () → Null => null in h;
+  return let final () → Null h = () → Null => null in h;
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29942.dart.weak.outline.expect
index 1f16ad6..d64c144 100644
--- a/pkg/front_end/testcases/regress/issue_29942.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29942.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29942.dart.weak.transformed.expect
index f545925..1bb672f 100644
--- a/pkg/front_end/testcases/regress/issue_29942.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29942.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,4 +15,4 @@
 
 static method main() → dynamic {}
 static method f() → dynamic
-  return let final () →* Null h = () → Null => null in h;
+  return let final () → Null h = () → Null => null in h;
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart b/pkg/front_end/testcases/regress/issue_29943.dart
index a16b699..b375a92 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29943.dart.textual_outline.expect
index 2397af0..59cd59e 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,3 +1,2 @@
-// @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 2397af0..59cd59e 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,3 +1,2 @@
-// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29943.dart.weak.expect
index cc07a5e..039f11eb 100644
--- a/pkg/front_end/testcases/regress/issue_29943.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29943.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29943.dart.weak.modular.expect
index cc07a5e..039f11eb 100644
--- a/pkg/front_end/testcases/regress/issue_29943.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29943.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29943.dart.weak.outline.expect
index 81debf2..9f56f49 100644
--- a/pkg/front_end/testcases/regress/issue_29943.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29943.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method bad() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29943.dart.weak.transformed.expect
index cc07a5e..039f11eb 100644
--- a/pkg/front_end/testcases/regress/issue_29943.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29943.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart b/pkg/front_end/testcases/regress/issue_29944.dart
index 535993f..a938fee 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29944.dart.textual_outline.expect
index 9c83e12..84b02fb 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   C();
   var C;
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29944.dart.weak.expect
index 4ad1117..589168e 100644
--- a/pkg/front_end/testcases/regress/issue_29944.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29944.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,19 +12,9 @@
 
 class C extends core::Object {
   field dynamic C = null;
-  constructor •() → self::C*
+  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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29944.dart.weak.modular.expect
index 4ad1117..589168e 100644
--- a/pkg/front_end/testcases/regress/issue_29944.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29944.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,19 +12,9 @@
 
 class C extends core::Object {
   field dynamic C = null;
-  constructor •() → self::C*
+  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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29944.dart.weak.outline.expect
index 8d3ae5d..847c365 100644
--- a/pkg/front_end/testcases/regress/issue_29944.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29944.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,18 +12,8 @@
 
 class C extends core::Object {
   field dynamic C;
-  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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29944.dart.weak.transformed.expect
index 4ad1117..589168e 100644
--- a/pkg/front_end/testcases/regress/issue_29944.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29944.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,19 +12,9 @@
 
 class C extends core::Object {
   field dynamic C = null;
-  constructor •() → self::C*
+  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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart b/pkg/front_end/testcases/regress/issue_29945.dart
index 0bf5840..dd63202 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29945.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29945.dart.weak.expect
index d77ee07..7fba4f8 100644
--- a/pkg/front_end/testcases/regress/issue_29945.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29945.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29945.dart.weak.modular.expect
index d77ee07..7fba4f8 100644
--- a/pkg/front_end/testcases/regress/issue_29945.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29945.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29945.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/regress/issue_29945.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29945.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29945.dart.weak.transformed.expect
index d77ee07..7fba4f8 100644
--- a/pkg/front_end/testcases/regress/issue_29945.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29945.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart b/pkg/front_end/testcases/regress/issue_29975.dart
index 2b754c1..69f2e31 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 a25da4a..e3e4824 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,4 +1,3 @@
-// @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 a25da4a..e3e4824 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,4 +1,3 @@
-// @dart = 2.9
 typedef void F();
 typedef void F();
 void main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29975.dart.weak.expect
index cb75715..f2c1554 100644
--- a/pkg/front_end/testcases/regress/issue_29975.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29975.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,5 +11,5 @@
 //
 import self as self;
 
-typedef F = () →* void;
+typedef F = () → void;
 static method main() → void {}
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29975.dart.weak.modular.expect
index cb75715..f2c1554 100644
--- a/pkg/front_end/testcases/regress/issue_29975.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29975.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,5 +11,5 @@
 //
 import self as self;
 
-typedef F = () →* void;
+typedef F = () → void;
 static method main() → void {}
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29975.dart.weak.outline.expect
index caabaf6..4194754 100644
--- a/pkg/front_end/testcases/regress/issue_29975.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29975.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,6 +11,6 @@
 //
 import self as self;
 
-typedef F = () →* void;
+typedef F = () → void;
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29975.dart.weak.transformed.expect
index cb75715..f2c1554 100644
--- a/pkg/front_end/testcases/regress/issue_29975.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29975.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,5 +11,5 @@
 //
 import self as self;
 
-typedef F = () →* void;
+typedef F = () → void;
 static method main() → void {}
diff --git a/pkg/front_end/testcases/regress/issue_29976.dart b/pkg/front_end/testcases/regress/issue_29976.dart
index c5e859d..3d2a10c 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.weak.expect b/pkg/front_end/testcases/regress/issue_29976.dart.weak.expect
index b65bb80..0f72310 100644
--- a/pkg/front_end/testcases/regress/issue_29976.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29976.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29976.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29976.dart.weak.modular.expect
index b65bb80..0f72310 100644
--- a/pkg/front_end/testcases/regress/issue_29976.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29976.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29976.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29976.dart.weak.outline.expect
index e1cb793..fcf3f2a 100644
--- a/pkg/front_end/testcases/regress/issue_29976.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29976.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29976.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29976.dart.weak.transformed.expect
index b65bb80..0f72310 100644
--- a/pkg/front_end/testcases/regress/issue_29976.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29976.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart b/pkg/front_end/testcases/regress/issue_29977.dart
index d8594ce..958074a 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29977.dart.textual_outline.expect
index d4b5e9c..86b4d9e 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,4 +1,3 @@
-// @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 d4b5e9c..86b4d9e 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,4 +1,3 @@
-// @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
index b0dc750..4ce4154 100644
--- a/pkg/front_end/testcases/regress/issue_29977.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29977.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29977.dart.weak.modular.expect
index b0dc750..4ce4154 100644
--- a/pkg/front_end/testcases/regress/issue_29977.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29977.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
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
index 06b2df4..9cbb03e 100644
--- a/pkg/front_end/testcases/regress/issue_29977.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29977.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
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
index b0dc750..4ce4154 100644
--- a/pkg/front_end/testcases/regress/issue_29977.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29977.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart b/pkg/front_end/testcases/regress/issue_29978.dart
index 5169226..997d9aa 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 7df13fc..2a44271 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,3 +1,2 @@
-// @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 7df13fc..2a44271 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,3 +1,2 @@
-// @dart = 2.9
 foo(a, b) => null;
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29978.dart.weak.expect
index a166dcf..34a58b5 100644
--- a/pkg/front_end/testcases/regress/issue_29978.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29978.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,5 +11,5 @@
 static method foo(dynamic a, dynamic b) → dynamic
   return null;
 static method main() → dynamic {
-  self::foo(null, let final () →* Null f = () → Null {} in f);
+  self::foo(null, let final () → Null f = () → Null {} in f);
 }
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29978.dart.weak.modular.expect
index a166dcf..34a58b5 100644
--- a/pkg/front_end/testcases/regress/issue_29978.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29978.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,5 +11,5 @@
 static method foo(dynamic a, dynamic b) → dynamic
   return null;
 static method main() → dynamic {
-  self::foo(null, let final () →* Null f = () → Null {} in f);
+  self::foo(null, let final () → Null f = () → Null {} in f);
 }
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29978.dart.weak.outline.expect
index 21955b2..8884d25 100644
--- a/pkg/front_end/testcases/regress/issue_29978.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29978.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method foo(dynamic a, dynamic b) → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29978.dart.weak.transformed.expect
index a166dcf..34a58b5 100644
--- a/pkg/front_end/testcases/regress/issue_29978.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29978.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,5 +11,5 @@
 static method foo(dynamic a, dynamic b) → dynamic
   return null;
 static method main() → dynamic {
-  self::foo(null, let final () →* Null f = () → Null {} in f);
+  self::foo(null, let final () → Null f = () → Null {} in f);
 }
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart b/pkg/front_end/testcases/regress/issue_29979.dart
index 4034b94..c6bfd12 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29979.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29979.dart.weak.expect
index 66cb15d..453aa64 100644
--- a/pkg/front_end/testcases/regress/issue_29979.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29979.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,5 +9,5 @@
 import self as self;
 
 static method main() → dynamic {
-  (let final () →* Null f = () → Null {} in f)(){() →* Null};
+  (let final () → Null f = () → Null {} in f)(){() → Null};
 }
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29979.dart.weak.modular.expect
index 66cb15d..453aa64 100644
--- a/pkg/front_end/testcases/regress/issue_29979.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29979.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,5 +9,5 @@
 import self as self;
 
 static method main() → dynamic {
-  (let final () →* Null f = () → Null {} in f)(){() →* Null};
+  (let final () → Null f = () → Null {} in f)(){() → Null};
 }
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29979.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/regress/issue_29979.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29979.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29979.dart.weak.transformed.expect
index 66cb15d..453aa64 100644
--- a/pkg/front_end/testcases/regress/issue_29979.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29979.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,5 +9,5 @@
 import self as self;
 
 static method main() → dynamic {
-  (let final () →* Null f = () → Null {} in f)(){() →* Null};
+  (let final () → Null f = () → Null {} in f)(){() → Null};
 }
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart b/pkg/front_end/testcases/regress/issue_29980.dart
index be250c4..184c87a 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29980.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29980.dart.weak.expect
index 1e683cf..4aded02 100644
--- a/pkg/front_end/testcases/regress/issue_29980.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29980.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29980.dart.weak.modular.expect
index 1e683cf..4aded02 100644
--- a/pkg/front_end/testcases/regress/issue_29980.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29980.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29980.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/regress/issue_29980.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29980.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29980.dart.weak.transformed.expect
index 1e683cf..4aded02 100644
--- a/pkg/front_end/testcases/regress/issue_29980.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29980.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart b/pkg/front_end/testcases/regress/issue_29981.dart
index fe5cb48..354f8ce 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29981.dart.textual_outline.expect
index 6cf0086..2dd5595 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,4 +1,3 @@
-// @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 6cf0086..2dd5595 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,4 +1,3 @@
-// @dart = 2.9
 class C<T> {
   C<String, String> field;
 }
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29981.dart.weak.expect
index d56e571..99e313c 100644
--- a/pkg/front_end/testcases/regress/issue_29981.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29981.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,21 +9,11 @@
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
+class C<T extends core::Object? = dynamic> extends core::Object {
   field invalid-type field = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+  synthetic constructor •() → self::C<self::C::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 method main() → dynamic {
   core::print(new self::C::•<dynamic>());
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29981.dart.weak.modular.expect
index d56e571..99e313c 100644
--- a/pkg/front_end/testcases/regress/issue_29981.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29981.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,21 +9,11 @@
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
+class C<T extends core::Object? = dynamic> extends core::Object {
   field invalid-type field = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+  synthetic constructor •() → self::C<self::C::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 method main() → dynamic {
   core::print(new self::C::•<dynamic>());
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29981.dart.weak.outline.expect
index 18fd38b..ccbe055 100644
--- a/pkg/front_end/testcases/regress/issue_29981.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29981.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,20 +9,10 @@
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
+class C<T extends core::Object? = dynamic> extends core::Object {
   field invalid-type field;
-  synthetic constructor •() → self::C<self::C::T*>*
+  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/regress/issue_29981.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29981.dart.weak.transformed.expect
index d56e571..99e313c 100644
--- a/pkg/front_end/testcases/regress/issue_29981.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29981.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,21 +9,11 @@
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
+class C<T extends core::Object? = dynamic> extends core::Object {
   field invalid-type field = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+  synthetic constructor •() → self::C<self::C::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 method main() → dynamic {
   core::print(new self::C::•<dynamic>());
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart b/pkg/front_end/testcases/regress/issue_29982.dart
index 2047a2a..4108de0 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.weak.expect b/pkg/front_end/testcases/regress/issue_29982.dart.weak.expect
index 382c715..b69f989 100644
--- a/pkg/front_end/testcases/regress/issue_29982.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29982.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -41,8 +41,8 @@
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::Map<core::String*, core::String*>* eh = <core::String*, core::String*>{"\u0233h": "\u0233h"};
+  core::Map<core::String, core::String> eh = <core::String, core::String>{"\u0233h": "\u0233h"};
   core::print("${eh.{core::Map::[]}(invalid-expression "pkg/front_end/testcases/regress/issue_29982.dart:7:15: Error: Undefined name '\u0233h'.
   print('\${eh[\u0233h']}');
-              ^^"){(core::Object*) →* core::String*}}");
+              ^^"){(core::Object?) → core::String?}}");
 }
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29982.dart.weak.modular.expect
index 382c715..b69f989 100644
--- a/pkg/front_end/testcases/regress/issue_29982.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29982.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -41,8 +41,8 @@
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::Map<core::String*, core::String*>* eh = <core::String*, core::String*>{"\u0233h": "\u0233h"};
+  core::Map<core::String, core::String> eh = <core::String, core::String>{"\u0233h": "\u0233h"};
   core::print("${eh.{core::Map::[]}(invalid-expression "pkg/front_end/testcases/regress/issue_29982.dart:7:15: Error: Undefined name '\u0233h'.
   print('\${eh[\u0233h']}');
-              ^^"){(core::Object*) →* core::String*}}");
+              ^^"){(core::Object?) → core::String?}}");
 }
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29982.dart.weak.outline.expect
index 2b7388c..c6e9342 100644
--- a/pkg/front_end/testcases/regress/issue_29982.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29982.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29982.dart.weak.transformed.expect
index 382c715..b69f989 100644
--- a/pkg/front_end/testcases/regress/issue_29982.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29982.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -41,8 +41,8 @@
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::Map<core::String*, core::String*>* eh = <core::String*, core::String*>{"\u0233h": "\u0233h"};
+  core::Map<core::String, core::String> eh = <core::String, core::String>{"\u0233h": "\u0233h"};
   core::print("${eh.{core::Map::[]}(invalid-expression "pkg/front_end/testcases/regress/issue_29982.dart:7:15: Error: Undefined name '\u0233h'.
   print('\${eh[\u0233h']}');
-              ^^"){(core::Object*) →* core::String*}}");
+              ^^"){(core::Object?) → core::String?}}");
 }
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart b/pkg/front_end/testcases/regress/issue_29983.dart
index 736b29b..a2ffd95 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 16f1982..352a7fd 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,4 +1,3 @@
-// @dart = 2.9
 f() sync* {}
 g() sync* => dummy;
 h() sync* {}
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29983.dart.weak.expect
index 990d69c..a23c69e 100644
--- a/pkg/front_end/testcases/regress/issue_29983.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29983.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -31,6 +31,6 @@
 g() sync* => dummy;
              ^";
 static method h() → dynamic sync* {
-  (() → core::String* => "return")(){() →* core::String*};
+  (() → core::String => "return")(){() → core::String};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29983.dart.weak.modular.expect
index 990d69c..a23c69e 100644
--- a/pkg/front_end/testcases/regress/issue_29983.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29983.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -31,6 +31,6 @@
 g() sync* => dummy;
              ^";
 static method h() → dynamic sync* {
-  (() → core::String* => "return")(){() →* core::String*};
+  (() → core::String => "return")(){() → core::String};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29983.dart.weak.outline.expect
index 6f674f3..973fdf6 100644
--- a/pkg/front_end/testcases/regress/issue_29983.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29983.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method f() → dynamic sync* 
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29983.dart.weak.transformed.expect
index 38371ce..692911f 100644
--- a/pkg/front_end/testcases/regress/issue_29983.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29983.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,10 +22,10 @@
 import "dart:core" as core;
 
 static method f() → dynamic /* originally sync* */ {
-  function :sync_op_gen() → (core::_SyncIterator<dynamic>*, dynamic, dynamic) →* core::bool* {
-    core::int* :await_jump_var = 0;
+  function :sync_op_gen() → (core::_SyncIterator<dynamic>?, dynamic, dynamic) → core::bool* {
+    core::int :await_jump_var = 0;
     dynamic :await_ctx_var;
-    function :sync_op(core::_SyncIterator<dynamic>* :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
+    function :sync_op(core::_SyncIterator<dynamic>? :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
       {
         invalid-expression "pkg/front_end/testcases/regress/issue_29983.dart:7:3: Error: 'sync*' and 'async*' can't return a value.
   return missing;
@@ -38,10 +38,10 @@
   return new core::_SyncIterable::•<dynamic>(:sync_op_gen);
 }
 static method g() → dynamic /* originally sync* */ {
-  function :sync_op_gen() → (core::_SyncIterator<dynamic>*, dynamic, dynamic) →* core::bool* {
-    core::int* :await_jump_var = 0;
+  function :sync_op_gen() → (core::_SyncIterator<dynamic>?, dynamic, dynamic) → core::bool* {
+    core::int :await_jump_var = 0;
     dynamic :await_ctx_var;
-    function :sync_op(core::_SyncIterator<dynamic>* :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
+    function :sync_op(core::_SyncIterator<dynamic>? :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
       invalid-expression "pkg/front_end/testcases/regress/issue_29983.dart:11:14: Error: 'sync*' and 'async*' can't return a value.
 g() sync* => dummy;
              ^";
@@ -52,12 +52,12 @@
   return new core::_SyncIterable::•<dynamic>(:sync_op_gen);
 }
 static method h() → dynamic /* originally sync* */ {
-  function :sync_op_gen() → (core::_SyncIterator<dynamic>*, dynamic, dynamic) →* core::bool* {
-    core::int* :await_jump_var = 0;
+  function :sync_op_gen() → (core::_SyncIterator<dynamic>?, dynamic, dynamic) → core::bool* {
+    core::int :await_jump_var = 0;
     dynamic :await_ctx_var;
-    function :sync_op(core::_SyncIterator<dynamic>* :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
+    function :sync_op(core::_SyncIterator<dynamic>? :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
       {
-        (() → core::String* => "return")(){() →* core::String*};
+        (() → core::String => "return")(){() → core::String};
       }
       return false;
     }
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart b/pkg/front_end/testcases/regress/issue_29984.dart
index f0804ae..e55ab01 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29984.dart.textual_outline.expect
index 2397af0..59cd59e 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,3 +1,2 @@
-// @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 2397af0..59cd59e 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,3 +1,2 @@
-// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29984.dart.weak.expect
index 0c71c56..df667bd 100644
--- a/pkg/front_end/testcases/regress/issue_29984.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29984.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,7 +17,7 @@
 import "dart:core" as core;
 
 static method bad() → dynamic {
-  for (core::int* i = invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
+  for (core::int i = invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
   for (int i = i;; false) {}
            ^" in invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:16: Error: Undefined name 'i'.
   for (int i = i;; false) {}
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29984.dart.weak.modular.expect
index 0c71c56..df667bd 100644
--- a/pkg/front_end/testcases/regress/issue_29984.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29984.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,7 +17,7 @@
 import "dart:core" as core;
 
 static method bad() → dynamic {
-  for (core::int* i = invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
+  for (core::int i = invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
   for (int i = i;; false) {}
            ^" in invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:16: Error: Undefined name 'i'.
   for (int i = i;; false) {}
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29984.dart.weak.outline.expect
index 81debf2..9f56f49 100644
--- a/pkg/front_end/testcases/regress/issue_29984.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29984.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method bad() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29984.dart.weak.transformed.expect
index 0c71c56..df667bd 100644
--- a/pkg/front_end/testcases/regress/issue_29984.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29984.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,7 +17,7 @@
 import "dart:core" as core;
 
 static method bad() → dynamic {
-  for (core::int* i = invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
+  for (core::int i = invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
   for (int i = i;; false) {}
            ^" in invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:16: Error: Undefined name 'i'.
   for (int i = i;; false) {}
diff --git a/pkg/front_end/testcases/regress/issue_29985.dart b/pkg/front_end/testcases/regress/issue_29985.dart
index e777de7..d0999ee 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.weak.expect b/pkg/front_end/testcases/regress/issue_29985.dart.weak.expect
index ca444a5..5ea90cf 100644
--- a/pkg/front_end/testcases/regress/issue_29985.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29985.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29985.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29985.dart.weak.modular.expect
index ca444a5..5ea90cf 100644
--- a/pkg/front_end/testcases/regress/issue_29985.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29985.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29985.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29985.dart.weak.outline.expect
index 69da87f..c1ca3fa 100644
--- a/pkg/front_end/testcases/regress/issue_29985.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29985.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29985.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29985.dart.weak.transformed.expect
index ca444a5..5ea90cf 100644
--- a/pkg/front_end/testcases/regress/issue_29985.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29985.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart b/pkg/front_end/testcases/regress/issue_29986.dart
index d7f123d..42fb594 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 0533144..9278487 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,3 +1,2 @@
-// @dart = 2.9
 main() {}
 C(this.name);
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29986.dart.weak.expect
index f0b03d5..a4fd935 100644
--- a/pkg/front_end/testcases/regress/issue_29986.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29986.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29986.dart.weak.modular.expect
index f0b03d5..a4fd935 100644
--- a/pkg/front_end/testcases/regress/issue_29986.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29986.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29986.dart.weak.outline.expect
index 6556bc9..b8962fd 100644
--- a/pkg/front_end/testcases/regress/issue_29986.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29986.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29986.dart.weak.transformed.expect
index f0b03d5..a4fd935 100644
--- a/pkg/front_end/testcases/regress/issue_29986.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29986.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart b/pkg/front_end/testcases/regress/issue_29987.dart
index 46adde9..78c7779 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29987.dart.textual_outline.expect
index 3f9947c..b891f0b 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,4 +1,3 @@
-// @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 3f9947c..b891f0b 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,4 +1,3 @@
-// @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
index bd49b16..ca4cbbb 100644
--- a/pkg/front_end/testcases/regress/issue_29987.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29987.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_29987.dart.weak.modular.expect
index bd49b16..ca4cbbb 100644
--- a/pkg/front_end/testcases/regress/issue_29987.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_29987.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
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
index f9a5de8..9d59b0d 100644
--- a/pkg/front_end/testcases/regress/issue_29987.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29987.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
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
index bd49b16..ca4cbbb 100644
--- a/pkg/front_end/testcases/regress/issue_29987.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29987.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart b/pkg/front_end/testcases/regress/issue_30834.dart
index 3b38f5e..12a2a33 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_30834.dart.textual_outline.expect
index e4eaeba..0f21945 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   set A(v) {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.weak.expect b/pkg/front_end/testcases/regress/issue_30834.dart.weak.expect
index 6f89ffe..e4def34 100644
--- a/pkg/front_end/testcases/regress/issue_30834.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_30834.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,22 +11,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   set A(dynamic v) → 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 {
-  self::A* a = new self::A::•();
+  self::A a = new self::A::•();
   a.{self::A::A} = 5;
 }
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_30834.dart.weak.modular.expect
index 6f89ffe..e4def34 100644
--- a/pkg/front_end/testcases/regress/issue_30834.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_30834.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,22 +11,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   set A(dynamic v) → 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 {
-  self::A* a = new self::A::•();
+  self::A a = new self::A::•();
   a.{self::A::A} = 5;
 }
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_30834.dart.weak.outline.expect
index 38def95..c4c554c 100644
--- a/pkg/front_end/testcases/regress/issue_30834.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30834.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,20 +11,10 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
   set A(dynamic v) → 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
   ;
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_30834.dart.weak.transformed.expect
index 6f89ffe..e4def34 100644
--- a/pkg/front_end/testcases/regress/issue_30834.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_30834.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,22 +11,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   set A(dynamic v) → 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 {
-  self::A* a = new self::A::•();
+  self::A a = new self::A::•();
   a.{self::A::A} = 5;
 }
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart b/pkg/front_end/testcases/regress/issue_30836.dart
index 4c408d4..a674a5c 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_30836.dart.textual_outline.expect
index 98cfbdf..5a96f26 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,4 +1,3 @@
-// @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 60ea563..32f0ddd 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   A() {}
   final int x;
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.weak.expect b/pkg/front_end/testcases/regress/issue_30836.dart.weak.expect
index 422b26c..34766f3 100644
--- a/pkg/front_end/testcases/regress/issue_30836.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_30836.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,17 +11,7 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  final field core::int* x = null;
-  constructor •() → self::A*
+  final field core::int x = null;
+  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
 }
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_30836.dart.weak.modular.expect
index 422b26c..34766f3 100644
--- a/pkg/front_end/testcases/regress/issue_30836.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_30836.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,17 +11,7 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  final field core::int* x = null;
-  constructor •() → self::A*
+  final field core::int x = null;
+  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
 }
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_30836.dart.weak.outline.expect
index c05ba76..ed2a8d7 100644
--- a/pkg/front_end/testcases/regress/issue_30836.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30836.dart.weak.outline.expect
@@ -1,19 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  final field core::int* x;
-  constructor •() → self::A*
+  final field core::int x;
+  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
 }
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_30836.dart.weak.transformed.expect
index 422b26c..34766f3 100644
--- a/pkg/front_end/testcases/regress/issue_30836.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_30836.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,17 +11,7 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  final field core::int* x = null;
-  constructor •() → self::A*
+  final field core::int x = null;
+  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
 }
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart b/pkg/front_end/testcases/regress/issue_30838.dart
index aeb388f..1c52adb 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;
@@ -10,7 +10,7 @@
 }
 
 class A {
-  Foo<int> f;
+  Foo<int> f = throw '';
   void test() {
     f<String>("hello");
   }
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 011ce8e..980ab88 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,11 +1,10 @@
-// @dart = 2.9
 typedef Foo<S> = S Function<T>(T x);
 int foo<T>(T x) => 3;
 Foo<int> bar() => foo;
 void test1() {}
 
 class A {
-  Foo<int> f;
+  Foo<int> f = throw '';
   void test() {}
 }
 
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 6ee1927..496953b 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,8 +1,7 @@
-// @dart = 2.9
 Foo<int> bar() => foo;
 
 class A {
-  Foo<int> f;
+  Foo<int> f = throw '';
   void test() {}
 }
 
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.weak.expect b/pkg/front_end/testcases/regress/issue_30838.dart.weak.expect
index f1431a1..9b17684 100644
--- a/pkg/front_end/testcases/regress/issue_30838.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_30838.dart.weak.expect
@@ -1,33 +1,23 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef Foo<S extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* S*;
+typedef Foo<S extends core::Object? = dynamic> = <T extends core::Object? = dynamic>(T%) → S%;
 class A extends core::Object {
-  field <T extends core::Object* = dynamic>(T*) →* core::int* f = null;
-  synthetic constructor •() → self::A*
+  field <T extends core::Object? = dynamic>(T%) → core::int f = throw "";
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method test() → void {
-    let final core::String* #t1 = "hello" in this.{self::A::f}{<T extends core::Object* = dynamic>(T*) →* core::int*}<core::String*>(#t1){(core::String*) →* core::int*};
+    let final core::String #t1 = "hello" in this.{self::A::f}{<T extends core::Object? = dynamic>(T%) → core::int}<core::String>(#t1){(core::String) → 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 method foo<T extends core::Object* = dynamic>(self::foo::T* x) → core::int*
+static method foo<T extends core::Object? = dynamic>(self::foo::T% x) → core::int
   return 3;
-static method bar() → <T extends core::Object* = dynamic>(T*) →* core::int*
+static method bar() → <T extends core::Object? = dynamic>(T%) → core::int
   return #C1;
 static method test1() → void {
-  self::bar()<core::String*>("hello"){(core::String*) →* core::int*};
+  self::bar()<core::String>("hello"){(core::String) → core::int};
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_30838.dart.weak.modular.expect
index f1431a1..9b17684 100644
--- a/pkg/front_end/testcases/regress/issue_30838.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_30838.dart.weak.modular.expect
@@ -1,33 +1,23 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef Foo<S extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* S*;
+typedef Foo<S extends core::Object? = dynamic> = <T extends core::Object? = dynamic>(T%) → S%;
 class A extends core::Object {
-  field <T extends core::Object* = dynamic>(T*) →* core::int* f = null;
-  synthetic constructor •() → self::A*
+  field <T extends core::Object? = dynamic>(T%) → core::int f = throw "";
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method test() → void {
-    let final core::String* #t1 = "hello" in this.{self::A::f}{<T extends core::Object* = dynamic>(T*) →* core::int*}<core::String*>(#t1){(core::String*) →* core::int*};
+    let final core::String #t1 = "hello" in this.{self::A::f}{<T extends core::Object? = dynamic>(T%) → core::int}<core::String>(#t1){(core::String) → 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 method foo<T extends core::Object* = dynamic>(self::foo::T* x) → core::int*
+static method foo<T extends core::Object? = dynamic>(self::foo::T% x) → core::int
   return 3;
-static method bar() → <T extends core::Object* = dynamic>(T*) →* core::int*
+static method bar() → <T extends core::Object? = dynamic>(T%) → core::int
   return #C1;
 static method test1() → void {
-  self::bar()<core::String*>("hello"){(core::String*) →* core::int*};
+  self::bar()<core::String>("hello"){(core::String) → core::int};
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_30838.dart.weak.outline.expect
index 8c35b53..e29e598 100644
--- a/pkg/front_end/testcases/regress/issue_30838.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30838.dart.weak.outline.expect
@@ -1,28 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef Foo<S extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* S*;
+typedef Foo<S extends core::Object? = dynamic> = <T extends core::Object? = dynamic>(T%) → S%;
 class A extends core::Object {
-  field <T extends core::Object* = dynamic>(T*) →* core::int* f;
-  synthetic constructor •() → self::A*
+  field <T extends core::Object? = dynamic>(T%) → core::int f;
+  synthetic constructor •() → self::A
     ;
   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 foo<T extends core::Object* = dynamic>(self::foo::T* x) → core::int*
+static method foo<T extends core::Object? = dynamic>(self::foo::T% x) → core::int
   ;
-static method bar() → <T extends core::Object* = dynamic>(T*) →* core::int*
+static method bar() → <T extends core::Object? = dynamic>(T%) → core::int
   ;
 static method test1() → void
   ;
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_30838.dart.weak.transformed.expect
index d1bd2c9..06e5a1d 100644
--- a/pkg/front_end/testcases/regress/issue_30838.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_30838.dart.weak.transformed.expect
@@ -1,33 +1,23 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef Foo<S extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* S*;
+typedef Foo<S extends core::Object? = dynamic> = <T extends core::Object? = dynamic>(T%) → S%;
 class A extends core::Object {
-  field <T extends core::Object* = dynamic>(T*) →* core::int* f = null;
-  synthetic constructor •() → self::A*
+  field <T extends core::Object? = dynamic>(T%) → core::int f = throw "";
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method test() → void {
-    let final core::String* #t1 = "hello" in this.{self::A::f}{<T extends core::Object* = dynamic>(T*) →* core::int*}<core::String*>(#t1){(core::String*) →* core::int*};
+    let final core::String #t1 = "hello" in this.{self::A::f}{<T extends core::Object? = dynamic>(T%) → core::int}<core::String>(#t1){(core::String) → 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 method foo<T extends core::Object* = dynamic>(self::foo::T* x) → core::int*
+static method foo<T extends core::Object? = dynamic>(self::foo::T% x) → core::int
   return 3;
-static method bar() → <T extends core::Object* = dynamic>(T*) →* core::int*
+static method bar() → <T extends core::Object? = dynamic>(T%) → core::int
   return #C1;
 static method test1() → void {
-  self::bar()<core::String*>("hello"){(core::String*) →* core::int*};
+  self::bar()<core::String>("hello"){(core::String) → core::int};
 }
 static method main() → dynamic {}
 
@@ -37,4 +27,4 @@
 
 Extra constant evaluation status:
 Evaluated: VariableGet @ org-dartlang-testcase:///issue_30838.dart:15:15 -> StringConstant("hello")
-Extra constant evaluation: evaluated: 7, effectively constant: 1
+Extra constant evaluation: evaluated: 8, effectively constant: 1
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart b/pkg/front_end/testcases/regress/issue_30981.dart
index eacdc1e..09e7fd8 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_30981.dart.textual_outline.expect
index 3a6d1c8..4e0b986 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   get A {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.weak.expect b/pkg/front_end/testcases/regress/issue_30981.dart.weak.expect
index c413ee9..867cea6 100644
--- a/pkg/front_end/testcases/regress/issue_30981.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_30981.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,22 +11,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   get A() → dynamic {
     core::print("Actually, I'm a getter, not a constructor.");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::A::•();
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_30981.dart.weak.modular.expect
index c413ee9..867cea6 100644
--- a/pkg/front_end/testcases/regress/issue_30981.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_30981.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,22 +11,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   get A() → dynamic {
     core::print("Actually, I'm a getter, not a constructor.");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::A::•();
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_30981.dart.weak.outline.expect
index d2c3725..d57a3eb 100644
--- a/pkg/front_end/testcases/regress/issue_30981.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30981.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,20 +11,10 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
   get 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_30981.dart.weak.transformed.expect
index c413ee9..867cea6 100644
--- a/pkg/front_end/testcases/regress/issue_30981.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_30981.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,22 +11,12 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   get A() → dynamic {
     core::print("Actually, I'm a getter, not a constructor.");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::A::•();
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart b/pkg/front_end/testcases/regress/issue_30994.dart
index 6cfe28e..4f355c7 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_30994.dart.textual_outline.expect
index 7b888eb..d76d046 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,4 +1,3 @@
-// @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
index 23676b0..5e9f6e6 100644
--- a/pkg/front_end/testcases/regress/issue_30994.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_30994.dart.weak.expect
@@ -1,4 +1,4 @@
-library lib;
+library lib /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -32,13 +32,13 @@
 //
 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;
+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 /*isNonNullableByDefault*/;
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_30994.dart.weak.modular.expect
index 23676b0..5e9f6e6 100644
--- a/pkg/front_end/testcases/regress/issue_30994.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_30994.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library lib;
+library lib /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -32,13 +32,13 @@
 //
 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;
+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 /*isNonNullableByDefault*/;
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
index cd7a4c9..f9f9c54 100644
--- a/pkg/front_end/testcases/regress/issue_30994.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30994.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library lib;
+library lib /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -32,13 +32,13 @@
 //
 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;
+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
   ;
 
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
index 23676b0..5e9f6e6 100644
--- a/pkg/front_end/testcases/regress/issue_30994.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_30994.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library lib;
+library lib /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -32,13 +32,13 @@
 //
 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;
+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 /*isNonNullableByDefault*/;
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart b/pkg/front_end/testcases/regress/issue_31155.dart
index fd6b43a..5e9082b 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31155.dart.textual_outline.expect
index 89f0128..a4da467 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,4 +1,3 @@
-// @dart = 2.9
 class A {}
 class B {}
 class C {
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31155.dart.weak.expect
index 2f83d69..2a97a23 100644
--- a/pkg/front_end/testcases/regress/issue_31155.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31155.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,49 +11,19 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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*
+  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 C extends core::Object {
-  field core::Map<self::A*, self::B*>* f = <self::A*, self::B*>{};
-  synthetic constructor •() → self::C*
+  field core::Map<self::A, self::B> f = <self::A, self::B>{};
+  synthetic 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
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31155.dart.weak.modular.expect
index 2f83d69..2a97a23 100644
--- a/pkg/front_end/testcases/regress/issue_31155.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31155.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,49 +11,19 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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*
+  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 C extends core::Object {
-  field core::Map<self::A*, self::B*>* f = <self::A*, self::B*>{};
-  synthetic constructor •() → self::C*
+  field core::Map<self::A, self::B> f = <self::A, self::B>{};
+  synthetic 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
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31155.dart.weak.outline.expect
index 2a3e5ef..c529779 100644
--- a/pkg/front_end/testcases/regress/issue_31155.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31155.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,47 +11,17 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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*
+  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 core::Map<self::A*, self::B*>* f;
-  synthetic constructor •() → self::C*
+  field core::Map<self::A, self::B> f;
+  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() → void
   ;
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31155.dart.weak.transformed.expect
index 2f83d69..2a97a23 100644
--- a/pkg/front_end/testcases/regress/issue_31155.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31155.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,49 +11,19 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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*
+  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 C extends core::Object {
-  field core::Map<self::A*, self::B*>* f = <self::A*, self::B*>{};
-  synthetic constructor •() → self::C*
+  field core::Map<self::A, self::B> f = <self::A, self::B>{};
+  synthetic 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
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart b/pkg/front_end/testcases/regress/issue_31157.dart
index 3ba832e..f45fa8e 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31157.dart.textual_outline.expect
index 2397af0..59cd59e 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,3 +1,2 @@
-// @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 2397af0..59cd59e 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,3 +1,2 @@
-// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31157.dart.weak.expect
index f999813..0d85ca7 100644
--- a/pkg/front_end/testcases/regress/issue_31157.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31157.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31157.dart.weak.modular.expect
index f999813..0d85ca7 100644
--- a/pkg/front_end/testcases/regress/issue_31157.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31157.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31157.dart.weak.outline.expect
index 81debf2..9f56f49 100644
--- a/pkg/front_end/testcases/regress/issue_31157.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31157.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method bad() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31157.dart.weak.transformed.expect
index f999813..0d85ca7 100644
--- a/pkg/front_end/testcases/regress/issue_31157.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31157.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart b/pkg/front_end/testcases/regress/issue_31171.dart
index e57f24d..c7ffc48 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 fd4484b..fb9c573 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,4 +1,3 @@
-// @dart = 2.9
 main() {}
 typedef T = ;
 typedef F = Map<String, dynamic> Function();
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31171.dart.weak.expect
index 7b520a3..6fe03c2 100644
--- a/pkg/front_end/testcases/regress/issue_31171.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31171.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,5 +18,5 @@
 import "dart:core" as core;
 
 typedef T = invalid-type;
-typedef F = () →* core::Map<core::String*, dynamic>*;
+typedef F = () → core::Map<core::String, dynamic>;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31171.dart.weak.modular.expect
index 7b520a3..6fe03c2 100644
--- a/pkg/front_end/testcases/regress/issue_31171.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31171.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,5 +18,5 @@
 import "dart:core" as core;
 
 typedef T = invalid-type;
-typedef F = () →* core::Map<core::String*, dynamic>*;
+typedef F = () → core::Map<core::String, dynamic>;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31171.dart.weak.outline.expect
index 1b5d642..91ef7c2 100644
--- a/pkg/front_end/testcases/regress/issue_31171.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31171.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,6 +18,6 @@
 import "dart:core" as core;
 
 typedef T = invalid-type;
-typedef F = () →* core::Map<core::String*, dynamic>*;
+typedef F = () → core::Map<core::String, dynamic>;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31171.dart.weak.transformed.expect
index 7b520a3..6fe03c2 100644
--- a/pkg/front_end/testcases/regress/issue_31171.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31171.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,5 +18,5 @@
 import "dart:core" as core;
 
 typedef T = invalid-type;
-typedef F = () →* core::Map<core::String*, dynamic>*;
+typedef F = () → core::Map<core::String, dynamic>;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart b/pkg/front_end/testcases/regress/issue_31180.dart
index 0d88261..a19affa 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart
+++ b/pkg/front_end/testcases/regress/issue_31180.dart
@@ -1,7 +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
+
 bad() {
   return null?[1];
 }
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect
index 821c285..c9dfe0e 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect
@@ -2,11 +2,11 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_31180.dart:6:15: Error: Null safety features are disabled for this library.
+// pkg/front_end/testcases/regress/issue_31180.dart:8: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.
+// pkg/front_end/testcases/regress/issue_31180.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
 // // @dart=2.9
 // ^^^^^^^^^^^^
 //
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31180.dart.weak.modular.expect
index 821c285..c9dfe0e 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.weak.modular.expect
@@ -2,11 +2,11 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_31180.dart:6:15: Error: Null safety features are disabled for this library.
+// pkg/front_end/testcases/regress/issue_31180.dart:8: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.
+// pkg/front_end/testcases/regress/issue_31180.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
 // // @dart=2.9
 // ^^^^^^^^^^^^
 //
diff --git a/pkg/front_end/testcases/regress/issue_31180_2.dart b/pkg/front_end/testcases/regress/issue_31180_2.dart
new file mode 100644
index 0000000..7109223
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31180_2.dart
@@ -0,0 +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.
+
+bad() {
+  return null?[1];
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31180_2.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31180_2.dart.textual_outline.expect
new file mode 100644
index 0000000..59cd59e
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31180_2.dart.textual_outline.expect
@@ -0,0 +1,2 @@
+bad() {}
+main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31180_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31180_2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..59cd59e
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31180_2.dart.textual_outline_modelled.expect
@@ -0,0 +1,2 @@
+bad() {}
+main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31180_2.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31180_2.dart.weak.expect
new file mode 100644
index 0000000..85b466a
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31180_2.dart.weak.expect
@@ -0,0 +1,7 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+static method bad() → dynamic {
+  return let final has-declared-initializer dynamic #t1 = null in #t1 == null ?{dynamic} null : #t1{dynamic}.[](1);
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31180_2.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31180_2.dart.weak.modular.expect
new file mode 100644
index 0000000..85b466a
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31180_2.dart.weak.modular.expect
@@ -0,0 +1,7 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+static method bad() → dynamic {
+  return let final has-declared-initializer dynamic #t1 = null in #t1 == null ?{dynamic} null : #t1{dynamic}.[](1);
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31180_2.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31180_2.dart.weak.outline.expect
new file mode 100644
index 0000000..9f56f49
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31180_2.dart.weak.outline.expect
@@ -0,0 +1,7 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+static method bad() → dynamic
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart b/pkg/front_end/testcases/regress/issue_31181.dart
index 611e587..0cb1658 100644
--- a/pkg/front_end/testcases/regress/issue_31181.dart
+++ b/pkg/front_end/testcases/regress/issue_31181.dart
@@ -1,9 +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
+
 typedef Foo<T> = T Function<T>(T a);
 
-Foo x;
+Foo x = throw '';
 
 main() {}
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 4d5a8eb..27cdd6e 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,4 +1,3 @@
-// @dart = 2.9
 typedef Foo<T> = T Function<T>(T a);
-Foo x;
+Foo x = throw '';
 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 eaba308..9c2db1c 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,4 +1,3 @@
-// @dart = 2.9
-Foo x;
+Foo x = throw '';
 main() {}
 typedef Foo<T> = T Function<T>(T a);
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31181.dart.weak.expect
index 20bc5b5..80017df 100644
--- a/pkg/front_end/testcases/regress/issue_31181.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31181.dart.weak.expect
@@ -1,7 +1,7 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef Foo<unrelated T extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* T*;
-static field <T extends core::Object* = dynamic>(T*) →* T* x;
+typedef Foo<unrelated T extends core::Object? = dynamic> = <T extends core::Object? = dynamic>(T%) → T%;
+static field <T extends core::Object? = dynamic>(T%) → T% x = throw "";
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31181.dart.weak.modular.expect
index 20bc5b5..80017df 100644
--- a/pkg/front_end/testcases/regress/issue_31181.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31181.dart.weak.modular.expect
@@ -1,7 +1,7 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef Foo<unrelated T extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* T*;
-static field <T extends core::Object* = dynamic>(T*) →* T* x;
+typedef Foo<unrelated T extends core::Object? = dynamic> = <T extends core::Object? = dynamic>(T%) → T%;
+static field <T extends core::Object? = dynamic>(T%) → T% x = throw "";
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31181.dart.weak.outline.expect
index 2181f89..f17c649 100644
--- a/pkg/front_end/testcases/regress/issue_31181.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31181.dart.weak.outline.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef Foo<unrelated T extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* T*;
-static field <T extends core::Object* = dynamic>(T*) →* T* x;
+typedef Foo<unrelated T extends core::Object? = dynamic> = <T extends core::Object? = dynamic>(T%) → T%;
+static field <T extends core::Object? = dynamic>(T%) → T% x;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31181.dart.weak.transformed.expect
index 20bc5b5..80017df 100644
--- a/pkg/front_end/testcases/regress/issue_31181.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31181.dart.weak.transformed.expect
@@ -1,7 +1,7 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef Foo<unrelated T extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* T*;
-static field <T extends core::Object* = dynamic>(T*) →* T* x;
+typedef Foo<unrelated T extends core::Object? = dynamic> = <T extends core::Object? = dynamic>(T%) → T%;
+static field <T extends core::Object? = dynamic>(T%) → T% x = throw "";
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart b/pkg/front_end/testcases/regress/issue_31183.dart
index 177c12e..4416b71 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31183.dart.textual_outline.expect
index ab453b5..36ac0b8 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   operator unary- ()=> 0;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31183.dart.weak.expect
index 3c62f2d..8fa5525 100644
--- a/pkg/front_end/testcases/regress/issue_31183.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31183.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,21 +15,11 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   operator unary-() → 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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31183.dart.weak.modular.expect
index 3c62f2d..8fa5525 100644
--- a/pkg/front_end/testcases/regress/issue_31183.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31183.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,21 +15,11 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   operator unary-() → 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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31183.dart.weak.outline.expect
index ab4dc0e..1b72925 100644
--- a/pkg/front_end/testcases/regress/issue_31183.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31183.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,20 +15,10 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   operator unary-() → 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/regress/issue_31183.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31183.dart.weak.transformed.expect
index 3c62f2d..8fa5525 100644
--- a/pkg/front_end/testcases/regress/issue_31183.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31183.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,21 +15,11 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   operator unary-() → 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
 }
 static method main() → dynamic {
   new self::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart b/pkg/front_end/testcases/regress/issue_31184.dart
index 73fd726..83f1665 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31184.dart.textual_outline.expect
index 2397af0..59cd59e 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,3 +1,2 @@
-// @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 2397af0..59cd59e 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,3 +1,2 @@
-// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31184.dart.weak.expect
index 60fc8d2..c799515 100644
--- a/pkg/front_end/testcases/regress/issue_31184.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31184.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,11 +22,11 @@
 import "dart:core" as core;
 
 static method bad() → dynamic {
-  for (core::int* i = 0, core::int* i = invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
+  for (core::int i = 0, core::int i = invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
   for (int i = 0, i > 10; i++) {}
                   ^"; invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: This couldn't be parsed.
   for (int i = 0, i > 10; i++) {}
-                    ^"{<invalid>}.>(10); i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+                    ^"{<invalid>}.>(10); i = i.{core::num::+}(1){(core::num) → core::int}) {
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31184.dart.weak.modular.expect
index 60fc8d2..c799515 100644
--- a/pkg/front_end/testcases/regress/issue_31184.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31184.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,11 +22,11 @@
 import "dart:core" as core;
 
 static method bad() → dynamic {
-  for (core::int* i = 0, core::int* i = invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
+  for (core::int i = 0, core::int i = invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
   for (int i = 0, i > 10; i++) {}
                   ^"; invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: This couldn't be parsed.
   for (int i = 0, i > 10; i++) {}
-                    ^"{<invalid>}.>(10); i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+                    ^"{<invalid>}.>(10); i = i.{core::num::+}(1){(core::num) → core::int}) {
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31184.dart.weak.outline.expect
index 81debf2..9f56f49 100644
--- a/pkg/front_end/testcases/regress/issue_31184.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31184.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method bad() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31184.dart.weak.transformed.expect
index 60fc8d2..c799515 100644
--- a/pkg/front_end/testcases/regress/issue_31184.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31184.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,11 +22,11 @@
 import "dart:core" as core;
 
 static method bad() → dynamic {
-  for (core::int* i = 0, core::int* i = invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
+  for (core::int i = 0, core::int i = invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
   for (int i = 0, i > 10; i++) {}
                   ^"; invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: This couldn't be parsed.
   for (int i = 0, i > 10; i++) {}
-                    ^"{<invalid>}.>(10); i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+                    ^"{<invalid>}.>(10); i = i.{core::num::+}(1){(core::num) → core::int}) {
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart b/pkg/front_end/testcases/regress/issue_31185.dart
index e68d121..568d2af 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 8127b46..4a2b0ae 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,4 +1,3 @@
-// @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 8127b46..4a2b0ae 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,4 +1,3 @@
-// @dart = 2.9
 int i = 5;
 int test1() {}
 int test2() {}
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31185.dart.weak.expect
index ec82b98..3de61ff 100644
--- a/pkg/front_end/testcases/regress/issue_31185.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31185.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,12 +17,12 @@
 import self as self;
 import "dart:core" as core;
 
-static field core::int* i = 5;
-static method test1() → core::int* {
-  return let final core::int* #t1 = self::i in let final core::int* #t2 = self::i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1;
+static field core::int i = 5;
+static method test1() → core::int {
+  return let final core::int #t1 = self::i in let final core::int #t2 = self::i = #t1.{core::num::+}(1){(core::num) → core::int} in #t1;
   self::i;
 }
-static method test2() → core::int* {
+static method test2() → core::int {
   return invalid-expression "pkg/front_end/testcases/regress/issue_31185.dart:12:12: Error: Can't assign to a parenthesized expression.
   return (i) ++ (i);
            ^";
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31185.dart.weak.modular.expect
index ec82b98..3de61ff 100644
--- a/pkg/front_end/testcases/regress/issue_31185.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31185.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,12 +17,12 @@
 import self as self;
 import "dart:core" as core;
 
-static field core::int* i = 5;
-static method test1() → core::int* {
-  return let final core::int* #t1 = self::i in let final core::int* #t2 = self::i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1;
+static field core::int i = 5;
+static method test1() → core::int {
+  return let final core::int #t1 = self::i in let final core::int #t2 = self::i = #t1.{core::num::+}(1){(core::num) → core::int} in #t1;
   self::i;
 }
-static method test2() → core::int* {
+static method test2() → core::int {
   return invalid-expression "pkg/front_end/testcases/regress/issue_31185.dart:12:12: Error: Can't assign to a parenthesized expression.
   return (i) ++ (i);
            ^";
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31185.dart.weak.outline.expect
index 2dca69f..4bbfba6 100644
--- a/pkg/front_end/testcases/regress/issue_31185.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31185.dart.weak.outline.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static field core::int* i;
-static method test1() → core::int*
+static field core::int i;
+static method test1() → core::int
   ;
-static method test2() → core::int*
+static method test2() → core::int
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31185.dart.weak.transformed.expect
index ec82b98..3de61ff 100644
--- a/pkg/front_end/testcases/regress/issue_31185.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31185.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,12 +17,12 @@
 import self as self;
 import "dart:core" as core;
 
-static field core::int* i = 5;
-static method test1() → core::int* {
-  return let final core::int* #t1 = self::i in let final core::int* #t2 = self::i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1;
+static field core::int i = 5;
+static method test1() → core::int {
+  return let final core::int #t1 = self::i in let final core::int #t2 = self::i = #t1.{core::num::+}(1){(core::num) → core::int} in #t1;
   self::i;
 }
-static method test2() → core::int* {
+static method test2() → core::int {
   return invalid-expression "pkg/front_end/testcases/regress/issue_31185.dart:12:12: Error: Can't assign to a parenthesized expression.
   return (i) ++ (i);
            ^";
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart b/pkg/front_end/testcases/regress/issue_31186.dart
index 370ac3d..1bf5d57 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31186.dart.textual_outline.expect
index 2397af0..59cd59e 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,3 +1,2 @@
-// @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 2397af0..59cd59e 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,3 +1,2 @@
-// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31186.dart.weak.expect
index ce4b4c6..937ac82 100644
--- a/pkg/front_end/testcases/regress/issue_31186.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31186.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31186.dart.weak.modular.expect
index ce4b4c6..937ac82 100644
--- a/pkg/front_end/testcases/regress/issue_31186.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31186.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31186.dart.weak.outline.expect
index 81debf2..9f56f49 100644
--- a/pkg/front_end/testcases/regress/issue_31186.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31186.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method bad() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31186.dart.weak.transformed.expect
index ce4b4c6..937ac82 100644
--- a/pkg/front_end/testcases/regress/issue_31186.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31186.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart b/pkg/front_end/testcases/regress/issue_31187.dart
index da76294..2cf6bf8 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31187.dart.textual_outline.expect
index 2397af0..59cd59e 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,3 +1,2 @@
-// @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 2397af0..59cd59e 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,3 +1,2 @@
-// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31187.dart.weak.expect
index 77462b2..786b8ec 100644
--- a/pkg/front_end/testcases/regress/issue_31187.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31187.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31187.dart.weak.modular.expect
index 77462b2..786b8ec 100644
--- a/pkg/front_end/testcases/regress/issue_31187.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31187.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31187.dart.weak.outline.expect
index 81debf2..9f56f49 100644
--- a/pkg/front_end/testcases/regress/issue_31187.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31187.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method bad() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31187.dart.weak.transformed.expect
index 77462b2..786b8ec 100644
--- a/pkg/front_end/testcases/regress/issue_31187.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31187.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart b/pkg/front_end/testcases/regress/issue_31188.dart
index 8782935..766d20b 100644
--- a/pkg/front_end/testcases/regress/issue_31188.dart
+++ b/pkg/front_end/testcases/regress/issue_31188.dart
@@ -1,7 +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
+
+// @dart=2.14
+
 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 2c07051..f583e96 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,3 @@
-// @dart = 2.9
+// @dart = 2.14
 main() {}
 type T = Map<A, B> ;
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31188.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..d41cad3
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31188.dart.textual_outline_modelled.expect
@@ -0,0 +1,2 @@
+main() {}
+type T = Map<A, B>;
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31188.dart.weak.expect
index 6917875..6e3d725 100644
--- a/pkg/front_end/testcases/regress/issue_31188.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31188.dart.weak.expect
@@ -1,34 +1,34 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:18: Error: Expected ';' after this.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:18: Error: Expected ';' after this.
 // type T = Map<A, B>
 //                  ^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Error: Type 'type' not found.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:1: Error: Type 'type' not found.
 // type T = Map<A, B>
 // ^^^^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Error: 'type' isn't a type.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:1: Error: 'type' isn't a type.
 // type T = Map<A, B>
 // ^^^^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:14: Error: 'A' isn't a type.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:14: Error: 'A' isn't a type.
 // type T = Map<A, B>
 //              ^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:17: Error: 'B' isn't a type.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:17: Error: 'B' isn't a type.
 // type T = Map<A, B>
 //                 ^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 // type T = Map<A, B>
 //             ^
-// pkg/front_end/testcases/regress/issue_31188.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_31188.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
 import self as self;
 import "dart:core" as core;
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31188.dart.weak.modular.expect
index 6917875..6e3d725 100644
--- a/pkg/front_end/testcases/regress/issue_31188.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31188.dart.weak.modular.expect
@@ -1,34 +1,34 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:18: Error: Expected ';' after this.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:18: Error: Expected ';' after this.
 // type T = Map<A, B>
 //                  ^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Error: Type 'type' not found.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:1: Error: Type 'type' not found.
 // type T = Map<A, B>
 // ^^^^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Error: 'type' isn't a type.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:1: Error: 'type' isn't a type.
 // type T = Map<A, B>
 // ^^^^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:14: Error: 'A' isn't a type.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:14: Error: 'A' isn't a type.
 // type T = Map<A, B>
 //              ^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:17: Error: 'B' isn't a type.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:17: Error: 'B' isn't a type.
 // type T = Map<A, B>
 //                 ^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 // type T = Map<A, B>
 //             ^
-// pkg/front_end/testcases/regress/issue_31188.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_31188.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
 import self as self;
 import "dart:core" as core;
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31188.dart.weak.outline.expect
index 71e9e57..42f7058 100644
--- a/pkg/front_end/testcases/regress/issue_31188.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31188.dart.weak.outline.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:18: Error: Expected ';' after this.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:18: Error: Expected ';' after this.
 // type T = Map<A, B>
 //                  ^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Error: Type 'type' not found.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:1: Error: Type 'type' not found.
 // type T = Map<A, B>
 // ^^^^
 //
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31188.dart.weak.transformed.expect
index 6917875..6e3d725 100644
--- a/pkg/front_end/testcases/regress/issue_31188.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31188.dart.weak.transformed.expect
@@ -1,34 +1,34 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:18: Error: Expected ';' after this.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:18: Error: Expected ';' after this.
 // type T = Map<A, B>
 //                  ^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Error: Type 'type' not found.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:1: Error: Type 'type' not found.
 // type T = Map<A, B>
 // ^^^^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Error: 'type' isn't a type.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:1: Error: 'type' isn't a type.
 // type T = Map<A, B>
 // ^^^^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:14: Error: 'A' isn't a type.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:14: Error: 'A' isn't a type.
 // type T = Map<A, B>
 //              ^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:17: Error: 'B' isn't a type.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:17: Error: 'B' isn't a type.
 // type T = Map<A, B>
 //                 ^
 //
-// pkg/front_end/testcases/regress/issue_31188.dart:7:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_31188.dart:9:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 // type T = Map<A, B>
 //             ^
-// pkg/front_end/testcases/regress/issue_31188.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_31188.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
 import self as self;
 import "dart:core" as core;
diff --git a/pkg/front_end/testcases/regress/issue_31188_2.dart b/pkg/front_end/testcases/regress/issue_31188_2.dart
new file mode 100644
index 0000000..197dfae
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31188_2.dart
@@ -0,0 +1,8 @@
+// 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.
+
+main() {}
+
+type T = Map<A, B>
+
diff --git a/pkg/front_end/testcases/regress/issue_31188_2.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31188_2.dart.textual_outline.expect
new file mode 100644
index 0000000..d41cad3
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31188_2.dart.textual_outline.expect
@@ -0,0 +1,2 @@
+main() {}
+type T = Map<A, B>;
diff --git a/pkg/front_end/testcases/regress/issue_31188_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31188_2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..d41cad3
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31188_2.dart.textual_outline_modelled.expect
@@ -0,0 +1,2 @@
+main() {}
+type T = Map<A, B>;
diff --git a/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.expect
new file mode 100644
index 0000000..cd6a285
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.expect
@@ -0,0 +1,33 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:18: Error: Expected ';' after this.
+// type T = Map<A, B>
+//                  ^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:1: Error: Type 'type' not found.
+// type T = Map<A, B>
+// ^^^^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:1: Error: 'type' isn't a type.
+// type T = Map<A, B>
+// ^^^^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:14: Error: 'A' isn't a type.
+// type T = Map<A, B>
+//              ^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:17: Error: 'B' isn't a type.
+// type T = Map<A, B>
+//                 ^
+//
+import self as self;
+import "dart:core" as core;
+
+static field invalid-type T = #C1;
+static method main() → dynamic {}
+
+constants  {
+  #C1 = TypeLiteralConstant(core::Map<invalid-type, invalid-type>*)
+}
diff --git a/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.modular.expect
new file mode 100644
index 0000000..cd6a285
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.modular.expect
@@ -0,0 +1,33 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:18: Error: Expected ';' after this.
+// type T = Map<A, B>
+//                  ^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:1: Error: Type 'type' not found.
+// type T = Map<A, B>
+// ^^^^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:1: Error: 'type' isn't a type.
+// type T = Map<A, B>
+// ^^^^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:14: Error: 'A' isn't a type.
+// type T = Map<A, B>
+//              ^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:17: Error: 'B' isn't a type.
+// type T = Map<A, B>
+//                 ^
+//
+import self as self;
+import "dart:core" as core;
+
+static field invalid-type T = #C1;
+static method main() → dynamic {}
+
+constants  {
+  #C1 = TypeLiteralConstant(core::Map<invalid-type, invalid-type>*)
+}
diff --git a/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.outline.expect
new file mode 100644
index 0000000..4beac13
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.outline.expect
@@ -0,0 +1,17 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:18: Error: Expected ';' after this.
+// type T = Map<A, B>
+//                  ^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:1: Error: Type 'type' not found.
+// type T = Map<A, B>
+// ^^^^
+//
+import self as self;
+
+static field invalid-type T;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.transformed.expect
new file mode 100644
index 0000000..cd6a285
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31188_2.dart.weak.transformed.expect
@@ -0,0 +1,33 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:18: Error: Expected ';' after this.
+// type T = Map<A, B>
+//                  ^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:1: Error: Type 'type' not found.
+// type T = Map<A, B>
+// ^^^^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:1: Error: 'type' isn't a type.
+// type T = Map<A, B>
+// ^^^^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:14: Error: 'A' isn't a type.
+// type T = Map<A, B>
+//              ^
+//
+// pkg/front_end/testcases/regress/issue_31188_2.dart:7:17: Error: 'B' isn't a type.
+// type T = Map<A, B>
+//                 ^
+//
+import self as self;
+import "dart:core" as core;
+
+static field invalid-type T = #C1;
+static method main() → dynamic {}
+
+constants  {
+  #C1 = TypeLiteralConstant(core::Map<invalid-type, invalid-type>*)
+}
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart b/pkg/front_end/testcases/regress/issue_31190.dart
index 22e5680..3375687 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31190.dart.textual_outline.expect
index 2e1c860..52c03bd 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,4 +1,3 @@
-// @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 2e1c860..52c03bd 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,4 +1,3 @@
-// @dart = 2.9
 class Typed<T> {
   T<U> v;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31190.dart.weak.expect
index 728db79..b23ef13 100644
--- a/pkg/front_end/testcases/regress/issue_31190.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31190.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,20 +18,10 @@
 import self as self;
 import "dart:core" as core;
 
-class Typed<T extends core::Object* = dynamic> extends core::Object {
+class Typed<T extends core::Object? = dynamic> extends core::Object {
   field invalid-type v = null;
-  synthetic constructor •() → self::Typed<self::Typed::T*>*
+  synthetic constructor •() → self::Typed<self::Typed::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 method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31190.dart.weak.modular.expect
index 728db79..b23ef13 100644
--- a/pkg/front_end/testcases/regress/issue_31190.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31190.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,20 +18,10 @@
 import self as self;
 import "dart:core" as core;
 
-class Typed<T extends core::Object* = dynamic> extends core::Object {
+class Typed<T extends core::Object? = dynamic> extends core::Object {
   field invalid-type v = null;
-  synthetic constructor •() → self::Typed<self::Typed::T*>*
+  synthetic constructor •() → self::Typed<self::Typed::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 method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31190.dart.weak.outline.expect
index 29b1b41..06496ac 100644
--- a/pkg/front_end/testcases/regress/issue_31190.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31190.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,20 +14,10 @@
 import self as self;
 import "dart:core" as core;
 
-class Typed<T extends core::Object* = dynamic> extends core::Object {
+class Typed<T extends core::Object? = dynamic> extends core::Object {
   field invalid-type v;
-  synthetic constructor •() → self::Typed<self::Typed::T*>*
+  synthetic constructor •() → self::Typed<self::Typed::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/regress/issue_31190.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31190.dart.weak.transformed.expect
index 728db79..b23ef13 100644
--- a/pkg/front_end/testcases/regress/issue_31190.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31190.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,20 +18,10 @@
 import self as self;
 import "dart:core" as core;
 
-class Typed<T extends core::Object* = dynamic> extends core::Object {
+class Typed<T extends core::Object? = dynamic> extends core::Object {
   field invalid-type v = null;
-  synthetic constructor •() → self::Typed<self::Typed::T*>*
+  synthetic constructor •() → self::Typed<self::Typed::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 method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31192.dart b/pkg/front_end/testcases/regress/issue_31192.dart
index 37c8bf0..c450e25 100644
--- a/pkg/front_end/testcases/regress/issue_31192.dart
+++ b/pkg/front_end/testcases/regress/issue_31192.dart
@@ -1,9 +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 Increment {
-  int x;
+  late int x;
   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 eb0e814..1bbd124 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,5 +1,5 @@
-// @dart = 2.9
 class Increment {
+  late
   int x;
   Increment() : =x++ {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_31192.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31192.dart.weak.expect
index 0640c28..94958a4 100644
--- a/pkg/front_end/testcases/regress/issue_31192.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31192.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,20 +15,10 @@
 import "dart:core" as core;
 
 class Increment extends core::Object {
-  field core::int* x = null;
-  constructor •() → self::Increment*
+  late field core::int x;
+  constructor •() → self::Increment
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31192.dart:7:17: Error: This couldn't be parsed.
   Increment() : x++ {}
                 ^" {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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_31192.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31192.dart.weak.modular.expect
index 0640c28..94958a4 100644
--- a/pkg/front_end/testcases/regress/issue_31192.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31192.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,20 +15,10 @@
 import "dart:core" as core;
 
 class Increment extends core::Object {
-  field core::int* x = null;
-  constructor •() → self::Increment*
+  late field core::int x;
+  constructor •() → self::Increment
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31192.dart:7:17: Error: This couldn't be parsed.
   Increment() : x++ {}
                 ^" {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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_31192.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31192.dart.weak.outline.expect
index 442a920..653cbd5 100644
--- a/pkg/front_end/testcases/regress/issue_31192.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31192.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,19 +11,9 @@
 import "dart:core" as core;
 
 class Increment extends core::Object {
-  field core::int* x;
-  constructor •() → self::Increment*
+  late field core::int x;
+  constructor •() → self::Increment
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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_31192.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31192.dart.weak.transformed.expect
index 0640c28..94958a4 100644
--- a/pkg/front_end/testcases/regress/issue_31192.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31192.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,20 +15,10 @@
 import "dart:core" as core;
 
 class Increment extends core::Object {
-  field core::int* x = null;
-  constructor •() → self::Increment*
+  late field core::int x;
+  constructor •() → self::Increment
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31192.dart:7:17: Error: This couldn't be parsed.
   Increment() : x++ {}
                 ^" {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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_31198.dart b/pkg/front_end/testcases/regress/issue_31198.dart
index 06128f9..15dca60 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31198.dart.textual_outline.expect
index aa17508..1fcf675 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,4 +1,3 @@
-// @dart = 2.9
 abstract class A {}
 class B extends A {
   B(): super().foo() {}
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31198.dart.weak.expect
index ecfe034..63411d2 100644
--- a/pkg/front_end/testcases/regress/issue_31198.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31198.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -33,31 +33,21 @@
 import "dart:core" as core;
 
 abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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 self::A {
-  constructor •() → self::B*
+  constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:8:8: Error: Can't use 'super' as an expression.
 To delegate a constructor to a super constructor, put the super call as an initializer.
   B(): super().foo() {}
        ^"{dynamic}.foo() {}
-  constructor named1() → self::B*
+  constructor named1() → self::B
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:9:23: Error: Expected identifier, but got 'super'.
   B.named1(): super().super() {}
                       ^^^^^" {}
-  constructor named2() → self::B*
+  constructor named2() → self::B
     : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:10:23: Error: Expected an identifier, but got '('.
 Try inserting an identifier before '('.
   B.named2(): super().() {}
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31198.dart.weak.modular.expect
index ecfe034..63411d2 100644
--- a/pkg/front_end/testcases/regress/issue_31198.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31198.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -33,31 +33,21 @@
 import "dart:core" as core;
 
 abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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 self::A {
-  constructor •() → self::B*
+  constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:8:8: Error: Can't use 'super' as an expression.
 To delegate a constructor to a super constructor, put the super call as an initializer.
   B(): super().foo() {}
        ^"{dynamic}.foo() {}
-  constructor named1() → self::B*
+  constructor named1() → self::B
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:9:23: Error: Expected identifier, but got 'super'.
   B.named1(): super().super() {}
                       ^^^^^" {}
-  constructor named2() → self::B*
+  constructor named2() → self::B
     : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:10:23: Error: Expected an identifier, but got '('.
 Try inserting an identifier before '('.
   B.named2(): super().() {}
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31198.dart.weak.outline.expect
index e898940..b6f2598b 100644
--- a/pkg/front_end/testcases/regress/issue_31198.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31198.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,25 +11,15 @@
 import "dart:core" as core;
 
 abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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 {
-  constructor •() → self::B*
+  constructor •() → self::B
     ;
-  constructor named1() → self::B*
+  constructor named1() → self::B
     ;
-  constructor named2() → self::B*
+  constructor named2() → self::B
     ;
 }
 static method bad() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31198.dart.weak.transformed.expect
index ecfe034..63411d2 100644
--- a/pkg/front_end/testcases/regress/issue_31198.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31198.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -33,31 +33,21 @@
 import "dart:core" as core;
 
 abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
+  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 self::A {
-  constructor •() → self::B*
+  constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:8:8: Error: Can't use 'super' as an expression.
 To delegate a constructor to a super constructor, put the super call as an initializer.
   B(): super().foo() {}
        ^"{dynamic}.foo() {}
-  constructor named1() → self::B*
+  constructor named1() → self::B
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:9:23: Error: Expected identifier, but got 'super'.
   B.named1(): super().super() {}
                       ^^^^^" {}
-  constructor named2() → self::B*
+  constructor named2() → self::B
     : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:10:23: Error: Expected an identifier, but got '('.
 Try inserting an identifier before '('.
   B.named2(): super().() {}
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart b/pkg/front_end/testcases/regress/issue_31213.dart
index 7926161..f4b522a 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 a41c084..87e854f 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,4 +1,3 @@
-// @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 18f2130..480f6f2 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/regress/issue_31213.dart.weak.expect
index 59e271c..c9f689a 100644
--- a/pkg/front_end/testcases/regress/issue_31213.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31213.dart.weak.expect
@@ -1,14 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef C<contravariant A extends core::Object* = dynamic, contravariant K extends core::Object* = dynamic> = <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
-typedef D<contravariant K extends core::Object* = dynamic> = <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
-static method producer<K extends core::Object* = dynamic>() → dynamic {
-  return <A extends core::Object* = dynamic>(core::int* v1) → <B extends core::Object* = dynamic>(A*, self::producer::K*, B*) →* core::int* {
-    return <B extends core::Object* = dynamic>(A* v2, self::producer::K* v3, B* v4) → core::int* => 0;
+typedef C<contravariant A extends core::Object? = dynamic, contravariant K extends core::Object? = dynamic> = <B extends core::Object? = dynamic>(A%, K%, B%) → core::int;
+typedef D<contravariant K extends core::Object? = dynamic> = <A extends core::Object? = dynamic>(core::int) → <B extends core::Object? = dynamic>(A%, K%, B%) → core::int;
+static method producer<K extends core::Object? = dynamic>() → dynamic {
+  return <A extends core::Object? = dynamic>(core::int v1) → <B extends core::Object? = dynamic>(A%, self::producer::K%, B%) → core::int {
+    return <B extends core::Object? = dynamic>(A% v2, self::producer::K% v3, B% v4) → core::int => 0;
   };
 }
 static method main() → dynamic {
-  assert(self::producer<core::String*>() is <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A*, core::String*, B*) →* core::int*);
+  assert(self::producer<core::String>() is{ForNonNullableByDefault} <A extends core::Object? = dynamic>(core::int) → <B extends core::Object? = dynamic>(A%, core::String, B%) → core::int);
 }
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31213.dart.weak.modular.expect
index 59e271c..c9f689a 100644
--- a/pkg/front_end/testcases/regress/issue_31213.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31213.dart.weak.modular.expect
@@ -1,14 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef C<contravariant A extends core::Object* = dynamic, contravariant K extends core::Object* = dynamic> = <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
-typedef D<contravariant K extends core::Object* = dynamic> = <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
-static method producer<K extends core::Object* = dynamic>() → dynamic {
-  return <A extends core::Object* = dynamic>(core::int* v1) → <B extends core::Object* = dynamic>(A*, self::producer::K*, B*) →* core::int* {
-    return <B extends core::Object* = dynamic>(A* v2, self::producer::K* v3, B* v4) → core::int* => 0;
+typedef C<contravariant A extends core::Object? = dynamic, contravariant K extends core::Object? = dynamic> = <B extends core::Object? = dynamic>(A%, K%, B%) → core::int;
+typedef D<contravariant K extends core::Object? = dynamic> = <A extends core::Object? = dynamic>(core::int) → <B extends core::Object? = dynamic>(A%, K%, B%) → core::int;
+static method producer<K extends core::Object? = dynamic>() → dynamic {
+  return <A extends core::Object? = dynamic>(core::int v1) → <B extends core::Object? = dynamic>(A%, self::producer::K%, B%) → core::int {
+    return <B extends core::Object? = dynamic>(A% v2, self::producer::K% v3, B% v4) → core::int => 0;
   };
 }
 static method main() → dynamic {
-  assert(self::producer<core::String*>() is <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A*, core::String*, B*) →* core::int*);
+  assert(self::producer<core::String>() is{ForNonNullableByDefault} <A extends core::Object? = dynamic>(core::int) → <B extends core::Object? = dynamic>(A%, core::String, B%) → core::int);
 }
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31213.dart.weak.outline.expect
index b80b64a..5b20d23 100644
--- a/pkg/front_end/testcases/regress/issue_31213.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31213.dart.weak.outline.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef C<contravariant A extends core::Object* = dynamic, contravariant K extends core::Object* = dynamic> = <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
-typedef D<contravariant K extends core::Object* = dynamic> = <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
-static method producer<K extends core::Object* = dynamic>() → dynamic
+typedef C<contravariant A extends core::Object? = dynamic, contravariant K extends core::Object? = dynamic> = <B extends core::Object? = dynamic>(A%, K%, B%) → core::int;
+typedef D<contravariant K extends core::Object? = dynamic> = <A extends core::Object? = dynamic>(core::int) → <B extends core::Object? = dynamic>(A%, K%, B%) → core::int;
+static method producer<K extends core::Object? = dynamic>() → dynamic
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31213.dart.weak.transformed.expect
index 59e271c..c9f689a 100644
--- a/pkg/front_end/testcases/regress/issue_31213.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31213.dart.weak.transformed.expect
@@ -1,14 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef C<contravariant A extends core::Object* = dynamic, contravariant K extends core::Object* = dynamic> = <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
-typedef D<contravariant K extends core::Object* = dynamic> = <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
-static method producer<K extends core::Object* = dynamic>() → dynamic {
-  return <A extends core::Object* = dynamic>(core::int* v1) → <B extends core::Object* = dynamic>(A*, self::producer::K*, B*) →* core::int* {
-    return <B extends core::Object* = dynamic>(A* v2, self::producer::K* v3, B* v4) → core::int* => 0;
+typedef C<contravariant A extends core::Object? = dynamic, contravariant K extends core::Object? = dynamic> = <B extends core::Object? = dynamic>(A%, K%, B%) → core::int;
+typedef D<contravariant K extends core::Object? = dynamic> = <A extends core::Object? = dynamic>(core::int) → <B extends core::Object? = dynamic>(A%, K%, B%) → core::int;
+static method producer<K extends core::Object? = dynamic>() → dynamic {
+  return <A extends core::Object? = dynamic>(core::int v1) → <B extends core::Object? = dynamic>(A%, self::producer::K%, B%) → core::int {
+    return <B extends core::Object? = dynamic>(A% v2, self::producer::K% v3, B% v4) → core::int => 0;
   };
 }
 static method main() → dynamic {
-  assert(self::producer<core::String*>() is <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A*, core::String*, B*) →* core::int*);
+  assert(self::producer<core::String>() is{ForNonNullableByDefault} <A extends core::Object? = dynamic>(core::int) → <B extends core::Object? = dynamic>(A%, core::String, B%) → core::int);
 }
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart b/pkg/front_end/testcases/regress/issue_31299.dart
index ddb4089..27c47ab 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31299.dart.textual_outline.expect
index cb3f73f..0298c3a 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,4 +1,3 @@
-// @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 fd9c762..d2c8de1 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   A() : m = 1;
   A.foo() : m = 2;
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31299.dart.weak.expect
index c1f0dcb..d942c26 100644
--- a/pkg/front_end/testcases/regress/issue_31299.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31299.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,31 +18,21 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::int* m;
-  constructor •() → self::A*
+  field core::int m;
+  constructor •() → self::A
     : self::A::m = 1, super core::Object::•()
     ;
-  constructor foo() → self::A*
+  constructor foo() → self::A
     : self::A::m = 2, super core::Object::•()
     ;
-  method foo(core::int* a, core::int* b) → core::int*
-    return a.{core::num::+}(b.{core::num::*}(this.{self::A::m}{core::int*}){(core::num*) →* core::int*}){(core::num*) →* 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
+  method foo(core::int a, core::int b) → core::int
+    return a.{core::num::+}(b.{core::num::*}(this.{self::A::m}{core::int}){(core::num) → core::int}){(core::num) → core::int};
 }
 static method test() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_31299.dart:15:14: Error: Too few positional arguments: 2 required, 0 given.
   new A().foo();
-             ^" in new self::A::•().{self::A::foo}{<inapplicable>}.(){() →* invalid-type};
-  new self::A::•().{self::A::foo}(1, 2){(core::int*, core::int*) →* core::int*};
+             ^" in new self::A::•().{self::A::foo}{<inapplicable>}.(){() → invalid-type};
+  new self::A::•().{self::A::foo}(1, 2){(core::int, core::int) → core::int};
   new self::A::foo();
   invalid-expression "pkg/front_end/testcases/regress/issue_31299.dart:18:12: Error: Too many positional arguments: 0 allowed, but 2 found.
 Try removing the extra positional arguments.
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31299.dart.weak.modular.expect
index c1f0dcb..d942c26 100644
--- a/pkg/front_end/testcases/regress/issue_31299.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31299.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,31 +18,21 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::int* m;
-  constructor •() → self::A*
+  field core::int m;
+  constructor •() → self::A
     : self::A::m = 1, super core::Object::•()
     ;
-  constructor foo() → self::A*
+  constructor foo() → self::A
     : self::A::m = 2, super core::Object::•()
     ;
-  method foo(core::int* a, core::int* b) → core::int*
-    return a.{core::num::+}(b.{core::num::*}(this.{self::A::m}{core::int*}){(core::num*) →* core::int*}){(core::num*) →* 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
+  method foo(core::int a, core::int b) → core::int
+    return a.{core::num::+}(b.{core::num::*}(this.{self::A::m}{core::int}){(core::num) → core::int}){(core::num) → core::int};
 }
 static method test() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_31299.dart:15:14: Error: Too few positional arguments: 2 required, 0 given.
   new A().foo();
-             ^" in new self::A::•().{self::A::foo}{<inapplicable>}.(){() →* invalid-type};
-  new self::A::•().{self::A::foo}(1, 2){(core::int*, core::int*) →* core::int*};
+             ^" in new self::A::•().{self::A::foo}{<inapplicable>}.(){() → invalid-type};
+  new self::A::•().{self::A::foo}(1, 2){(core::int, core::int) → core::int};
   new self::A::foo();
   invalid-expression "pkg/front_end/testcases/regress/issue_31299.dart:18:12: Error: Too many positional arguments: 0 allowed, but 2 found.
 Try removing the extra positional arguments.
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31299.dart.weak.outline.expect
index 9869b3b..514d2ca 100644
--- a/pkg/front_end/testcases/regress/issue_31299.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31299.dart.weak.outline.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::int* m;
-  constructor •() → self::A*
+  field core::int m;
+  constructor •() → self::A
     ;
-  constructor foo() → self::A*
+  constructor foo() → self::A
     ;
-  method foo(core::int* a, core::int* b) → core::int*
+  method foo(core::int a, core::int b) → 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 method test() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31299.dart.weak.transformed.expect
index c1f0dcb..d942c26 100644
--- a/pkg/front_end/testcases/regress/issue_31299.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31299.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,31 +18,21 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::int* m;
-  constructor •() → self::A*
+  field core::int m;
+  constructor •() → self::A
     : self::A::m = 1, super core::Object::•()
     ;
-  constructor foo() → self::A*
+  constructor foo() → self::A
     : self::A::m = 2, super core::Object::•()
     ;
-  method foo(core::int* a, core::int* b) → core::int*
-    return a.{core::num::+}(b.{core::num::*}(this.{self::A::m}{core::int*}){(core::num*) →* core::int*}){(core::num*) →* 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
+  method foo(core::int a, core::int b) → core::int
+    return a.{core::num::+}(b.{core::num::*}(this.{self::A::m}{core::int}){(core::num) → core::int}){(core::num) → core::int};
 }
 static method test() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_31299.dart:15:14: Error: Too few positional arguments: 2 required, 0 given.
   new A().foo();
-             ^" in new self::A::•().{self::A::foo}{<inapplicable>}.(){() →* invalid-type};
-  new self::A::•().{self::A::foo}(1, 2){(core::int*, core::int*) →* core::int*};
+             ^" in new self::A::•().{self::A::foo}{<inapplicable>}.(){() → invalid-type};
+  new self::A::•().{self::A::foo}(1, 2){(core::int, core::int) → core::int};
   new self::A::foo();
   invalid-expression "pkg/front_end/testcases/regress/issue_31299.dart:18:12: Error: Too many positional arguments: 0 allowed, but 2 found.
 Try removing the extra positional arguments.
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart b/pkg/front_end/testcases/regress/issue_31766.dart
index 538400c..491cb00 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31766.dart.textual_outline.expect
index 2aac28f..27434f1 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,4 +1,3 @@
-// @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 2aac28f..27434f1 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   foo() => null;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31766.dart.weak.expect
index ec4557f..8acce0b 100644
--- a/pkg/front_end/testcases/regress/issue_31766.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31766.dart.weak.expect
@@ -1,30 +1,20 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method foo() → dynamic
     return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
-  function bar<T extends self::A*>(T* t) → void {
-    core::print("t.foo()=${t.{self::A::foo}(){() →* dynamic}}");
+  function bar<T extends self::A>(T t) → void {
+    core::print("t.foo()=${t.{self::A::foo}(){() → dynamic}}");
   }
-  bar<self::A*>(new self::A::•()){(self::A*) →* void};
-  (<S extends self::A*>(S* s) → Null {
-    core::print("s.foo()=${s.{self::A::foo}(){() →* dynamic}}");
-  })<self::A*>(new self::A::•()){(self::A*) →* Null};
+  bar<self::A>(new self::A::•()){(self::A) → void};
+  (<S extends self::A>(S s) → Null {
+    core::print("s.foo()=${s.{self::A::foo}(){() → dynamic}}");
+  })<self::A>(new self::A::•()){(self::A) → Null};
 }
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31766.dart.weak.modular.expect
index ec4557f..8acce0b 100644
--- a/pkg/front_end/testcases/regress/issue_31766.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31766.dart.weak.modular.expect
@@ -1,30 +1,20 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method foo() → dynamic
     return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
-  function bar<T extends self::A*>(T* t) → void {
-    core::print("t.foo()=${t.{self::A::foo}(){() →* dynamic}}");
+  function bar<T extends self::A>(T t) → void {
+    core::print("t.foo()=${t.{self::A::foo}(){() → dynamic}}");
   }
-  bar<self::A*>(new self::A::•()){(self::A*) →* void};
-  (<S extends self::A*>(S* s) → Null {
-    core::print("s.foo()=${s.{self::A::foo}(){() →* dynamic}}");
-  })<self::A*>(new self::A::•()){(self::A*) →* Null};
+  bar<self::A>(new self::A::•()){(self::A) → void};
+  (<S extends self::A>(S s) → Null {
+    core::print("s.foo()=${s.{self::A::foo}(){() → dynamic}}");
+  })<self::A>(new self::A::•()){(self::A) → Null};
 }
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31766.dart.weak.outline.expect
index c973003..9c602fb 100644
--- a/pkg/front_end/testcases/regress/issue_31766.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31766.dart.weak.outline.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
   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/regress/issue_31766.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31766.dart.weak.transformed.expect
index ec4557f..8acce0b 100644
--- a/pkg/front_end/testcases/regress/issue_31766.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31766.dart.weak.transformed.expect
@@ -1,30 +1,20 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   method foo() → dynamic
     return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
-  function bar<T extends self::A*>(T* t) → void {
-    core::print("t.foo()=${t.{self::A::foo}(){() →* dynamic}}");
+  function bar<T extends self::A>(T t) → void {
+    core::print("t.foo()=${t.{self::A::foo}(){() → dynamic}}");
   }
-  bar<self::A*>(new self::A::•()){(self::A*) →* void};
-  (<S extends self::A*>(S* s) → Null {
-    core::print("s.foo()=${s.{self::A::foo}(){() →* dynamic}}");
-  })<self::A*>(new self::A::•()){(self::A*) →* Null};
+  bar<self::A>(new self::A::•()){(self::A) → void};
+  (<S extends self::A>(S s) → Null {
+    core::print("s.foo()=${s.{self::A::foo}(){() → dynamic}}");
+  })<self::A>(new self::A::•()){(self::A) → Null};
 }
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart b/pkg/front_end/testcases/regress/issue_31846.dart
index 4619403..593212f 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31846.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31846.dart.weak.expect
index a893a8d..f8c19ed 100644
--- a/pkg/front_end/testcases/regress/issue_31846.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31846.dart.weak.expect
@@ -1,15 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::print(#C1 is () →* dynamic);
-  core::print((<T extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::num*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::Comparable<T*>* = core::Comparable<dynamic>*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::Comparable<S*>* = core::Comparable<dynamic>*, S extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends (T*) →* dynamic = (Null) →* dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::List<core::List<T*>*>* = core::List<core::List<dynamic>*>*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+  core::print(#C1 is{ForNonNullableByDefault} () → dynamic);
+  core::print((<T extends core::Object? = dynamic>(T% x) → T% => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::num>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::Comparable<T> = core::Comparable<dynamic>>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::Comparable<S%> = core::Comparable<dynamic>, S extends core::Object? = dynamic>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends (T) → dynamic = (Null) → dynamic>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::List<core::List<T>> = core::List<core::List<dynamic>>>(T x) → T => x).{core::Object::runtimeType}{core::Type});
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31846.dart.weak.modular.expect
index a893a8d..f8c19ed 100644
--- a/pkg/front_end/testcases/regress/issue_31846.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31846.dart.weak.modular.expect
@@ -1,15 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::print(#C1 is () →* dynamic);
-  core::print((<T extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::num*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::Comparable<T*>* = core::Comparable<dynamic>*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::Comparable<S*>* = core::Comparable<dynamic>*, S extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends (T*) →* dynamic = (Null) →* dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::List<core::List<T*>*>* = core::List<core::List<dynamic>*>*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+  core::print(#C1 is{ForNonNullableByDefault} () → dynamic);
+  core::print((<T extends core::Object? = dynamic>(T% x) → T% => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::num>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::Comparable<T> = core::Comparable<dynamic>>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::Comparable<S%> = core::Comparable<dynamic>, S extends core::Object? = dynamic>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends (T) → dynamic = (Null) → dynamic>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::List<core::List<T>> = core::List<core::List<dynamic>>>(T x) → T => x).{core::Object::runtimeType}{core::Type});
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31846.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/regress/issue_31846.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31846.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31846.dart.weak.transformed.expect
index e1b75c5..7f0dc5e 100644
--- a/pkg/front_end/testcases/regress/issue_31846.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31846.dart.weak.transformed.expect
@@ -1,15 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::print(#C1 is () →* dynamic);
-  core::print((<T extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::num*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::Comparable<T*>* = core::Comparable<dynamic>*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::Comparable<S*>* = core::Comparable<dynamic>*, S extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends (T*) →* dynamic = (Null) →* dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
-  core::print((<T extends core::List<core::List<T*>*>* = core::List<core::List<dynamic>*>*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+  core::print(#C1 is{ForNonNullableByDefault} () → dynamic);
+  core::print((<T extends core::Object? = dynamic>(T% x) → T% => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::num>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::Comparable<T> = core::Comparable<dynamic>>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::Comparable<S%> = core::Comparable<dynamic>, S extends core::Object? = dynamic>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends (T) → dynamic = (Null) → dynamic>(T x) → T => x).{core::Object::runtimeType}{core::Type});
+  core::print((<T extends core::List<core::List<T>> = core::List<core::List<dynamic>>>(T x) → T => x).{core::Object::runtimeType}{core::Type});
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart b/pkg/front_end/testcases/regress/issue_31996.dart
index ee35029..90260dc 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31996.dart.textual_outline.expect
index d130780..7ebf1bc 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,4 +1,3 @@
-// @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 d130780..7ebf1bc 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,4 +1,3 @@
-// @dart = 2.9
 abstract class B<T> {}
 
 abstract class C<T> {}
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31996.dart.weak.expect
index 6cf6fb4..4d307ab 100644
--- a/pkg/front_end/testcases/regress/issue_31996.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31996.dart.weak.expect
@@ -1,59 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-abstract class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+abstract 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*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 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*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 extends core::Object implements self::B<dynamic> {
-  synthetic constructor •() → self::Base*
+  synthetic constructor •() → self::Base
     : 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 Child1 extends self::Base implements self::C<core::int*> {
-  synthetic constructor •() → self::Child1*
+class Child1 extends self::Base implements self::C<core::int> {
+  synthetic constructor •() → self::Child1
     : super self::Base::•()
     ;
 }
-class Child2 extends self::Base implements self::C<core::double*> {
-  synthetic constructor •() → self::Child2*
+class Child2 extends self::Base implements self::C<core::double> {
+  synthetic constructor •() → self::Child2
     : super self::Base::•()
     ;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_31996.dart.weak.modular.expect
index 6cf6fb4..4d307ab 100644
--- a/pkg/front_end/testcases/regress/issue_31996.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_31996.dart.weak.modular.expect
@@ -1,59 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-abstract class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+abstract 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*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 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*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 extends core::Object implements self::B<dynamic> {
-  synthetic constructor •() → self::Base*
+  synthetic constructor •() → self::Base
     : 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 Child1 extends self::Base implements self::C<core::int*> {
-  synthetic constructor •() → self::Child1*
+class Child1 extends self::Base implements self::C<core::int> {
+  synthetic constructor •() → self::Child1
     : super self::Base::•()
     ;
 }
-class Child2 extends self::Base implements self::C<core::double*> {
-  synthetic constructor •() → self::Child2*
+class Child2 extends self::Base implements self::C<core::double> {
+  synthetic constructor •() → self::Child2
     : super self::Base::•()
     ;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_31996.dart.weak.outline.expect
index 52e736c..a5980c3 100644
--- a/pkg/front_end/testcases/regress/issue_31996.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31996.dart.weak.outline.expect
@@ -1,55 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-abstract class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+abstract 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
 }
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+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
 }
 class Base extends core::Object implements self::B<dynamic> {
-  synthetic constructor •() → self::Base*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class Child1 extends self::Base implements self::C<core::int*> {
-  synthetic constructor •() → self::Child1*
+  synthetic constructor •() → self::Base
     ;
 }
-class Child2 extends self::Base implements self::C<core::double*> {
-  synthetic constructor •() → self::Child2*
+class Child1 extends self::Base implements self::C<core::int> {
+  synthetic constructor •() → self::Child1
+    ;
+}
+class Child2 extends self::Base implements self::C<core::double> {
+  synthetic constructor •() → self::Child2
     ;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31996.dart.weak.transformed.expect
index 6cf6fb4..4d307ab 100644
--- a/pkg/front_end/testcases/regress/issue_31996.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31996.dart.weak.transformed.expect
@@ -1,59 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-abstract class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+abstract 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*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 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*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::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 extends core::Object implements self::B<dynamic> {
-  synthetic constructor •() → self::Base*
+  synthetic constructor •() → self::Base
     : 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 Child1 extends self::Base implements self::C<core::int*> {
-  synthetic constructor •() → self::Child1*
+class Child1 extends self::Base implements self::C<core::int> {
+  synthetic constructor •() → self::Child1
     : super self::Base::•()
     ;
 }
-class Child2 extends self::Base implements self::C<core::double*> {
-  synthetic constructor •() → self::Child2*
+class Child2 extends self::Base implements self::C<core::double> {
+  synthetic constructor •() → self::Child2
     : super self::Base::•()
     ;
 }
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart b/pkg/front_end/testcases/regress/issue_32182.dart
index c3c6a72..7e42146 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_32182.dart.textual_outline.expect
index 25ad7e6..22f0c87 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,4 +1,3 @@
-// @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 0a9400b..f0f5e79 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,4 +1,3 @@
-// @dart = 2.9
 import "issue_32182.dart" as self;
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.weak.expect b/pkg/front_end/testcases/regress/issue_32182.dart.weak.expect
index 3b90e8d..ff49484 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.weak.expect
@@ -1,53 +1,33 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///issue_32182.dart" as self;
 
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
+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
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : super core::Object::•()
     ;
   method m() → dynamic
     return 42;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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&A&M = self::A<self::A<dynamic>*> with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_C&A&M*
+abstract class _C&A&M = self::A<self::A<dynamic>> with self::M /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_C&A&M
     : super self::A::•()
     ;
   mixin-super-stub method m() → dynamic
     return super.{self::M::m}();
 }
 class C extends self::_C&A&M {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::_C&A&M::•()
     ;
 }
 static method main() → dynamic {
-  new self::C::•().{self::_C&A&M::m}(){() →* dynamic}{dynamic}.+(1);
+  new self::C::•().{self::_C&A&M::m}(){() → dynamic}{dynamic}.+(1);
 }
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_32182.dart.weak.modular.expect
index 3b90e8d..ff49484 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.weak.modular.expect
@@ -1,53 +1,33 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///issue_32182.dart" as self;
 
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
+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
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : super core::Object::•()
     ;
   method m() → dynamic
     return 42;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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&A&M = self::A<self::A<dynamic>*> with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_C&A&M*
+abstract class _C&A&M = self::A<self::A<dynamic>> with self::M /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_C&A&M
     : super self::A::•()
     ;
   mixin-super-stub method m() → dynamic
     return super.{self::M::m}();
 }
 class C extends self::_C&A&M {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::_C&A&M::•()
     ;
 }
 static method main() → dynamic {
-  new self::C::•().{self::_C&A&M::m}(){() →* dynamic}{dynamic}.+(1);
+  new self::C::•().{self::_C&A&M::m}(){() → dynamic}{dynamic}.+(1);
 }
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_32182.dart.weak.outline.expect
index 2836f3f..b80c90b 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.weak.outline.expect
@@ -1,48 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///issue_32182.dart" as self;
 
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
+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 M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     ;
   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
 }
-abstract class _C&A&M = self::A<self::A<dynamic>*> with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_C&A&M*
+abstract class _C&A&M = self::A<self::A<dynamic>> with self::M /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_C&A&M
     : super self::A::•()
     ;
   mixin-super-stub method m() → dynamic
     return super.{self::M::m}();
 }
 class C extends self::_C&A&M {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_32182.dart.weak.transformed.expect
index afa52c8..6fcf27a 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.weak.transformed.expect
@@ -1,53 +1,33 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///issue_32182.dart" as self;
 
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
+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
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : super core::Object::•()
     ;
   method m() → dynamic
     return 42;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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&A&M extends self::A<self::A<dynamic>*> implements self::M /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → self::_C&A&M*
+abstract class _C&A&M extends self::A<self::A<dynamic>> implements self::M /*isAnonymousMixin,isEliminatedMixin*/  {
+  synthetic constructor •() → self::_C&A&M
     : super self::A::•()
     ;
   method m() → dynamic
     return 42;
 }
 class C extends self::_C&A&M {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::_C&A&M::•()
     ;
 }
 static method main() → dynamic {
-  new self::C::•().{self::_C&A&M::m}(){() →* dynamic}{dynamic}.+(1);
+  new self::C::•().{self::_C&A&M::m}(){() → dynamic}{dynamic}.+(1);
 }
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart b/pkg/front_end/testcases/regress/issue_32196.dart
index 9eb700b..254d45c 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_32196.dart.textual_outline.expect
index 4fb58cb..7fecce8 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,4 +1,3 @@
-// @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 8c1fac1..13664b5 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   A.get(this.name);
   A.set(this.name);
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.weak.expect b/pkg/front_end/testcases/regress/issue_32196.dart.weak.expect
index d1c71d6..c26c0a6 100644
--- a/pkg/front_end/testcases/regress/issue_32196.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_32196.dart.weak.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  final field core::String* name;
-  constructor get(core::String* name) → self::A*
+  final field core::String name;
+  constructor get(core::String name) → self::A
     : self::A::name = name, super core::Object::•()
     ;
-  constructor set(core::String* name) → self::A*
+  constructor set(core::String name) → self::A
     : self::A::name = name, 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 {
   new self::A::get("get");
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_32196.dart.weak.modular.expect
index d1c71d6..c26c0a6 100644
--- a/pkg/front_end/testcases/regress/issue_32196.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_32196.dart.weak.modular.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  final field core::String* name;
-  constructor get(core::String* name) → self::A*
+  final field core::String name;
+  constructor get(core::String name) → self::A
     : self::A::name = name, super core::Object::•()
     ;
-  constructor set(core::String* name) → self::A*
+  constructor set(core::String name) → self::A
     : self::A::name = name, 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 {
   new self::A::get("get");
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_32196.dart.weak.outline.expect
index 69ba040..a211da4 100644
--- a/pkg/front_end/testcases/regress/issue_32196.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32196.dart.weak.outline.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  final field core::String* name;
-  constructor get(core::String* name) → self::A*
+  final field core::String name;
+  constructor get(core::String name) → self::A
     ;
-  constructor set(core::String* name) → self::A*
+  constructor set(core::String name) → 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/regress/issue_32196.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_32196.dart.weak.transformed.expect
index d1c71d6..c26c0a6 100644
--- a/pkg/front_end/testcases/regress/issue_32196.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32196.dart.weak.transformed.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  final field core::String* name;
-  constructor get(core::String* name) → self::A*
+  final field core::String name;
+  constructor get(core::String name) → self::A
     : self::A::name = name, super core::Object::•()
     ;
-  constructor set(core::String* name) → self::A*
+  constructor set(core::String name) → self::A
     : self::A::name = name, 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 {
   new self::A::get("get");
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart b/pkg/front_end/testcases/regress/issue_32200.dart
index 4a8fb85..efdc4a0 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_32200.dart.textual_outline.expect
index 7a5a831..7912167 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,4 +1,3 @@
-// @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 7a5a831..7912167 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,4 +1,3 @@
-// @dart = 2.9
 import "issue_32200.dart" as self;
 
 class Foo {
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.weak.expect b/pkg/front_end/testcases/regress/issue_32200.dart.weak.expect
index d70c7d0..ee4488d 100644
--- a/pkg/front_end/testcases/regress/issue_32200.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_32200.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -13,21 +13,11 @@
 
 class Foo extends core::Object {
   field invalid-type self = null;
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → 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 main() → dynamic {
-  self::Foo* instance = new self::Foo::•();
+  self::Foo instance = new self::Foo::•();
   instance.{self::Foo::self} = instance;
 }
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_32200.dart.weak.modular.expect
index d70c7d0..ee4488d 100644
--- a/pkg/front_end/testcases/regress/issue_32200.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_32200.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -13,21 +13,11 @@
 
 class Foo extends core::Object {
   field invalid-type self = null;
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → 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 main() → dynamic {
-  self::Foo* instance = new self::Foo::•();
+  self::Foo instance = new self::Foo::•();
   instance.{self::Foo::self} = instance;
 }
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_32200.dart.weak.outline.expect
index b4f4759..174d091 100644
--- a/pkg/front_end/testcases/regress/issue_32200.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32200.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -13,18 +13,8 @@
 
 class Foo extends core::Object {
   field invalid-type self;
-  synthetic constructor •() → self::Foo*
+  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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_32200.dart.weak.transformed.expect
index d70c7d0..ee4488d 100644
--- a/pkg/front_end/testcases/regress/issue_32200.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32200.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -13,21 +13,11 @@
 
 class Foo extends core::Object {
   field invalid-type self = null;
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → 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 main() → dynamic {
-  self::Foo* instance = new self::Foo::•();
+  self::Foo instance = new self::Foo::•();
   instance.{self::Foo::self} = instance;
 }
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart b/pkg/front_end/testcases/regress/issue_32660.dart
index 429407f..8c9d660 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart
+++ b/pkg/front_end/testcases/regress/issue_32660.dart
@@ -1,13 +1,13 @@
 // 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;
 }
 
 class B {
-  foo(int x, {int y}) => y;
+  foo(int x, {int? y}) => y;
 }
 
 class C extends A implements B {
@@ -22,7 +22,7 @@
 }
 
 class E extends D {
-  foo(int x, {int y});
+  foo(int x, {int? y});
 
   noSuchMethod(i) {
     print(i.namedArguments);
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 e03e095..35ce7d1 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,10 +1,9 @@
-// @dart = 2.9
 class A {
   foo(int x) => x;
 }
 
 class B {
-  foo(int x, {int y}) => y;
+  foo(int x, {int? y}) => y;
 }
 
 class C extends A implements B {
@@ -16,7 +15,7 @@
 }
 
 class E extends D {
-  foo(int x, {int y});
+  foo(int x, {int? y});
   noSuchMethod(i) {}
 }
 
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 e03e095..35ce7d1 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,10 +1,9 @@
-// @dart = 2.9
 class A {
   foo(int x) => x;
 }
 
 class B {
-  foo(int x, {int y}) => y;
+  foo(int x, {int? y}) => y;
 }
 
 class C extends A implements B {
@@ -16,7 +15,7 @@
 }
 
 class E extends D {
-  foo(int x, {int y});
+  foo(int x, {int? y});
   noSuchMethod(i) {}
 }
 
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.weak.expect b/pkg/front_end/testcases/regress/issue_32660.dart.weak.expect
index ec03c53..7c6c6d0 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,7 +9,7 @@
 //   foo(int x) => x;
 //   ^
 // pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y}) => y;
+//   foo(int x, {int? y}) => y;
 //   ^
 //
 // pkg/front_end/testcases/regress/issue_32660.dart:24:7: Error: The implementation of 'foo' in the non-abstract class 'E' does not conform to its interface.
@@ -19,86 +19,56 @@
 //   foo(int x) => x;
 //   ^
 // pkg/front_end/testcases/regress/issue_32660.dart:25:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y});
+//   foo(int x, {int? y});
 //   ^
 //
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  method foo(core::int* x) → dynamic
+  method foo(core::int x) → dynamic
     return x;
-  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 B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method foo(core::int* x, {core::int* y = #C1}) → dynamic
+  method foo(core::int x, {core::int? y = #C1}) → dynamic
     return y;
-  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 self::A implements self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::A::•()
     ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
+  method noSuchMethod(core::Invocation i) → dynamic {
     core::print("No such method!");
     return 42;
   }
-  abstract member-signature method foo(core::int* x, {core::int* y = #C1}) → dynamic; -> self::B::foo
+  abstract member-signature method foo(core::int x, {core::int? y = #C1}) → dynamic; -> self::B::foo
 }
 class D extends core::Object {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super core::Object::•()
     ;
-  method foo(core::int* x) → dynamic
+  method foo(core::int x) → dynamic
     return x;
-  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 E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::D::•()
     ;
-  abstract method foo(core::int* x, {core::int* y = #C1}) → dynamic;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    core::print(i.{core::Invocation::namedArguments}{core::Map<core::Symbol*, dynamic>*});
+  abstract method foo(core::int x, {core::int? y = #C1}) → dynamic;
+  method noSuchMethod(core::Invocation i) → dynamic {
+    core::print(i.{core::Invocation::namedArguments}{core::Map<core::Symbol, dynamic>});
     return 42;
   }
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
-  self::E* e = new self::E::•();
+  self::C c = new self::C::•();
+  self::E e = new self::E::•();
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_32660.dart.weak.modular.expect
index ec03c53..7c6c6d0 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,7 +9,7 @@
 //   foo(int x) => x;
 //   ^
 // pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y}) => y;
+//   foo(int x, {int? y}) => y;
 //   ^
 //
 // pkg/front_end/testcases/regress/issue_32660.dart:24:7: Error: The implementation of 'foo' in the non-abstract class 'E' does not conform to its interface.
@@ -19,86 +19,56 @@
 //   foo(int x) => x;
 //   ^
 // pkg/front_end/testcases/regress/issue_32660.dart:25:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y});
+//   foo(int x, {int? y});
 //   ^
 //
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  method foo(core::int* x) → dynamic
+  method foo(core::int x) → dynamic
     return x;
-  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 B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method foo(core::int* x, {core::int* y = #C1}) → dynamic
+  method foo(core::int x, {core::int? y = #C1}) → dynamic
     return y;
-  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 self::A implements self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::A::•()
     ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
+  method noSuchMethod(core::Invocation i) → dynamic {
     core::print("No such method!");
     return 42;
   }
-  abstract member-signature method foo(core::int* x, {core::int* y = #C1}) → dynamic; -> self::B::foo
+  abstract member-signature method foo(core::int x, {core::int? y = #C1}) → dynamic; -> self::B::foo
 }
 class D extends core::Object {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super core::Object::•()
     ;
-  method foo(core::int* x) → dynamic
+  method foo(core::int x) → dynamic
     return x;
-  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 E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::D::•()
     ;
-  abstract method foo(core::int* x, {core::int* y = #C1}) → dynamic;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    core::print(i.{core::Invocation::namedArguments}{core::Map<core::Symbol*, dynamic>*});
+  abstract method foo(core::int x, {core::int? y = #C1}) → dynamic;
+  method noSuchMethod(core::Invocation i) → dynamic {
+    core::print(i.{core::Invocation::namedArguments}{core::Map<core::Symbol, dynamic>});
     return 42;
   }
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
-  self::E* e = new self::E::•();
+  self::C c = new self::C::•();
+  self::E e = new self::E::•();
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_32660.dart.weak.outline.expect
index d6cfde1..1580e0f 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,7 +9,7 @@
 //   foo(int x) => x;
 //   ^
 // pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y}) => y;
+//   foo(int x, {int? y}) => y;
 //   ^
 //
 // pkg/front_end/testcases/regress/issue_32660.dart:24:7: Error: The implementation of 'foo' in the non-abstract class 'E' does not conform to its interface.
@@ -19,72 +19,42 @@
 //   foo(int x) => x;
 //   ^
 // pkg/front_end/testcases/regress/issue_32660.dart:25:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y});
+//   foo(int x, {int? y});
 //   ^
 //
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
-  method foo(core::int* x) → dynamic
+  method foo(core::int x) → 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 B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  method foo(core::int* x, {core::int* y = null}) → dynamic
+  method foo(core::int x, {core::int? y = null}) → 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 self::A implements self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
-  method noSuchMethod(core::Invocation* i) → dynamic
+  method noSuchMethod(core::Invocation i) → dynamic
     ;
-  abstract member-signature method foo(core::int* x, {core::int* y}) → dynamic; -> self::B::foo
+  abstract member-signature method foo(core::int x, {core::int? y}) → dynamic; -> self::B::foo
 }
 class D extends core::Object {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     ;
-  method foo(core::int* x) → dynamic
+  method foo(core::int x) → 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 E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     ;
-  abstract method foo(core::int* x, {core::int* y = null}) → dynamic;
-  method noSuchMethod(core::Invocation* i) → dynamic
+  abstract method foo(core::int x, {core::int? y = null}) → dynamic;
+  method noSuchMethod(core::Invocation i) → dynamic
     ;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_32660.dart.weak.transformed.expect
index ec03c53..7c6c6d0 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,7 +9,7 @@
 //   foo(int x) => x;
 //   ^
 // pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y}) => y;
+//   foo(int x, {int? y}) => y;
 //   ^
 //
 // pkg/front_end/testcases/regress/issue_32660.dart:24:7: Error: The implementation of 'foo' in the non-abstract class 'E' does not conform to its interface.
@@ -19,86 +19,56 @@
 //   foo(int x) => x;
 //   ^
 // pkg/front_end/testcases/regress/issue_32660.dart:25:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y});
+//   foo(int x, {int? y});
 //   ^
 //
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  method foo(core::int* x) → dynamic
+  method foo(core::int x) → dynamic
     return x;
-  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 B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method foo(core::int* x, {core::int* y = #C1}) → dynamic
+  method foo(core::int x, {core::int? y = #C1}) → dynamic
     return y;
-  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 self::A implements self::B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::A::•()
     ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
+  method noSuchMethod(core::Invocation i) → dynamic {
     core::print("No such method!");
     return 42;
   }
-  abstract member-signature method foo(core::int* x, {core::int* y = #C1}) → dynamic; -> self::B::foo
+  abstract member-signature method foo(core::int x, {core::int? y = #C1}) → dynamic; -> self::B::foo
 }
 class D extends core::Object {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super core::Object::•()
     ;
-  method foo(core::int* x) → dynamic
+  method foo(core::int x) → dynamic
     return x;
-  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 E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::D::•()
     ;
-  abstract method foo(core::int* x, {core::int* y = #C1}) → dynamic;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    core::print(i.{core::Invocation::namedArguments}{core::Map<core::Symbol*, dynamic>*});
+  abstract method foo(core::int x, {core::int? y = #C1}) → dynamic;
+  method noSuchMethod(core::Invocation i) → dynamic {
+    core::print(i.{core::Invocation::namedArguments}{core::Map<core::Symbol, dynamic>});
     return 42;
   }
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
-  self::E* e = new self::E::•();
+  self::C c = new self::C::•();
+  self::E e = new self::E::•();
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart b/pkg/front_end/testcases/regress/issue_32972.dart
index 578caf4..23a1482 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_32972.dart.textual_outline.expect
index c57478f..afd767f 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,4 +1,3 @@
-// @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 a04fc20..fedb95a 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,4 +1,3 @@
-// @dart = 2.9
 class Bar<X, Y> {}
 
 class Foo {
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.weak.expect b/pkg/front_end/testcases/regress/issue_32972.dart.weak.expect
index 660b650..200c245 100644
--- a/pkg/front_end/testcases/regress/issue_32972.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_32972.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -31,60 +31,40 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     : super core::Object::•()
     ;
-  static method foo<X extends core::Object* = dynamic>(self::Foo::foo::X* i) → dynamic {
+  static method foo<X extends core::Object? = dynamic>(self::Foo::foo::X% i) → dynamic {
     core::print(i);
   }
-  method bar<X extends core::Object* = dynamic>(self::Foo::bar::X* i) → dynamic {
+  method bar<X extends core::Object? = dynamic>(self::Foo::bar::X% i) → dynamic {
     core::print(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 Bar<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bar<self::Bar::X*, self::Bar::Y*>*
+class Bar<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::Bar<self::Bar::X%, self::Bar::Y%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 foo<X extends core::Object* = dynamic>(self::foo::X* i) → void {
+static method foo<X extends core::Object? = dynamic>(self::foo::X% i) → void {
   core::print(i);
 }
 static method main() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:22:3: Error: Expected 1 type arguments.
   foo<String, String>(\"hello world\");
   ^";
-  self::foo<core::String*>("hello world");
+  self::foo<core::String>("hello world");
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:24:7: Error: Expected 1 type arguments.
   Foo.foo<int, int>(42);
       ^";
-  self::Foo::foo<core::int*>(42);
-  self::Foo* f = new self::Foo::•();
+  self::Foo::foo<core::int>(42);
+  self::Foo f = new self::Foo::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:27:5: Error: Expected 1 type arguments.
   f.bar<double, double>(42.42);
-    ^" in f.{self::Foo::bar}{<inapplicable>}.<core::double*, core::double*>(42.42){(invalid-type) →* invalid-type};
-  f.{self::Foo::bar}<core::double*>(42.42){(core::double*) →* dynamic};
+    ^" in f.{self::Foo::bar}{<inapplicable>}.<core::double, core::double>(42.42){(invalid-type) → invalid-type};
+  f.{self::Foo::bar}<core::double>(42.42){(core::double) → dynamic};
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:29:7: Error: Expected 2 type arguments.
   new Bar<String>();
       ^";
-  new self::Bar::•<core::String*, core::String*>();
+  new self::Bar::•<core::String, core::String>();
 }
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_32972.dart.weak.modular.expect
index 660b650..200c245 100644
--- a/pkg/front_end/testcases/regress/issue_32972.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_32972.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -31,60 +31,40 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     : super core::Object::•()
     ;
-  static method foo<X extends core::Object* = dynamic>(self::Foo::foo::X* i) → dynamic {
+  static method foo<X extends core::Object? = dynamic>(self::Foo::foo::X% i) → dynamic {
     core::print(i);
   }
-  method bar<X extends core::Object* = dynamic>(self::Foo::bar::X* i) → dynamic {
+  method bar<X extends core::Object? = dynamic>(self::Foo::bar::X% i) → dynamic {
     core::print(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 Bar<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bar<self::Bar::X*, self::Bar::Y*>*
+class Bar<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::Bar<self::Bar::X%, self::Bar::Y%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 foo<X extends core::Object* = dynamic>(self::foo::X* i) → void {
+static method foo<X extends core::Object? = dynamic>(self::foo::X% i) → void {
   core::print(i);
 }
 static method main() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:22:3: Error: Expected 1 type arguments.
   foo<String, String>(\"hello world\");
   ^";
-  self::foo<core::String*>("hello world");
+  self::foo<core::String>("hello world");
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:24:7: Error: Expected 1 type arguments.
   Foo.foo<int, int>(42);
       ^";
-  self::Foo::foo<core::int*>(42);
-  self::Foo* f = new self::Foo::•();
+  self::Foo::foo<core::int>(42);
+  self::Foo f = new self::Foo::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:27:5: Error: Expected 1 type arguments.
   f.bar<double, double>(42.42);
-    ^" in f.{self::Foo::bar}{<inapplicable>}.<core::double*, core::double*>(42.42){(invalid-type) →* invalid-type};
-  f.{self::Foo::bar}<core::double*>(42.42){(core::double*) →* dynamic};
+    ^" in f.{self::Foo::bar}{<inapplicable>}.<core::double, core::double>(42.42){(invalid-type) → invalid-type};
+  f.{self::Foo::bar}<core::double>(42.42){(core::double) → dynamic};
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:29:7: Error: Expected 2 type arguments.
   new Bar<String>();
       ^";
-  new self::Bar::•<core::String*, core::String*>();
+  new self::Bar::•<core::String, core::String>();
 }
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_32972.dart.weak.outline.expect
index 456f978..d9df500 100644
--- a/pkg/front_end/testcases/regress/issue_32972.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32972.dart.weak.outline.expect
@@ -1,40 +1,20 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     ;
-  static method foo<X extends core::Object* = dynamic>(self::Foo::foo::X* i) → dynamic
+  static method foo<X extends core::Object? = dynamic>(self::Foo::foo::X% i) → dynamic
     ;
-  method bar<X extends core::Object* = dynamic>(self::Foo::bar::X* i) → dynamic
+  method bar<X extends core::Object? = dynamic>(self::Foo::bar::X% i) → 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 Bar<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bar<self::Bar::X*, self::Bar::Y*>*
+class Bar<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::Bar<self::Bar::X%, self::Bar::Y%>
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 foo<X extends core::Object* = dynamic>(self::foo::X* i) → void
+static method foo<X extends core::Object? = dynamic>(self::foo::X% i) → void
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_32972.dart.weak.transformed.expect
index 660b650..200c245 100644
--- a/pkg/front_end/testcases/regress/issue_32972.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32972.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -31,60 +31,40 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     : super core::Object::•()
     ;
-  static method foo<X extends core::Object* = dynamic>(self::Foo::foo::X* i) → dynamic {
+  static method foo<X extends core::Object? = dynamic>(self::Foo::foo::X% i) → dynamic {
     core::print(i);
   }
-  method bar<X extends core::Object* = dynamic>(self::Foo::bar::X* i) → dynamic {
+  method bar<X extends core::Object? = dynamic>(self::Foo::bar::X% i) → dynamic {
     core::print(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 Bar<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bar<self::Bar::X*, self::Bar::Y*>*
+class Bar<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::Bar<self::Bar::X%, self::Bar::Y%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 foo<X extends core::Object* = dynamic>(self::foo::X* i) → void {
+static method foo<X extends core::Object? = dynamic>(self::foo::X% i) → void {
   core::print(i);
 }
 static method main() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:22:3: Error: Expected 1 type arguments.
   foo<String, String>(\"hello world\");
   ^";
-  self::foo<core::String*>("hello world");
+  self::foo<core::String>("hello world");
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:24:7: Error: Expected 1 type arguments.
   Foo.foo<int, int>(42);
       ^";
-  self::Foo::foo<core::int*>(42);
-  self::Foo* f = new self::Foo::•();
+  self::Foo::foo<core::int>(42);
+  self::Foo f = new self::Foo::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:27:5: Error: Expected 1 type arguments.
   f.bar<double, double>(42.42);
-    ^" in f.{self::Foo::bar}{<inapplicable>}.<core::double*, core::double*>(42.42){(invalid-type) →* invalid-type};
-  f.{self::Foo::bar}<core::double*>(42.42){(core::double*) →* dynamic};
+    ^" in f.{self::Foo::bar}{<inapplicable>}.<core::double, core::double>(42.42){(invalid-type) → invalid-type};
+  f.{self::Foo::bar}<core::double>(42.42){(core::double) → dynamic};
   invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:29:7: Error: Expected 2 type arguments.
   new Bar<String>();
       ^";
-  new self::Bar::•<core::String*, core::String*>();
+  new self::Bar::•<core::String, core::String>();
 }
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart b/pkg/front_end/testcases/regress/issue_33452.dart
index 9e94976..bd8c790 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_33452.dart.textual_outline.expect
index fcbd268..eff2983 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,4 +1,3 @@
-// @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 fcbd268..eff2983 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,4 +1,3 @@
-// @dart = 2.9
 class ExistingClass {
   ExistingClass.existingConstructor();
 }
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.weak.expect b/pkg/front_end/testcases/regress/issue_33452.dart.weak.expect
index 0f3ef8d..153005e 100644
--- a/pkg/front_end/testcases/regress/issue_33452.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_33452.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,19 +30,9 @@
 import "dart:core" as core;
 
 class ExistingClass extends core::Object {
-  constructor existingConstructor() → self::ExistingClass*
+  constructor existingConstructor() → self::ExistingClass
     : 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 {
   invalid-type x = invalid-expression "pkg/front_end/testcases/regress/issue_33452.dart:10:29: Error: Couldn't find constructor 'ExistingClass.nonExistingConstructor'.
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_33452.dart.weak.modular.expect
index 0f3ef8d..153005e 100644
--- a/pkg/front_end/testcases/regress/issue_33452.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_33452.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,19 +30,9 @@
 import "dart:core" as core;
 
 class ExistingClass extends core::Object {
-  constructor existingConstructor() → self::ExistingClass*
+  constructor existingConstructor() → self::ExistingClass
     : 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 {
   invalid-type x = invalid-expression "pkg/front_end/testcases/regress/issue_33452.dart:10:29: Error: Couldn't find constructor 'ExistingClass.nonExistingConstructor'.
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_33452.dart.weak.outline.expect
index 11d9af2..b6db5ef 100644
--- a/pkg/front_end/testcases/regress/issue_33452.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_33452.dart.weak.outline.expect
@@ -1,20 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class ExistingClass extends core::Object {
-  constructor existingConstructor() → self::ExistingClass*
+  constructor existingConstructor() → self::ExistingClass
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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_33452.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_33452.dart.weak.transformed.expect
index 0f3ef8d..153005e 100644
--- a/pkg/front_end/testcases/regress/issue_33452.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_33452.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -30,19 +30,9 @@
 import "dart:core" as core;
 
 class ExistingClass extends core::Object {
-  constructor existingConstructor() → self::ExistingClass*
+  constructor existingConstructor() → self::ExistingClass
     : 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 {
   invalid-type x = invalid-expression "pkg/front_end/testcases/regress/issue_33452.dart:10:29: Error: Couldn't find constructor 'ExistingClass.nonExistingConstructor'.
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart b/pkg/front_end/testcases/regress/issue_33672.dart
index b35af71d..f302c8a 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_33672.dart.textual_outline.expect
index 7c126a2..bae895a 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,2 +1 @@
-// @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 7c126a2..bae895a 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,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.weak.expect b/pkg/front_end/testcases/regress/issue_33672.dart.weak.expect
index 7caa5cb..6531e98 100644
--- a/pkg/front_end/testcases/regress/issue_33672.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_33672.dart.weak.expect
@@ -1,18 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::int* count = 0;
+  core::int count = 0;
   #L1:
-  for (core::int* a = 0; a.{core::num::<}(10){(core::num*) →* core::bool*}; a = a.{core::num::+}(1){(core::num*) →* core::int*}) {
-    for (core::int* b = 0; b.{core::num::<}(10){(core::num*) →* core::bool*}; b = b.{core::num::+}(1){(core::num*) →* core::int*}) {
-      count = count.{core::num::+}(1){(core::num*) →* core::int*};
-      if(count =={core::num::==}{(core::Object*) →* core::bool*} 27)
+  for (core::int a = 0; a.{core::num::<}(10){(core::num) → core::bool}; a = a.{core::num::+}(1){(core::num) → core::int}) {
+    for (core::int b = 0; b.{core::num::<}(10){(core::num) → core::bool}; b = b.{core::num::+}(1){(core::num) → core::int}) {
+      count = count.{core::num::+}(1){(core::num) → core::int};
+      if(count =={core::num::==}{(core::Object) → core::bool} 27)
         break #L1;
     }
-    count = count.{core::num::+}(1){(core::num*) →* core::int*};
+    count = count.{core::num::+}(1){(core::num) → core::int};
   }
-  if(!(count =={core::num::==}{(core::Object*) →* core::bool*} 27))
+  if(!(count =={core::num::==}{(core::Object) → core::bool} 27))
     throw "failed: ${count}";
 }
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_33672.dart.weak.modular.expect
index 7caa5cb..6531e98 100644
--- a/pkg/front_end/testcases/regress/issue_33672.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_33672.dart.weak.modular.expect
@@ -1,18 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::int* count = 0;
+  core::int count = 0;
   #L1:
-  for (core::int* a = 0; a.{core::num::<}(10){(core::num*) →* core::bool*}; a = a.{core::num::+}(1){(core::num*) →* core::int*}) {
-    for (core::int* b = 0; b.{core::num::<}(10){(core::num*) →* core::bool*}; b = b.{core::num::+}(1){(core::num*) →* core::int*}) {
-      count = count.{core::num::+}(1){(core::num*) →* core::int*};
-      if(count =={core::num::==}{(core::Object*) →* core::bool*} 27)
+  for (core::int a = 0; a.{core::num::<}(10){(core::num) → core::bool}; a = a.{core::num::+}(1){(core::num) → core::int}) {
+    for (core::int b = 0; b.{core::num::<}(10){(core::num) → core::bool}; b = b.{core::num::+}(1){(core::num) → core::int}) {
+      count = count.{core::num::+}(1){(core::num) → core::int};
+      if(count =={core::num::==}{(core::Object) → core::bool} 27)
         break #L1;
     }
-    count = count.{core::num::+}(1){(core::num*) →* core::int*};
+    count = count.{core::num::+}(1){(core::num) → core::int};
   }
-  if(!(count =={core::num::==}{(core::Object*) →* core::bool*} 27))
+  if(!(count =={core::num::==}{(core::Object) → core::bool} 27))
     throw "failed: ${count}";
 }
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_33672.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/regress/issue_33672.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_33672.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_33672.dart.weak.transformed.expect
index 7caa5cb..6531e98 100644
--- a/pkg/front_end/testcases/regress/issue_33672.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_33672.dart.weak.transformed.expect
@@ -1,18 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::int* count = 0;
+  core::int count = 0;
   #L1:
-  for (core::int* a = 0; a.{core::num::<}(10){(core::num*) →* core::bool*}; a = a.{core::num::+}(1){(core::num*) →* core::int*}) {
-    for (core::int* b = 0; b.{core::num::<}(10){(core::num*) →* core::bool*}; b = b.{core::num::+}(1){(core::num*) →* core::int*}) {
-      count = count.{core::num::+}(1){(core::num*) →* core::int*};
-      if(count =={core::num::==}{(core::Object*) →* core::bool*} 27)
+  for (core::int a = 0; a.{core::num::<}(10){(core::num) → core::bool}; a = a.{core::num::+}(1){(core::num) → core::int}) {
+    for (core::int b = 0; b.{core::num::<}(10){(core::num) → core::bool}; b = b.{core::num::+}(1){(core::num) → core::int}) {
+      count = count.{core::num::+}(1){(core::num) → core::int};
+      if(count =={core::num::==}{(core::Object) → core::bool} 27)
         break #L1;
     }
-    count = count.{core::num::+}(1){(core::num*) →* core::int*};
+    count = count.{core::num::+}(1){(core::num) → core::int};
   }
-  if(!(count =={core::num::==}{(core::Object*) →* core::bool*} 27))
+  if(!(count =={core::num::==}{(core::Object) → core::bool} 27))
     throw "failed: ${count}";
 }
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart b/pkg/front_end/testcases/regress/issue_34225.dart
index d9470a5..e058ee7 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34225.dart.textual_outline.expect
index e268fae..ab71dd0 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   static set C(v) {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34225.dart.weak.expect
index 2a92ec9..4598ab4 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34225.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,44 +22,24 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   static set C(dynamic v) → 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 core::Object {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super core::Object::•()
     ;
   set D(dynamic v) → 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 {
-  self::C* c = new self::C::•();
+  self::C c = new self::C::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_34225.dart:15:5: Error: The setter 'C' isn't defined for the class 'C'.
  - 'C' is from 'pkg/front_end/testcases/regress/issue_34225.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'C'.
   c.C = 5;
     ^" in c{<unresolved>}.C = 5;
-  self::D* d = new self::D::•();
+  self::D d = new self::D::•();
   d.{self::D::D} = 5;
 }
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_34225.dart.weak.modular.expect
index 2a92ec9..4598ab4 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_34225.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,44 +22,24 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   static set C(dynamic v) → 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 core::Object {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super core::Object::•()
     ;
   set D(dynamic v) → 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 {
-  self::C* c = new self::C::•();
+  self::C c = new self::C::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_34225.dart:15:5: Error: The setter 'C' isn't defined for the class 'C'.
  - 'C' is from 'pkg/front_end/testcases/regress/issue_34225.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'C'.
   c.C = 5;
     ^" in c{<unresolved>}.C = 5;
-  self::D* d = new self::D::•();
+  self::D d = new self::D::•();
   d.{self::D::D} = 5;
 }
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_34225.dart.weak.outline.expect
index 5944ff5..bd191bb 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34225.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -16,36 +16,16 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   static set C(dynamic v) → 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 core::Object {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     ;
   set D(dynamic v) → 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
   ;
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34225.dart.weak.transformed.expect
index 2a92ec9..4598ab4 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34225.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,44 +22,24 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   static set C(dynamic v) → 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 core::Object {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super core::Object::•()
     ;
   set D(dynamic v) → 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 {
-  self::C* c = new self::C::•();
+  self::C c = new self::C::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_34225.dart:15:5: Error: The setter 'C' isn't defined for the class 'C'.
  - 'C' is from 'pkg/front_end/testcases/regress/issue_34225.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'C'.
   c.C = 5;
     ^" in c{<unresolved>}.C = 5;
-  self::D* d = new self::D::•();
+  self::D d = new self::D::•();
   d.{self::D::D} = 5;
 }
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart b/pkg/front_end/testcases/regress/issue_34291.dart
index ee7e3f0..4011208 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34291.dart.textual_outline.expect
index 16dbb06..0019a54 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,4 +1,3 @@
-// @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 16dbb06..0019a54 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,4 +1,3 @@
-// @dart = 2.9
 import "issue_34291_lib.dart" as lib;
 
 class B {}
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34291.dart.weak.expect
index 13bbe76..e9fdd4e 100644
--- a/pkg/front_end/testcases/regress/issue_34291.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34291.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,39 +12,19 @@
 import "org-dartlang-testcase:///issue_34291_lib.dart" as lib;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  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
 }
 static method foo() → invalid-type {}
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self2::A*
+  synthetic constructor •() → self2::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
 }
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_34291.dart.weak.modular.expect
index 13bbe76..e9fdd4e 100644
--- a/pkg/front_end/testcases/regress/issue_34291.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_34291.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,39 +12,19 @@
 import "org-dartlang-testcase:///issue_34291_lib.dart" as lib;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  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
 }
 static method foo() → invalid-type {}
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self2::A*
+  synthetic constructor •() → self2::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
 }
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_34291.dart.weak.outline.expect
index 79da717..0f59580 100644
--- a/pkg/front_end/testcases/regress/issue_34291.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34291.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,39 +12,19 @@
 import "org-dartlang-testcase:///issue_34291_lib.dart" as lib;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  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 foo() → invalid-type
   ;
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self2::A*
+  synthetic constructor •() → self2::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/regress/issue_34291.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34291.dart.weak.transformed.expect
index 13bbe76..e9fdd4e 100644
--- a/pkg/front_end/testcases/regress/issue_34291.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34291.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,39 +12,19 @@
 import "org-dartlang-testcase:///issue_34291_lib.dart" as lib;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  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
 }
 static method foo() → invalid-type {}
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self2::A*
+  synthetic constructor •() → self2::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
 }
diff --git a/pkg/front_end/testcases/regress/issue_34291_lib.dart b/pkg/front_end/testcases/regress/issue_34291_lib.dart
index 2a07a00..a0e9344 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 cbdf2da..37cff18 100644
--- a/pkg/front_end/testcases/regress/issue_34403.dart
+++ b/pkg/front_end/testcases/regress/issue_34403.dart
@@ -1,7 +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
+
+// @dart=2.14
+
 import 'issue_34403_lib.dart' as p;
 
 class C<T> {
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 b26df927..17317b8 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,4 +1,4 @@
-// @dart = 2.9
+// @dart = 2.14
 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 b26df927..17317b8 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,4 +1,4 @@
-// @dart = 2.9
+// @dart = 2.14
 import 'issue_34403_lib.dart' as p;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34403.dart.weak.expect
index a31d72a..2d0471d 100644
--- a/pkg/front_end/testcases/regress/issue_34403.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34403.dart.weak.expect
@@ -1,115 +1,115 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:16:14: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:18:14: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c1 = C.bar<int>();
 //              ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:18:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:20:18: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c2 = new C.bar<int>();
 //                  ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:20:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:22:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   var c3 = C<String>.bar<int>();
 //             ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:20:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:22:22: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c3 = C<String>.bar<int>();
 //                      ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:22:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:24:26: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c4 = new C<String>.bar<int>();
 //                          ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:25:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:27:16: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d1 = D.foo<int>();
 //                ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:27:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:29:22: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d2 = const D.foo<int>();
 //                      ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:29:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:31:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   const d3 = D<String>.foo<int>();
 //               ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:29:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:31:24: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d3 = D<String>.foo<int>();
 //                        ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:31:30: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:33:30: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d4 = const D<String>.foo<int>();
 //                              ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:34:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:36:16: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e1 = p.E.bar<int>();
 //                ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:36:20: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:38:20: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e2 = new p.E.bar<int>();
 //                    ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:38:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:40:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   var e3 = p.E<String>.bar<int>();
 //               ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:38:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:40:24: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e3 = p.E<String>.bar<int>();
 //                        ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:40:28: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:42:28: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e4 = new p.E<String>.bar<int>();
 //                            ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:43:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:45:18: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f1 = p.F.foo<int>();
 //                  ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:45:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:47:24: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f2 = const p.F.foo<int>();
 //                        ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:47:17: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:49:17: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   const f3 = p.F<String>.foo<int>();
 //                 ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:47:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:49:26: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f3 = p.F<String>.foo<int>();
 //                          ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:49:32: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:51:32: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f4 = const p.F<String>.foo<int>();
 //                                ^^^
@@ -120,96 +120,56 @@
 
 import "org-dartlang-testcase:///issue_34403_lib.dart" as p;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → self::C<self::C::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 D<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self::D<self::D::T*>*
+class D<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → 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
 }
 static method main() → dynamic {
-  self::C<core::int*>* c1 = new self::C::bar<core::int*>();
-  c1.{self::C::toString}(){() →* core::String*};
-  self::C<core::int*>* c2 = new self::C::bar<core::int*>();
-  c2.{self::C::toString}(){() →* core::String*};
-  self::C<core::int*>* c3 = new self::C::bar<core::int*>();
-  c3.{self::C::toString}(){() →* core::String*};
-  self::C<core::String*>* c4 = new self::C::bar<core::String*>();
-  c4.{self::C::toString}(){() →* core::String*};
-  #C1.{self::D::toString}(){() →* core::String*};
-  #C1.{self::D::toString}(){() →* core::String*};
-  #C1.{self::D::toString}(){() →* core::String*};
-  #C2.{self::D::toString}(){() →* core::String*};
-  iss::E<core::int*>* e1 = new iss::E::bar<core::int*>();
-  e1.{iss::E::toString}(){() →* core::String*};
-  iss::E<dynamic>* e2 = new iss::E::bar<dynamic>();
-  e2.{iss::E::toString}(){() →* core::String*};
-  iss::E<core::int*>* e3 = new iss::E::bar<core::int*>();
-  e3.{iss::E::toString}(){() →* core::String*};
-  iss::E<core::String*>* e4 = new iss::E::bar<core::String*>();
-  e4.{iss::E::toString}(){() →* core::String*};
-  #C3.{iss::F::toString}(){() →* core::String*};
-  #C4.{iss::F::toString}(){() →* core::String*};
-  #C3.{iss::F::toString}(){() →* core::String*};
-  #C5.{iss::F::toString}(){() →* core::String*};
+  self::C<core::int> c1 = new self::C::bar<core::int>();
+  c1.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c2 = new self::C::bar<core::int>();
+  c2.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c3 = new self::C::bar<core::int>();
+  c3.{core::Object::toString}(){() → core::String};
+  self::C<core::String> c4 = new self::C::bar<core::String>();
+  c4.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e1 = new iss::E::bar<core::int>();
+  e1.{core::Object::toString}(){() → core::String};
+  iss::E<dynamic> e2 = new iss::E::bar<dynamic>();
+  e2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e3 = new iss::E::bar<core::int>();
+  e3.{core::Object::toString}(){() → core::String};
+  iss::E<core::String> e4 = new iss::E::bar<core::String>();
+  e4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C5.{core::Object::toString}(){() → core::String};
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
-class E<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → iss::E<iss::E::T*>*
+class E<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → iss::E<iss::E::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 core::Object /*hasConstConstructor*/  {
-  const constructor foo() → iss::F<iss::F::T*>*
+class F<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → iss::F<iss::F::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
 }
 
 constants  {
@@ -223,6 +183,6 @@
 
 Constructor coverage from constants:
 org-dartlang-testcase:///issue_34403.dart:
-- D.foo (from org-dartlang-testcase:///issue_34403.dart:12:9)
+- D.foo (from org-dartlang-testcase:///issue_34403.dart:14:9)
 - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- F.foo (from org-dartlang-testcase:///issue_34403_lib.dart:10:9)
+- F.foo (from org-dartlang-testcase:///issue_34403_lib.dart:12:9)
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_34403.dart.weak.modular.expect
index a31d72a..2d0471d 100644
--- a/pkg/front_end/testcases/regress/issue_34403.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_34403.dart.weak.modular.expect
@@ -1,115 +1,115 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:16:14: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:18:14: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c1 = C.bar<int>();
 //              ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:18:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:20:18: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c2 = new C.bar<int>();
 //                  ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:20:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:22:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   var c3 = C<String>.bar<int>();
 //             ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:20:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:22:22: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c3 = C<String>.bar<int>();
 //                      ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:22:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:24:26: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c4 = new C<String>.bar<int>();
 //                          ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:25:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:27:16: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d1 = D.foo<int>();
 //                ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:27:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:29:22: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d2 = const D.foo<int>();
 //                      ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:29:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:31:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   const d3 = D<String>.foo<int>();
 //               ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:29:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:31:24: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d3 = D<String>.foo<int>();
 //                        ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:31:30: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:33:30: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d4 = const D<String>.foo<int>();
 //                              ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:34:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:36:16: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e1 = p.E.bar<int>();
 //                ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:36:20: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:38:20: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e2 = new p.E.bar<int>();
 //                    ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:38:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:40:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   var e3 = p.E<String>.bar<int>();
 //               ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:38:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:40:24: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e3 = p.E<String>.bar<int>();
 //                        ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:40:28: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:42:28: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e4 = new p.E<String>.bar<int>();
 //                            ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:43:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:45:18: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f1 = p.F.foo<int>();
 //                  ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:45:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:47:24: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f2 = const p.F.foo<int>();
 //                        ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:47:17: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:49:17: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   const f3 = p.F<String>.foo<int>();
 //                 ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:47:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:49:26: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f3 = p.F<String>.foo<int>();
 //                          ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:49:32: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:51:32: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f4 = const p.F<String>.foo<int>();
 //                                ^^^
@@ -120,96 +120,56 @@
 
 import "org-dartlang-testcase:///issue_34403_lib.dart" as p;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → self::C<self::C::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 D<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self::D<self::D::T*>*
+class D<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → 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
 }
 static method main() → dynamic {
-  self::C<core::int*>* c1 = new self::C::bar<core::int*>();
-  c1.{self::C::toString}(){() →* core::String*};
-  self::C<core::int*>* c2 = new self::C::bar<core::int*>();
-  c2.{self::C::toString}(){() →* core::String*};
-  self::C<core::int*>* c3 = new self::C::bar<core::int*>();
-  c3.{self::C::toString}(){() →* core::String*};
-  self::C<core::String*>* c4 = new self::C::bar<core::String*>();
-  c4.{self::C::toString}(){() →* core::String*};
-  #C1.{self::D::toString}(){() →* core::String*};
-  #C1.{self::D::toString}(){() →* core::String*};
-  #C1.{self::D::toString}(){() →* core::String*};
-  #C2.{self::D::toString}(){() →* core::String*};
-  iss::E<core::int*>* e1 = new iss::E::bar<core::int*>();
-  e1.{iss::E::toString}(){() →* core::String*};
-  iss::E<dynamic>* e2 = new iss::E::bar<dynamic>();
-  e2.{iss::E::toString}(){() →* core::String*};
-  iss::E<core::int*>* e3 = new iss::E::bar<core::int*>();
-  e3.{iss::E::toString}(){() →* core::String*};
-  iss::E<core::String*>* e4 = new iss::E::bar<core::String*>();
-  e4.{iss::E::toString}(){() →* core::String*};
-  #C3.{iss::F::toString}(){() →* core::String*};
-  #C4.{iss::F::toString}(){() →* core::String*};
-  #C3.{iss::F::toString}(){() →* core::String*};
-  #C5.{iss::F::toString}(){() →* core::String*};
+  self::C<core::int> c1 = new self::C::bar<core::int>();
+  c1.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c2 = new self::C::bar<core::int>();
+  c2.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c3 = new self::C::bar<core::int>();
+  c3.{core::Object::toString}(){() → core::String};
+  self::C<core::String> c4 = new self::C::bar<core::String>();
+  c4.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e1 = new iss::E::bar<core::int>();
+  e1.{core::Object::toString}(){() → core::String};
+  iss::E<dynamic> e2 = new iss::E::bar<dynamic>();
+  e2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e3 = new iss::E::bar<core::int>();
+  e3.{core::Object::toString}(){() → core::String};
+  iss::E<core::String> e4 = new iss::E::bar<core::String>();
+  e4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C5.{core::Object::toString}(){() → core::String};
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
-class E<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → iss::E<iss::E::T*>*
+class E<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → iss::E<iss::E::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 core::Object /*hasConstConstructor*/  {
-  const constructor foo() → iss::F<iss::F::T*>*
+class F<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → iss::F<iss::F::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
 }
 
 constants  {
@@ -223,6 +183,6 @@
 
 Constructor coverage from constants:
 org-dartlang-testcase:///issue_34403.dart:
-- D.foo (from org-dartlang-testcase:///issue_34403.dart:12:9)
+- D.foo (from org-dartlang-testcase:///issue_34403.dart:14:9)
 - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- F.foo (from org-dartlang-testcase:///issue_34403_lib.dart:10:9)
+- F.foo (from org-dartlang-testcase:///issue_34403_lib.dart:12:9)
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_34403.dart.weak.outline.expect
index 748f874..23f446b 100644
--- a/pkg/front_end/testcases/regress/issue_34403.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34403.dart.weak.outline.expect
@@ -1,71 +1,31 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///issue_34403_lib.dart" as p;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → 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 D<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self::D<self::D::T*>*
+class D<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → 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
 }
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
-class E<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → self2::E<self2::E::T*>*
+class E<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → self2::E<self2::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 F<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self2::F<self2::F::T*>*
+class F<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → self2::F<self2::F::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
 }
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34403.dart.weak.transformed.expect
index a31d72a..2d0471d 100644
--- a/pkg/front_end/testcases/regress/issue_34403.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34403.dart.weak.transformed.expect
@@ -1,115 +1,115 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:16:14: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:18:14: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c1 = C.bar<int>();
 //              ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:18:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:20:18: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c2 = new C.bar<int>();
 //                  ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:20:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:22:13: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   var c3 = C<String>.bar<int>();
 //             ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:20:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:22:22: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c3 = C<String>.bar<int>();
 //                      ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:22:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:24:26: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var c4 = new C<String>.bar<int>();
 //                          ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:25:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:27:16: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d1 = D.foo<int>();
 //                ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:27:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:29:22: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d2 = const D.foo<int>();
 //                      ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:29:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:31:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   const d3 = D<String>.foo<int>();
 //               ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:29:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:31:24: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d3 = D<String>.foo<int>();
 //                        ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:31:30: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:33:30: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const d4 = const D<String>.foo<int>();
 //                              ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:34:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:36:16: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e1 = p.E.bar<int>();
 //                ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:36:20: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:38:20: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e2 = new p.E.bar<int>();
 //                    ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:38:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:40:15: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   var e3 = p.E<String>.bar<int>();
 //               ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:38:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:40:24: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e3 = p.E<String>.bar<int>();
 //                        ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:40:28: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:42:28: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   var e4 = new p.E<String>.bar<int>();
 //                            ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:43:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:45:18: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f1 = p.F.foo<int>();
 //                  ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:45:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:47:24: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f2 = const p.F.foo<int>();
 //                        ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:47:17: Error: The 'constructor-tearoffs' language feature is disabled for this library.
+// pkg/front_end/testcases/regress/issue_34403.dart:49:17: Error: The 'constructor-tearoffs' language feature is disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.15 or higher.
 //   const f3 = p.F<String>.foo<int>();
 //                 ^
-// pkg/front_end/testcases/regress/issue_34403.dart:4:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
-// // @dart=2.9
-// ^^^^^^^^^^^^
+// pkg/front_end/testcases/regress/issue_34403.dart:5:1: Context: This is the annotation that opts out this library from the 'constructor-tearoffs' language feature.
+// // @dart=2.14
+// ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:47:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:49:26: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f3 = p.F<String>.foo<int>();
 //                          ^^^
 //
-// pkg/front_end/testcases/regress/issue_34403.dart:49:32: Error: A constructor invocation can't have type arguments after the constructor name.
+// pkg/front_end/testcases/regress/issue_34403.dart:51:32: Error: A constructor invocation can't have type arguments after the constructor name.
 // Try removing the type arguments or placing them after the class name.
 //   const f4 = const p.F<String>.foo<int>();
 //                                ^^^
@@ -120,96 +120,56 @@
 
 import "org-dartlang-testcase:///issue_34403_lib.dart" as p;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → self::C<self::C::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 D<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self::D<self::D::T*>*
+class D<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → 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
 }
 static method main() → dynamic {
-  self::C<core::int*>* c1 = new self::C::bar<core::int*>();
-  c1.{self::C::toString}(){() →* core::String*};
-  self::C<core::int*>* c2 = new self::C::bar<core::int*>();
-  c2.{self::C::toString}(){() →* core::String*};
-  self::C<core::int*>* c3 = new self::C::bar<core::int*>();
-  c3.{self::C::toString}(){() →* core::String*};
-  self::C<core::String*>* c4 = new self::C::bar<core::String*>();
-  c4.{self::C::toString}(){() →* core::String*};
-  #C1.{self::D::toString}(){() →* core::String*};
-  #C1.{self::D::toString}(){() →* core::String*};
-  #C1.{self::D::toString}(){() →* core::String*};
-  #C2.{self::D::toString}(){() →* core::String*};
-  iss::E<core::int*>* e1 = new iss::E::bar<core::int*>();
-  e1.{iss::E::toString}(){() →* core::String*};
-  iss::E<dynamic>* e2 = new iss::E::bar<dynamic>();
-  e2.{iss::E::toString}(){() →* core::String*};
-  iss::E<core::int*>* e3 = new iss::E::bar<core::int*>();
-  e3.{iss::E::toString}(){() →* core::String*};
-  iss::E<core::String*>* e4 = new iss::E::bar<core::String*>();
-  e4.{iss::E::toString}(){() →* core::String*};
-  #C3.{iss::F::toString}(){() →* core::String*};
-  #C4.{iss::F::toString}(){() →* core::String*};
-  #C3.{iss::F::toString}(){() →* core::String*};
-  #C5.{iss::F::toString}(){() →* core::String*};
+  self::C<core::int> c1 = new self::C::bar<core::int>();
+  c1.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c2 = new self::C::bar<core::int>();
+  c2.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c3 = new self::C::bar<core::int>();
+  c3.{core::Object::toString}(){() → core::String};
+  self::C<core::String> c4 = new self::C::bar<core::String>();
+  c4.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e1 = new iss::E::bar<core::int>();
+  e1.{core::Object::toString}(){() → core::String};
+  iss::E<dynamic> e2 = new iss::E::bar<dynamic>();
+  e2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e3 = new iss::E::bar<core::int>();
+  e3.{core::Object::toString}(){() → core::String};
+  iss::E<core::String> e4 = new iss::E::bar<core::String>();
+  e4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C5.{core::Object::toString}(){() → core::String};
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
-class E<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → iss::E<iss::E::T*>*
+class E<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → iss::E<iss::E::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 core::Object /*hasConstConstructor*/  {
-  const constructor foo() → iss::F<iss::F::T*>*
+class F<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → iss::F<iss::F::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
 }
 
 constants  {
@@ -223,6 +183,6 @@
 
 Constructor coverage from constants:
 org-dartlang-testcase:///issue_34403.dart:
-- D.foo (from org-dartlang-testcase:///issue_34403.dart:12:9)
+- D.foo (from org-dartlang-testcase:///issue_34403.dart:14:9)
 - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- F.foo (from org-dartlang-testcase:///issue_34403_lib.dart:10:9)
+- F.foo (from org-dartlang-testcase:///issue_34403_lib.dart:12:9)
diff --git a/pkg/front_end/testcases/regress/issue_34403_2.dart b/pkg/front_end/testcases/regress/issue_34403_2.dart
new file mode 100644
index 0000000..157dbf0
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_34403_2.dart
@@ -0,0 +1,51 @@
+// 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.
+
+import 'issue_34403_lib.dart' as p;
+
+class C<T> {
+  C.bar();
+}
+
+class D<T> {
+  const D.foo();
+}
+
+main() {
+  var c1 = C.bar<int>();
+  c1.toString();
+  var c2 = new C.bar<int>();
+  c2.toString();
+  var c3 = C<String>.bar<int>();
+  c3.toString();
+  var c4 = new C<String>.bar<int>();
+  c4.toString();
+
+  const d1 = D.foo<int>();
+  d1.toString();
+  const d2 = const D.foo<int>();
+  d2.toString();
+  const d3 = D<String>.foo<int>();
+  d3.toString();
+  const d4 = const D<String>.foo<int>();
+  d4.toString();
+
+  var e1 = p.E.bar<int>();
+  e1.toString();
+  var e2 = new p.E.bar<int>();
+  e2.toString();
+  var e3 = p.E<String>.bar<int>();
+  e3.toString();
+  var e4 = new p.E<String>.bar<int>();
+  e4.toString();
+
+  const f1 = p.F.foo<int>();
+  f1.toString();
+  const f2 = const p.F.foo<int>();
+  f2.toString();
+  const f3 = p.F<String>.foo<int>();
+  f3.toString();
+  const f4 = const p.F<String>.foo<int>();
+  f4.toString();
+}
diff --git a/pkg/front_end/testcases/regress/issue_34403_2.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34403_2.dart.textual_outline.expect
new file mode 100644
index 0000000..6ec803e
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_34403_2.dart.textual_outline.expect
@@ -0,0 +1,11 @@
+import 'issue_34403_lib.dart' as p;
+
+class C<T> {
+  C.bar();
+}
+
+class D<T> {
+  const D.foo();
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/regress/issue_34403_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_34403_2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..6ec803e
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_34403_2.dart.textual_outline_modelled.expect
@@ -0,0 +1,11 @@
+import 'issue_34403_lib.dart' as p;
+
+class C<T> {
+  C.bar();
+}
+
+class D<T> {
+  const D.foo();
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.expect
new file mode 100644
index 0000000..bb6af05
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.expect
@@ -0,0 +1,156 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:16:14: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c1 = C.bar<int>();
+//              ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:18:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c2 = new C.bar<int>();
+//                  ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:20:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c3 = C<String>.bar<int>();
+//                      ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:22:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c4 = new C<String>.bar<int>();
+//                          ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:25:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d1 = D.foo<int>();
+//                ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:27:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d2 = const D.foo<int>();
+//                      ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:29:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d3 = D<String>.foo<int>();
+//                        ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:31:30: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d4 = const D<String>.foo<int>();
+//                              ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:34:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e1 = p.E.bar<int>();
+//                ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:36:20: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e2 = new p.E.bar<int>();
+//                    ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:38:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e3 = p.E<String>.bar<int>();
+//                        ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:40:28: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e4 = new p.E<String>.bar<int>();
+//                            ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:43:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f1 = p.F.foo<int>();
+//                  ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:45:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f2 = const p.F.foo<int>();
+//                        ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:47:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f3 = p.F<String>.foo<int>();
+//                          ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:49:32: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f4 = const p.F<String>.foo<int>();
+//                                ^^^
+//
+import self as self;
+import "dart:core" as core;
+import "issue_34403_lib.dart" as iss;
+
+import "org-dartlang-testcase:///issue_34403_lib.dart" as p;
+
+class C<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → self::C<self::C::T%>
+    : super core::Object::•()
+    ;
+}
+class D<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → self::D<self::D::T%>
+    : super core::Object::•()
+    ;
+}
+static method main() → dynamic {
+  self::C<core::int> c1 = new self::C::bar<core::int>();
+  c1.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c2 = new self::C::bar<core::int>();
+  c2.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c3 = new self::C::bar<core::int>();
+  c3.{core::Object::toString}(){() → core::String};
+  self::C<core::String> c4 = new self::C::bar<core::String>();
+  c4.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e1 = new iss::E::bar<core::int>();
+  e1.{core::Object::toString}(){() → core::String};
+  iss::E<dynamic> e2 = new iss::E::bar<dynamic>();
+  e2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e3 = new iss::E::bar<core::int>();
+  e3.{core::Object::toString}(){() → core::String};
+  iss::E<core::String> e4 = new iss::E::bar<core::String>();
+  e4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C5.{core::Object::toString}(){() → core::String};
+}
+
+library /*isNonNullableByDefault*/;
+import self as iss;
+import "dart:core" as core;
+
+class E<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → iss::E<iss::E::T%>
+    : super core::Object::•()
+    ;
+}
+class F<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → iss::F<iss::F::T%>
+    : super core::Object::•()
+    ;
+}
+
+constants  {
+  #C1 = self::D<core::int*> {}
+  #C2 = self::D<core::String*> {}
+  #C3 = iss::F<core::int*> {}
+  #C4 = iss::F<dynamic> {}
+  #C5 = iss::F<core::String*> {}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///issue_34403_2.dart:
+- D.foo (from org-dartlang-testcase:///issue_34403_2.dart:12:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- F.foo (from org-dartlang-testcase:///issue_34403_lib.dart:12:9)
diff --git a/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.modular.expect
new file mode 100644
index 0000000..bb6af05
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.modular.expect
@@ -0,0 +1,156 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:16:14: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c1 = C.bar<int>();
+//              ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:18:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c2 = new C.bar<int>();
+//                  ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:20:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c3 = C<String>.bar<int>();
+//                      ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:22:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c4 = new C<String>.bar<int>();
+//                          ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:25:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d1 = D.foo<int>();
+//                ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:27:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d2 = const D.foo<int>();
+//                      ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:29:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d3 = D<String>.foo<int>();
+//                        ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:31:30: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d4 = const D<String>.foo<int>();
+//                              ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:34:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e1 = p.E.bar<int>();
+//                ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:36:20: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e2 = new p.E.bar<int>();
+//                    ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:38:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e3 = p.E<String>.bar<int>();
+//                        ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:40:28: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e4 = new p.E<String>.bar<int>();
+//                            ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:43:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f1 = p.F.foo<int>();
+//                  ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:45:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f2 = const p.F.foo<int>();
+//                        ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:47:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f3 = p.F<String>.foo<int>();
+//                          ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:49:32: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f4 = const p.F<String>.foo<int>();
+//                                ^^^
+//
+import self as self;
+import "dart:core" as core;
+import "issue_34403_lib.dart" as iss;
+
+import "org-dartlang-testcase:///issue_34403_lib.dart" as p;
+
+class C<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → self::C<self::C::T%>
+    : super core::Object::•()
+    ;
+}
+class D<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → self::D<self::D::T%>
+    : super core::Object::•()
+    ;
+}
+static method main() → dynamic {
+  self::C<core::int> c1 = new self::C::bar<core::int>();
+  c1.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c2 = new self::C::bar<core::int>();
+  c2.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c3 = new self::C::bar<core::int>();
+  c3.{core::Object::toString}(){() → core::String};
+  self::C<core::String> c4 = new self::C::bar<core::String>();
+  c4.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e1 = new iss::E::bar<core::int>();
+  e1.{core::Object::toString}(){() → core::String};
+  iss::E<dynamic> e2 = new iss::E::bar<dynamic>();
+  e2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e3 = new iss::E::bar<core::int>();
+  e3.{core::Object::toString}(){() → core::String};
+  iss::E<core::String> e4 = new iss::E::bar<core::String>();
+  e4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C5.{core::Object::toString}(){() → core::String};
+}
+
+library /*isNonNullableByDefault*/;
+import self as iss;
+import "dart:core" as core;
+
+class E<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → iss::E<iss::E::T%>
+    : super core::Object::•()
+    ;
+}
+class F<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → iss::F<iss::F::T%>
+    : super core::Object::•()
+    ;
+}
+
+constants  {
+  #C1 = self::D<core::int*> {}
+  #C2 = self::D<core::String*> {}
+  #C3 = iss::F<core::int*> {}
+  #C4 = iss::F<dynamic> {}
+  #C5 = iss::F<core::String*> {}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///issue_34403_2.dart:
+- D.foo (from org-dartlang-testcase:///issue_34403_2.dart:12:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- F.foo (from org-dartlang-testcase:///issue_34403_lib.dart:12:9)
diff --git a/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.outline.expect
new file mode 100644
index 0000000..23f446b
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.outline.expect
@@ -0,0 +1,31 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue_34403_lib.dart" as p;
+
+class C<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → self::C<self::C::T%>
+    ;
+}
+class D<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → self::D<self::D::T%>
+    : super core::Object::•()
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+class E<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → self2::E<self2::E::T%>
+    ;
+}
+class F<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → self2::F<self2::F::T%>
+    : super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.transformed.expect
new file mode 100644
index 0000000..bb6af05
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_34403_2.dart.weak.transformed.expect
@@ -0,0 +1,156 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:16:14: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c1 = C.bar<int>();
+//              ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:18:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c2 = new C.bar<int>();
+//                  ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:20:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c3 = C<String>.bar<int>();
+//                      ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:22:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var c4 = new C<String>.bar<int>();
+//                          ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:25:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d1 = D.foo<int>();
+//                ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:27:22: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d2 = const D.foo<int>();
+//                      ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:29:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d3 = D<String>.foo<int>();
+//                        ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:31:30: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const d4 = const D<String>.foo<int>();
+//                              ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:34:16: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e1 = p.E.bar<int>();
+//                ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:36:20: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e2 = new p.E.bar<int>();
+//                    ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:38:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e3 = p.E<String>.bar<int>();
+//                        ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:40:28: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   var e4 = new p.E<String>.bar<int>();
+//                            ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:43:18: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f1 = p.F.foo<int>();
+//                  ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:45:24: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f2 = const p.F.foo<int>();
+//                        ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:47:26: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f3 = p.F<String>.foo<int>();
+//                          ^^^
+//
+// pkg/front_end/testcases/regress/issue_34403_2.dart:49:32: Error: A constructor invocation can't have type arguments after the constructor name.
+// Try removing the type arguments or placing them after the class name.
+//   const f4 = const p.F<String>.foo<int>();
+//                                ^^^
+//
+import self as self;
+import "dart:core" as core;
+import "issue_34403_lib.dart" as iss;
+
+import "org-dartlang-testcase:///issue_34403_lib.dart" as p;
+
+class C<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → self::C<self::C::T%>
+    : super core::Object::•()
+    ;
+}
+class D<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → self::D<self::D::T%>
+    : super core::Object::•()
+    ;
+}
+static method main() → dynamic {
+  self::C<core::int> c1 = new self::C::bar<core::int>();
+  c1.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c2 = new self::C::bar<core::int>();
+  c2.{core::Object::toString}(){() → core::String};
+  self::C<core::int> c3 = new self::C::bar<core::int>();
+  c3.{core::Object::toString}(){() → core::String};
+  self::C<core::String> c4 = new self::C::bar<core::String>();
+  c4.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C1.{core::Object::toString}(){() → core::String};
+  #C2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e1 = new iss::E::bar<core::int>();
+  e1.{core::Object::toString}(){() → core::String};
+  iss::E<dynamic> e2 = new iss::E::bar<dynamic>();
+  e2.{core::Object::toString}(){() → core::String};
+  iss::E<core::int> e3 = new iss::E::bar<core::int>();
+  e3.{core::Object::toString}(){() → core::String};
+  iss::E<core::String> e4 = new iss::E::bar<core::String>();
+  e4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C4.{core::Object::toString}(){() → core::String};
+  #C3.{core::Object::toString}(){() → core::String};
+  #C5.{core::Object::toString}(){() → core::String};
+}
+
+library /*isNonNullableByDefault*/;
+import self as iss;
+import "dart:core" as core;
+
+class E<T extends core::Object? = dynamic> extends core::Object {
+  constructor bar() → iss::E<iss::E::T%>
+    : super core::Object::•()
+    ;
+}
+class F<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → iss::F<iss::F::T%>
+    : super core::Object::•()
+    ;
+}
+
+constants  {
+  #C1 = self::D<core::int*> {}
+  #C2 = self::D<core::String*> {}
+  #C3 = iss::F<core::int*> {}
+  #C4 = iss::F<dynamic> {}
+  #C5 = iss::F<core::String*> {}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///issue_34403_2.dart:
+- D.foo (from org-dartlang-testcase:///issue_34403_2.dart:12:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- F.foo (from org-dartlang-testcase:///issue_34403_lib.dart:12:9)
diff --git a/pkg/front_end/testcases/regress/issue_34403_2_lib.dart b/pkg/front_end/testcases/regress/issue_34403_2_lib.dart
new file mode 100644
index 0000000..51e0085
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_34403_2_lib.dart
@@ -0,0 +1,11 @@
+// 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.
+
+class E<T> {
+  E.bar();
+}
+
+class F<T> {
+  const F.foo();
+}
diff --git a/pkg/front_end/testcases/regress/issue_34403_lib.dart b/pkg/front_end/testcases/regress/issue_34403_lib.dart
index 0a78e41..4253297 100644
--- a/pkg/front_end/testcases/regress/issue_34403_lib.dart
+++ b/pkg/front_end/testcases/regress/issue_34403_lib.dart
@@ -1,7 +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
+
+// @dart=2.14
+
 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 0880816..aec52e6 100644
--- a/pkg/front_end/testcases/regress/issue_34498.dart
+++ b/pkg/front_end/testcases/regress/issue_34498.dart
@@ -1,11 +1,11 @@
 // 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 {
-  lib.MyClass get lib => null; // (1)
+  lib.MyClass? get lib => null; // (1)
 
   foo foo() {}
 
@@ -14,7 +14,7 @@
 
 class B extends A {}
 
-final A a = null;
+final A? a = null;
 
 class C<T> {
   T<String> foo() {}
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 5522b80..99b31c4 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,15 +1,14 @@
-// @dart = 2.9
 import 'issue_34498_lib.dart' as lib;
 
 class A {
-  lib.MyClass get lib => null;
+  lib.MyClass? get lib => null;
   foo foo() {}
   Missing bar() {}
 }
 
 class B extends A {}
 
-final A a = null;
+final A? a = null;
 
 class C<T> {
   T<String> foo() {}
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 b84c73c..e1b064c 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,10 +1,9 @@
-// @dart = 2.9
 import 'issue_34498_lib.dart' as lib;
 
 class A {
   Missing bar() {}
   foo foo() {}
-  lib.MyClass get lib => null;
+  lib.MyClass? get lib => null;
 }
 
 class B extends A {}
@@ -13,5 +12,5 @@
   T<String> foo() {}
 }
 
-final A a = null;
+final A? a = null;
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_34498.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34498.dart.weak.expect
index fa054b4..6cdd190 100644
--- a/pkg/front_end/testcases/regress/issue_34498.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34498.dart.weak.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
 // pkg/front_end/testcases/regress/issue_34498.dart:8:3: Error: 'lib.MyClass' can't be used as a type because 'lib' doesn't refer to an import prefix.
-//   lib.MyClass get lib => null; // (1)
+//   lib.MyClass? get lib => null; // (1)
 //   ^^^^^^^^^^^
 //
 // pkg/front_end/testcases/regress/issue_34498.dart:10:3: Error: 'foo' isn't a type.
@@ -28,64 +28,34 @@
 import "org-dartlang-testcase:///issue_34498_lib.dart" as lib;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   get lib() → invalid-type
     return null;
   method foo() → invalid-type {}
   method bar() → 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
 }
 class B extends self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
 }
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
   method foo() → 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 final field self::A* a = null;
+static final field self::A? a = null;
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class MyClass extends core::Object {
-  synthetic constructor •() → self2::MyClass*
+  synthetic constructor •() → self2::MyClass
     : 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/regress/issue_34498.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_34498.dart.weak.modular.expect
index fa054b4..6cdd190 100644
--- a/pkg/front_end/testcases/regress/issue_34498.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_34498.dart.weak.modular.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
 // pkg/front_end/testcases/regress/issue_34498.dart:8:3: Error: 'lib.MyClass' can't be used as a type because 'lib' doesn't refer to an import prefix.
-//   lib.MyClass get lib => null; // (1)
+//   lib.MyClass? get lib => null; // (1)
 //   ^^^^^^^^^^^
 //
 // pkg/front_end/testcases/regress/issue_34498.dart:10:3: Error: 'foo' isn't a type.
@@ -28,64 +28,34 @@
 import "org-dartlang-testcase:///issue_34498_lib.dart" as lib;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   get lib() → invalid-type
     return null;
   method foo() → invalid-type {}
   method bar() → 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
 }
 class B extends self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
 }
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
   method foo() → 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 final field self::A* a = null;
+static final field self::A? a = null;
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class MyClass extends core::Object {
-  synthetic constructor •() → self2::MyClass*
+  synthetic constructor •() → self2::MyClass
     : 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/regress/issue_34498.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_34498.dart.weak.outline.expect
index a5828de..55ff30a 100644
--- a/pkg/front_end/testcases/regress/issue_34498.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34498.dart.weak.outline.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
 // pkg/front_end/testcases/regress/issue_34498.dart:8:3: Error: 'lib.MyClass' can't be used as a type because 'lib' doesn't refer to an import prefix.
-//   lib.MyClass get lib => null; // (1)
+//   lib.MyClass? get lib => null; // (1)
 //   ^^^^^^^^^^^
 //
 // pkg/front_end/testcases/regress/issue_34498.dart:10:3: Error: 'foo' isn't a type.
@@ -28,7 +28,7 @@
 import "org-dartlang-testcase:///issue_34498_lib.dart" as lib;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
   get lib() → invalid-type
     ;
@@ -36,56 +36,26 @@
     ;
   method bar() → 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
 }
 class B extends self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
 }
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     ;
   method foo() → 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 final field self::A* a;
+static final field self::A? a;
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class MyClass extends core::Object {
-  synthetic constructor •() → self2::MyClass*
+  synthetic constructor •() → self2::MyClass
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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/regress/issue_34498.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34498.dart.weak.transformed.expect
index fa054b4..6cdd190 100644
--- a/pkg/front_end/testcases/regress/issue_34498.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34498.dart.weak.transformed.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
 // pkg/front_end/testcases/regress/issue_34498.dart:8:3: Error: 'lib.MyClass' can't be used as a type because 'lib' doesn't refer to an import prefix.
-//   lib.MyClass get lib => null; // (1)
+//   lib.MyClass? get lib => null; // (1)
 //   ^^^^^^^^^^^
 //
 // pkg/front_end/testcases/regress/issue_34498.dart:10:3: Error: 'foo' isn't a type.
@@ -28,64 +28,34 @@
 import "org-dartlang-testcase:///issue_34498_lib.dart" as lib;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
   get lib() → invalid-type
     return null;
   method foo() → invalid-type {}
   method bar() → 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
 }
 class B extends self::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super self::A::•()
     ;
 }
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
   method foo() → 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 final field self::A* a = null;
+static final field self::A? a = null;
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class MyClass extends core::Object {
-  synthetic constructor •() → self2::MyClass*
+  synthetic constructor •() → self2::MyClass
     : 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/regress/issue_34498_lib.dart b/pkg/front_end/testcases/regress/issue_34498_lib.dart
index bbefaa9..a1b2795 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 1ba791b..84109cc 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34563.dart.textual_outline.expect
index 623f632..61b16e2 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,4 +1,3 @@
-// @dart = 2.9
 mixin M1 {
   int get m => 1;
 }
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34563.dart.weak.expect
index 201e0fa..c2bdb53 100644
--- a/pkg/front_end/testcases/regress/issue_34563.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34563.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -46,92 +46,32 @@
 import "dart:core" as core;
 
 abstract class M1 extends core::Object /*isMixinDeclaration*/  {
-  get m() → core::int*
+  get m() → core::int
     return 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
 }
 abstract class M2 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 M3 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
 }
 class C1 extends core::Object {
-  synthetic constructor •() → self::C1*
+  synthetic constructor •() → self::C1
     : super core::Object::•()
     ;
-  get c() → core::int*
+  get c() → core::int
     return 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 C2 extends core::Object {
-  synthetic constructor •() → self::C2*
+  synthetic constructor •() → self::C2
     : 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 C3 extends core::Object {
-  synthetic constructor •() → self::C3*
+  synthetic constructor •() → self::C3
     : 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 {
-  self::C2* c2 = new self::C2::•();
+  self::C2 c2 = new self::C2::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:6: Error: The getter 'm' isn't defined for the class 'C2'.
  - 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
@@ -141,7 +81,7 @@
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
   c2.m + c2.c;
             ^" in c2{<unresolved>}.c);
-  self::C3* c3 = new self::C3::•();
+  self::C3 c3 = new self::C3::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:6: Error: The getter 'm' isn't defined for the class 'C3'.
  - 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_34563.dart.weak.modular.expect
index 201e0fa..c2bdb53 100644
--- a/pkg/front_end/testcases/regress/issue_34563.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_34563.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -46,92 +46,32 @@
 import "dart:core" as core;
 
 abstract class M1 extends core::Object /*isMixinDeclaration*/  {
-  get m() → core::int*
+  get m() → core::int
     return 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
 }
 abstract class M2 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 M3 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
 }
 class C1 extends core::Object {
-  synthetic constructor •() → self::C1*
+  synthetic constructor •() → self::C1
     : super core::Object::•()
     ;
-  get c() → core::int*
+  get c() → core::int
     return 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 C2 extends core::Object {
-  synthetic constructor •() → self::C2*
+  synthetic constructor •() → self::C2
     : 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 C3 extends core::Object {
-  synthetic constructor •() → self::C3*
+  synthetic constructor •() → self::C3
     : 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 {
-  self::C2* c2 = new self::C2::•();
+  self::C2 c2 = new self::C2::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:6: Error: The getter 'm' isn't defined for the class 'C2'.
  - 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
@@ -141,7 +81,7 @@
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
   c2.m + c2.c;
             ^" in c2{<unresolved>}.c);
-  self::C3* c3 = new self::C3::•();
+  self::C3 c3 = new self::C3::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:6: Error: The getter 'm' isn't defined for the class 'C3'.
  - 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_34563.dart.weak.outline.expect
index 1a2844e..a3834c6 100644
--- a/pkg/front_end/testcases/regress/issue_34563.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34563.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -22,86 +22,26 @@
 import "dart:core" as core;
 
 abstract class M1 extends core::Object /*isMixinDeclaration*/  {
-  get m() → core::int*
+  get 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
 }
 abstract class M2 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 M3 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
 }
 class C1 extends core::Object {
-  synthetic constructor •() → self::C1*
+  synthetic constructor •() → self::C1
     ;
-  get c() → core::int*
+  get c() → 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 C2 extends core::Object {
-  synthetic constructor •() → self::C2*
+  synthetic 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 {
-  synthetic constructor •() → self::C3*
+  synthetic 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/regress/issue_34563.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34563.dart.weak.transformed.expect
index 201e0fa..c2bdb53 100644
--- a/pkg/front_end/testcases/regress/issue_34563.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34563.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -46,92 +46,32 @@
 import "dart:core" as core;
 
 abstract class M1 extends core::Object /*isMixinDeclaration*/  {
-  get m() → core::int*
+  get m() → core::int
     return 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
 }
 abstract class M2 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 M3 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
 }
 class C1 extends core::Object {
-  synthetic constructor •() → self::C1*
+  synthetic constructor •() → self::C1
     : super core::Object::•()
     ;
-  get c() → core::int*
+  get c() → core::int
     return 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 C2 extends core::Object {
-  synthetic constructor •() → self::C2*
+  synthetic constructor •() → self::C2
     : 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 C3 extends core::Object {
-  synthetic constructor •() → self::C3*
+  synthetic constructor •() → self::C3
     : 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 {
-  self::C2* c2 = new self::C2::•();
+  self::C2 c2 = new self::C2::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:6: Error: The getter 'm' isn't defined for the class 'C2'.
  - 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
@@ -141,7 +81,7 @@
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
   c2.m + c2.c;
             ^" in c2{<unresolved>}.c);
-  self::C3* c3 = new self::C3::•();
+  self::C3 c3 = new self::C3::•();
   invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:6: Error: The getter 'm' isn't defined for the class 'C3'.
  - 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart b/pkg/front_end/testcases/regress/issue_34610.dart
index ed93b92..da9d50a 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34610.dart.textual_outline.expect
index 76f6547..176c1c6 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   get A.named ()=> null;
   get bar => 1;
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34610.dart.weak.expect
index db6cda1..3bbc877 100644
--- a/pkg/front_end/testcases/regress/issue_34610.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34610.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -36,7 +36,7 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor named() → self::A*
+  constructor named() → self::A
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/regress/issue_34610.dart:5:26: Error: Constructors can't have a return type.
 Try removing the return type.
@@ -44,36 +44,16 @@
                          ^";
   get bar() → dynamic
     return 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 B extends core::Object {
-  constructor named() → self::B*
+  constructor named() → self::B
     : super core::Object::•()
     ;
   get bar() → dynamic
     return 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 {
-  constructor named() → self::C*
+  constructor named() → self::C
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/regress/issue_34610.dart:9:22: Error: Constructors can't have a return type.
 Try removing the return type.
@@ -81,29 +61,19 @@
                      ^";
   get bar() → dynamic
     return 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
 }
 static method main() → dynamic {
   try {
     core::print(new self::A::named().{self::A::bar}{dynamic});
     throw "expected exception";
   }
-  on dynamic catch(final dynamic e) {
+  on core::Object catch(final core::Object e) {
   }
   core::print(new self::B::named().{self::B::bar}{dynamic});
   try {
     core::print(new self::C::named().{self::C::bar}{dynamic});
     throw "expected exception";
   }
-  on dynamic catch(final dynamic e) {
+  on core::Object catch(final core::Object e) {
   }
 }
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_34610.dart.weak.modular.expect
index db6cda1..3bbc877 100644
--- a/pkg/front_end/testcases/regress/issue_34610.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_34610.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -36,7 +36,7 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor named() → self::A*
+  constructor named() → self::A
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/regress/issue_34610.dart:5:26: Error: Constructors can't have a return type.
 Try removing the return type.
@@ -44,36 +44,16 @@
                          ^";
   get bar() → dynamic
     return 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 B extends core::Object {
-  constructor named() → self::B*
+  constructor named() → self::B
     : super core::Object::•()
     ;
   get bar() → dynamic
     return 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 {
-  constructor named() → self::C*
+  constructor named() → self::C
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/regress/issue_34610.dart:9:22: Error: Constructors can't have a return type.
 Try removing the return type.
@@ -81,29 +61,19 @@
                      ^";
   get bar() → dynamic
     return 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
 }
 static method main() → dynamic {
   try {
     core::print(new self::A::named().{self::A::bar}{dynamic});
     throw "expected exception";
   }
-  on dynamic catch(final dynamic e) {
+  on core::Object catch(final core::Object e) {
   }
   core::print(new self::B::named().{self::B::bar}{dynamic});
   try {
     core::print(new self::C::named().{self::C::bar}{dynamic});
     throw "expected exception";
   }
-  on dynamic catch(final dynamic e) {
+  on core::Object catch(final core::Object e) {
   }
 }
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_34610.dart.weak.outline.expect
index 57bde4c..b49f277 100644
--- a/pkg/front_end/testcases/regress/issue_34610.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34610.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -26,52 +26,22 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor named() → self::A*
+  constructor named() → self::A
     ;
   get 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 B extends core::Object {
-  constructor named() → self::B*
+  constructor named() → self::B
     ;
   get 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 C extends core::Object {
-  constructor named() → self::C*
+  constructor named() → self::C
     ;
   get 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34610.dart.weak.transformed.expect
index db6cda1..3bbc877 100644
--- a/pkg/front_end/testcases/regress/issue_34610.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34610.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -36,7 +36,7 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  constructor named() → self::A*
+  constructor named() → self::A
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/regress/issue_34610.dart:5:26: Error: Constructors can't have a return type.
 Try removing the return type.
@@ -44,36 +44,16 @@
                          ^";
   get bar() → dynamic
     return 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 B extends core::Object {
-  constructor named() → self::B*
+  constructor named() → self::B
     : super core::Object::•()
     ;
   get bar() → dynamic
     return 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 {
-  constructor named() → self::C*
+  constructor named() → self::C
     : super core::Object::•()
     invalid-expression "pkg/front_end/testcases/regress/issue_34610.dart:9:22: Error: Constructors can't have a return type.
 Try removing the return type.
@@ -81,29 +61,19 @@
                      ^";
   get bar() → dynamic
     return 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
 }
 static method main() → dynamic {
   try {
     core::print(new self::A::named().{self::A::bar}{dynamic});
     throw "expected exception";
   }
-  on dynamic catch(final dynamic e) {
+  on core::Object catch(final core::Object e) {
   }
   core::print(new self::B::named().{self::B::bar}{dynamic});
   try {
     core::print(new self::C::named().{self::C::bar}{dynamic});
     throw "expected exception";
   }
-  on dynamic catch(final dynamic e) {
+  on core::Object catch(final core::Object e) {
   }
 }
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart b/pkg/front_end/testcases/regress/issue_34614.dart
index 8cdbe47..aedbef3a 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34614.dart.textual_outline.expect
index 24394ba..9b80699 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   C. (){}
 }
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34614.dart.weak.expect
index 9092aae..b66711f 100644
--- a/pkg/front_end/testcases/regress/issue_34614.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34614.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -20,21 +20,11 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic 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
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
-  c.{self::C::toString}(){() →* core::String*};
+  self::C c = new self::C::•();
+  c.{core::Object::toString}(){() → core::String};
 }
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_34614.dart.weak.modular.expect
index 9092aae..b66711f 100644
--- a/pkg/front_end/testcases/regress/issue_34614.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_34614.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -20,21 +20,11 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic 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
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
-  c.{self::C::toString}(){() →* core::String*};
+  self::C c = new self::C::•();
+  c.{core::Object::toString}(){() → core::String};
 }
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_34614.dart.weak.outline.expect
index 3132fad..c4341ef 100644
--- a/pkg/front_end/testcases/regress/issue_34614.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34614.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -20,18 +20,8 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  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/regress/issue_34614.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34614.dart.weak.transformed.expect
index 9092aae..b66711f 100644
--- a/pkg/front_end/testcases/regress/issue_34614.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34614.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -20,21 +20,11 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic 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
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
-  c.{self::C::toString}(){() →* core::String*};
+  self::C c = new self::C::•();
+  c.{core::Object::toString}(){() → core::String};
 }
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart b/pkg/front_end/testcases/regress/issue_34850.dart
index d61c5ff..052530e 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 9e78bc0..7024734 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,4 +1,3 @@
-// @dart = 2.9
 <
 foo< int >f1() {}
 foo Future<List<int>> (){}
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34850.dart.weak.expect
index 460422e..eff3876 100644
--- a/pkg/front_end/testcases/regress/issue_34850.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34850.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -48,7 +48,7 @@
 static method f1() → invalid-type {
   return null;
 }
-static method Future<List extends core::Object* = dynamic>() → invalid-type {}
+static method Future<List extends core::Object? = dynamic>() → invalid-type {}
 static method f2() → dynamic async /* futureValueType= dynamic */ 
   return null;
 static method f3() → invalid-type async /* futureValueType= invalid-type */ {
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_34850.dart.weak.modular.expect
index 460422e..eff3876 100644
--- a/pkg/front_end/testcases/regress/issue_34850.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_34850.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -48,7 +48,7 @@
 static method f1() → invalid-type {
   return null;
 }
-static method Future<List extends core::Object* = dynamic>() → invalid-type {}
+static method Future<List extends core::Object? = dynamic>() → invalid-type {}
 static method f2() → dynamic async /* futureValueType= dynamic */ 
   return null;
 static method f3() → invalid-type async /* futureValueType= invalid-type */ {
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_34850.dart.weak.outline.expect
index 34f987e..e76b343 100644
--- a/pkg/front_end/testcases/regress/issue_34850.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34850.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -47,7 +47,7 @@
 
 static method f1() → invalid-type
   ;
-static method Future<List extends core::Object* = dynamic>() → invalid-type
+static method Future<List extends core::Object? = dynamic>() → invalid-type
   ;
 static method f2() → dynamic async 
   ;
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
index e1979d3..88fac78 100644
--- a/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -50,14 +50,14 @@
 static method f1() → invalid-type {
   return null;
 }
-static method Future<List extends core::Object* = dynamic>() → invalid-type {}
+static method Future<List extends core::Object? = dynamic>() → invalid-type {}
 static method f2() → dynamic /* futureValueType= dynamic */ /* originally async */ {
-  final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+  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;
+  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;
   function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding 
     try {
@@ -69,22 +69,22 @@
       asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
       return;
     }
-    on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+    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(null, null){() →* dynamic};
+  :async_op(null, null){() → dynamic};
   :is_sync = true;
   return :async_future;
 }
 static method f3() → invalid-type /* futureValueType= invalid-type */ /* originally async */ {
-  final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+  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;
+  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;
   function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding 
     try {
@@ -96,22 +96,22 @@
       asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
       return;
     }
-    on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+    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(null, null){() →* dynamic};
+  :async_op(null, null){() → dynamic};
   :is_sync = true;
   return :async_future;
 }
 static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
-  final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+  final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
   core::bool* :is_sync = false;
   dynamic :return_value;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :await_jump_var = 0;
+  (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_or_exception, dynamic :stack_trace) → dynamic yielding 
@@ -127,12 +127,12 @@
       asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
       return;
     }
-    on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+    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(null, null){() →* dynamic};
+  :async_op(null, null){() → dynamic};
   :is_sync = true;
   return :async_future;
 }
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart b/pkg/front_end/testcases/regress/issue_35151.dart
index 8c372eb..7c36418 100644
--- a/pkg/front_end/testcases/regress/issue_35151.dart
+++ b/pkg/front_end/testcases/regress/issue_35151.dart
@@ -1,9 +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
+
 class A {
-  int a;
+  int a = 0;
 }
 
 class B extends A {
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 375f782..de24b92 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,6 +1,5 @@
-// @dart = 2.9
 class A {
-  int a;
+  int a = 0;
 }
 class B extends A {
   B() : super.a = 42;
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.weak.expect b/pkg/front_end/testcases/regress/issue_35151.dart.weak.expect
index 146d622..a1693a5 100644
--- a/pkg/front_end/testcases/regress/issue_35151.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35151.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -20,23 +20,13 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::int* a = null;
-  synthetic constructor •() → self::A*
+  field core::int a = 0;
+  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 self::A {
-  constructor •() → self::B*
+  constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_35151.dart:10:15: Error: Not a valid initializer.
 To initialize a field, use the syntax 'name = value'.
   B() : super.a = 42;
@@ -44,31 +34,21 @@
     ;
 }
 class C extends core::Object {
-  constructor •() → self::C*
+  constructor •() → self::C
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/regress/issue_35151.dart:14:9: Error: Can't access 'super' in a field initializer.
   C() : super = 42;
         ^^^^^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
   try {
-    self::B* b = new self::B::•();
+    self::B b = new self::B::•();
   }
-  on dynamic catch(final dynamic _) {
+  on core::Object catch(final core::Object _) {
   }
   try {
-    self::C* c = new self::C::•();
+    self::C c = new self::C::•();
   }
-  on dynamic catch(final dynamic _) {
+  on core::Object catch(final core::Object _) {
   }
 }
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_35151.dart.weak.modular.expect
index 146d622..a1693a5 100644
--- a/pkg/front_end/testcases/regress/issue_35151.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_35151.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -20,23 +20,13 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::int* a = null;
-  synthetic constructor •() → self::A*
+  field core::int a = 0;
+  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 self::A {
-  constructor •() → self::B*
+  constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_35151.dart:10:15: Error: Not a valid initializer.
 To initialize a field, use the syntax 'name = value'.
   B() : super.a = 42;
@@ -44,31 +34,21 @@
     ;
 }
 class C extends core::Object {
-  constructor •() → self::C*
+  constructor •() → self::C
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/regress/issue_35151.dart:14:9: Error: Can't access 'super' in a field initializer.
   C() : super = 42;
         ^^^^^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
   try {
-    self::B* b = new self::B::•();
+    self::B b = new self::B::•();
   }
-  on dynamic catch(final dynamic _) {
+  on core::Object catch(final core::Object _) {
   }
   try {
-    self::C* c = new self::C::•();
+    self::C c = new self::C::•();
   }
-  on dynamic catch(final dynamic _) {
+  on core::Object catch(final core::Object _) {
   }
 }
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_35151.dart.weak.outline.expect
index 478d47a..3da6b9b 100644
--- a/pkg/front_end/testcases/regress/issue_35151.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35151.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,37 +11,17 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::int* a;
-  synthetic constructor •() → self::A*
+  field core::int a;
+  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 {
-  constructor •() → self::B*
+  constructor •() → self::B
     ;
 }
 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35151.dart.weak.transformed.expect
index 146d622..a1693a5 100644
--- a/pkg/front_end/testcases/regress/issue_35151.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35151.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -20,23 +20,13 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  field core::int* a = null;
-  synthetic constructor •() → self::A*
+  field core::int a = 0;
+  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 self::A {
-  constructor •() → self::B*
+  constructor •() → self::B
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_35151.dart:10:15: Error: Not a valid initializer.
 To initialize a field, use the syntax 'name = value'.
   B() : super.a = 42;
@@ -44,31 +34,21 @@
     ;
 }
 class C extends core::Object {
-  constructor •() → self::C*
+  constructor •() → self::C
     : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/regress/issue_35151.dart:14:9: Error: Can't access 'super' in a field initializer.
   C() : super = 42;
         ^^^^^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 {
   try {
-    self::B* b = new self::B::•();
+    self::B b = new self::B::•();
   }
-  on dynamic catch(final dynamic _) {
+  on core::Object catch(final core::Object _) {
   }
   try {
-    self::C* c = new self::C::•();
+    self::C c = new self::C::•();
   }
-  on dynamic catch(final dynamic _) {
+  on core::Object catch(final core::Object _) {
   }
 }
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart b/pkg/front_end/testcases/regress/issue_35177.dart
index 7fb29a5..8cbb06d 100644
--- a/pkg/front_end/testcases/regress/issue_35177.dart
+++ b/pkg/front_end/testcases/regress/issue_35177.dart
@@ -1,8 +1,8 @@
 // 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;
+
+test() {
+  dynamic Function() f = () {};
   (f)()<int>();
 }
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 7c126a2..a9f9e5f 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,2 +1 @@
-// @dart = 2.9
-main() {}
+test() {}
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 7c126a2..a9f9e5f 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,2 +1 @@
-// @dart = 2.9
-main() {}
+test() {}
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.weak.expect b/pkg/front_end/testcases/regress/issue_35177.dart.weak.expect
index d0eb552..27aa3f7 100644
--- a/pkg/front_end/testcases/regress/issue_35177.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35177.dart.weak.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static method main() → dynamic {
-  () →* dynamic f;
-  f(){() →* dynamic}{dynamic}.call<core::int*>();
+static method test() → dynamic {
+  () → dynamic f = () → Null {};
+  f(){() → dynamic}{dynamic}.call<core::int>();
 }
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_35177.dart.weak.modular.expect
index d0eb552..27aa3f7 100644
--- a/pkg/front_end/testcases/regress/issue_35177.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_35177.dart.weak.modular.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static method main() → dynamic {
-  () →* dynamic f;
-  f(){() →* dynamic}{dynamic}.call<core::int*>();
+static method test() → dynamic {
+  () → dynamic f = () → Null {};
+  f(){() → dynamic}{dynamic}.call<core::int>();
 }
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_35177.dart.weak.outline.expect
index 6a28c0d..eef3152 100644
--- a/pkg/front_end/testcases/regress/issue_35177.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35177.dart.weak.outline.expect
@@ -1,5 +1,5 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
-static method main() → dynamic
+static method test() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35177.dart.weak.transformed.expect
index d0eb552..27aa3f7 100644
--- a/pkg/front_end/testcases/regress/issue_35177.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35177.dart.weak.transformed.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static method main() → dynamic {
-  () →* dynamic f;
-  f(){() →* dynamic}{dynamic}.call<core::int*>();
+static method test() → dynamic {
+  () → dynamic f = () → Null {};
+  f(){() → dynamic}{dynamic}.call<core::int>();
 }
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart b/pkg/front_end/testcases/regress/issue_35213.dart
index e231fb7..37a9f1c 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 b241519..55bc6cb 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,3 +1,2 @@
-// @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 b241519..55bc6cb 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,3 +1,2 @@
-// @dart = 2.9
 f(int a, int b) {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.weak.expect b/pkg/front_end/testcases/regress/issue_35213.dart.weak.expect
index e97491d..a03f07f 100644
--- a/pkg/front_end/testcases/regress/issue_35213.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35213.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,7 +9,7 @@
 import self as self;
 import "dart:core" as core;
 
-static method f(core::int* a, core::int* b) → dynamic {}
+static method f(core::int a, core::int b) → dynamic {}
 static method main() → dynamic {
   self::f(2, 3);
 }
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_35213.dart.weak.modular.expect
index e97491d..a03f07f 100644
--- a/pkg/front_end/testcases/regress/issue_35213.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_35213.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,7 +9,7 @@
 import self as self;
 import "dart:core" as core;
 
-static method f(core::int* a, core::int* b) → dynamic {}
+static method f(core::int a, core::int b) → dynamic {}
 static method main() → dynamic {
   self::f(2, 3);
 }
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_35213.dart.weak.outline.expect
index 0a51465..1f8ba07 100644
--- a/pkg/front_end/testcases/regress/issue_35213.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35213.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,7 +9,7 @@
 import self as self;
 import "dart:core" as core;
 
-static method f(core::int* a, core::int* b) → dynamic
+static method f(core::int a, core::int b) → dynamic
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35213.dart.weak.transformed.expect
index e97491d..a03f07f 100644
--- a/pkg/front_end/testcases/regress/issue_35213.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35213.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -9,7 +9,7 @@
 import self as self;
 import "dart:core" as core;
 
-static method f(core::int* a, core::int* b) → dynamic {}
+static method f(core::int a, core::int b) → dynamic {}
 static method main() → dynamic {
   self::f(2, 3);
 }
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart b/pkg/front_end/testcases/regress/issue_35220.dart
index 1f52884..93b8134 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 178e278..81e059b 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,4 +1,3 @@
-// @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 178e278..81e059b 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,4 +1,3 @@
-// @dart = 2.9
 class A {
   A bad() {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart.weak.expect b/pkg/front_end/testcases/regress/issue_35220.dart.weak.expect
index cab6aea..b2fb1b7 100644
--- a/pkg/front_end/testcases/regress/issue_35220.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35220.dart.weak.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be assigned to a variable of type 'A'.
+// pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be returned from a function with return type 'A'.
 //  - 'A' is from 'pkg/front_end/testcases/regress/issue_35220.dart'.
 //   A bad() { return true != 2; }
 //                         ^
@@ -11,24 +11,14 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  method bad() → self::A* {
-    return invalid-expression "pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be assigned to a variable of type 'A'.
+  method bad() → self::A {
+    return invalid-expression "pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be returned from a function with return type 'A'.
  - 'A' is from 'pkg/front_end/testcases/regress/issue_35220.dart'.
   A bad() { return true != 2; }
-                        ^" in !(true =={core::Object::==}{(core::Object*) →* core::bool*} 2) as{TypeError} self::A*;
+                        ^" in !(true =={core::Object::==}{(core::Object) → core::bool} 2) as{TypeError,ForNonNullableByDefault} 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/regress/issue_35220.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_35220.dart.weak.modular.expect
index cab6aea..b2fb1b7 100644
--- a/pkg/front_end/testcases/regress/issue_35220.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_35220.dart.weak.modular.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be assigned to a variable of type 'A'.
+// pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be returned from a function with return type 'A'.
 //  - 'A' is from 'pkg/front_end/testcases/regress/issue_35220.dart'.
 //   A bad() { return true != 2; }
 //                         ^
@@ -11,24 +11,14 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  method bad() → self::A* {
-    return invalid-expression "pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be assigned to a variable of type 'A'.
+  method bad() → self::A {
+    return invalid-expression "pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be returned from a function with return type 'A'.
  - 'A' is from 'pkg/front_end/testcases/regress/issue_35220.dart'.
   A bad() { return true != 2; }
-                        ^" in !(true =={core::Object::==}{(core::Object*) →* core::bool*} 2) as{TypeError} self::A*;
+                        ^" in !(true =={core::Object::==}{(core::Object) → core::bool} 2) as{TypeError,ForNonNullableByDefault} 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/regress/issue_35220.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_35220.dart.weak.outline.expect
index 8e1c8d8..1cbe284 100644
--- a/pkg/front_end/testcases/regress/issue_35220.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35220.dart.weak.outline.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
-  method bad() → self::A*
+  method 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35220.dart.weak.transformed.expect
index cab6aea..b2fb1b7 100644
--- a/pkg/front_end/testcases/regress/issue_35220.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35220.dart.weak.transformed.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be assigned to a variable of type 'A'.
+// pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be returned from a function with return type 'A'.
 //  - 'A' is from 'pkg/front_end/testcases/regress/issue_35220.dart'.
 //   A bad() { return true != 2; }
 //                         ^
@@ -11,24 +11,14 @@
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  method bad() → self::A* {
-    return invalid-expression "pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be assigned to a variable of type 'A'.
+  method bad() → self::A {
+    return invalid-expression "pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be returned from a function with return type 'A'.
  - 'A' is from 'pkg/front_end/testcases/regress/issue_35220.dart'.
   A bad() { return true != 2; }
-                        ^" in !(true =={core::Object::==}{(core::Object*) →* core::bool*} 2) as{TypeError} self::A*;
+                        ^" in !(true =={core::Object::==}{(core::Object) → core::bool} 2) as{TypeError,ForNonNullableByDefault} 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/regress/issue_35258.dart b/pkg/front_end/testcases/regress/issue_35258.dart
index 941ce25..486fae4 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35258.dart.textual_outline.expect
index bf2e71f..639a601 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,4 +1,3 @@
-// @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 4a88bcb..f4d4891 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   C() {}
   C(this.d) {}
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.weak.expect b/pkg/front_end/testcases/regress/issue_35258.dart.weak.expect
index 33c1bb2..4fd98f1 100644
--- a/pkg/front_end/testcases/regress/issue_35258.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35258.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -23,18 +23,8 @@
 
 class C extends core::Object {
   final field dynamic d = null;
-  constructor •() → self::C*
+  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
 }
 static method main() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_35258.dart:6:7: Error: Can't use 'C' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_35258.dart.weak.modular.expect
index 33c1bb2..4fd98f1 100644
--- a/pkg/front_end/testcases/regress/issue_35258.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_35258.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -23,18 +23,8 @@
 
 class C extends core::Object {
   final field dynamic d = null;
-  constructor •() → self::C*
+  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
 }
 static method main() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_35258.dart:6:7: Error: Can't use 'C' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_35258.dart.weak.outline.expect
index 6f0a04b..52c6688 100644
--- a/pkg/front_end/testcases/regress/issue_35258.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35258.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,18 +14,8 @@
 
 class C extends core::Object {
   final field dynamic d;
-  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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35258.dart.weak.transformed.expect
index 33c1bb2..4fd98f1 100644
--- a/pkg/front_end/testcases/regress/issue_35258.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35258.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -23,18 +23,8 @@
 
 class C extends core::Object {
   final field dynamic d = null;
-  constructor •() → self::C*
+  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
 }
 static method main() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_35258.dart:6:7: Error: Can't use 'C' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart b/pkg/front_end/testcases/regress/issue_35259.dart
index 1cee48a2..10246aa 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35259.dart.textual_outline.expect
index 423a8e9..a47d649 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,4 +1,3 @@
-// @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 423a8e9..a47d649 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,4 +1,3 @@
-// @dart = 2.9
 class Supertype {
   factory Supertype() = Unresolved;
   factory Supertype() = Unresolved;
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.weak.expect b/pkg/front_end/testcases/regress/issue_35259.dart.weak.expect
index 6a366d0..80f4a7e 100644
--- a/pkg/front_end/testcases/regress/issue_35259.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35259.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -33,21 +33,11 @@
 import "dart:core" as core;
 
 class Supertype extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  static factory •() → self::Supertype*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  static factory •() → self::Supertype
     return invalid-expression "pkg/front_end/testcases/regress/issue_35259.dart:6:25: Error: Redirection constructor target not found: 'Unresolved'
   factory Supertype() = Unresolved;
                         ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::print(invalid-expression "pkg/front_end/testcases/regress/issue_35259.dart:11:13: Error: Can't use 'Supertype' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_35259.dart.weak.modular.expect
index 6a366d0..80f4a7e 100644
--- a/pkg/front_end/testcases/regress/issue_35259.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_35259.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -33,21 +33,11 @@
 import "dart:core" as core;
 
 class Supertype extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  static factory •() → self::Supertype*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  static factory •() → self::Supertype
     return invalid-expression "pkg/front_end/testcases/regress/issue_35259.dart:6:25: Error: Redirection constructor target not found: 'Unresolved'
   factory Supertype() = Unresolved;
                         ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::print(invalid-expression "pkg/front_end/testcases/regress/issue_35259.dart:11:13: Error: Can't use 'Supertype' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_35259.dart.weak.outline.expect
index da1fe3e..bab0db5 100644
--- a/pkg/front_end/testcases/regress/issue_35259.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35259.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -29,21 +29,11 @@
 import "dart:core" as core;
 
 class Supertype extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[self::Supertype::•];
-  static factory •() → self::Supertype*
+  static final field dynamic _redirecting# = <dynamic>[self::Supertype::•]/*isLegacy*/;
+  static factory •() → self::Supertype
     return invalid-expression "pkg/front_end/testcases/regress/issue_35259.dart:6:25: Error: Redirection constructor target not found: 'Unresolved'
   factory Supertype() = Unresolved;
                         ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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_35259.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35259.dart.weak.transformed.expect
index 6a366d0..80f4a7e 100644
--- a/pkg/front_end/testcases/regress/issue_35259.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35259.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -33,21 +33,11 @@
 import "dart:core" as core;
 
 class Supertype extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  static factory •() → self::Supertype*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  static factory •() → self::Supertype
     return invalid-expression "pkg/front_end/testcases/regress/issue_35259.dart:6:25: Error: Redirection constructor target not found: 'Unresolved'
   factory Supertype() = Unresolved;
                         ^";
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::print(invalid-expression "pkg/front_end/testcases/regress/issue_35259.dart:11:13: Error: Can't use 'Supertype' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart b/pkg/front_end/testcases/regress/issue_35260.dart
index 16ef8d7..ab79fbe 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35260.dart.textual_outline.expect
index 2ec72a8..beaef36 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,4 +1,3 @@
-// @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 2ec72a8..beaef36 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,4 +1,3 @@
-// @dart = 2.9
 class Supertype {
   factory Supertype() = X;
   factory Supertype() = X;
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.weak.expect b/pkg/front_end/testcases/regress/issue_35260.dart.weak.expect
index 0b4828a..2e94f53 100644
--- a/pkg/front_end/testcases/regress/issue_35260.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35260.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,37 +17,17 @@
 import "dart:core" as core;
 
 class Supertype extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  static factory •() → self::Supertype*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  static factory •() → self::Supertype
     return new self::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 X extends core::Object implements self::Supertype {
-  constructor •() → self::X*
+  constructor •() → 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() → dynamic {
-  self::X* x = invalid-expression "pkg/front_end/testcases/regress/issue_35260.dart:15:13: Error: Can't use 'Supertype' because it is declared more than once.
+  self::X x = invalid-expression "pkg/front_end/testcases/regress/issue_35260.dart:15:13: Error: Can't use 'Supertype' because it is declared more than once.
   X x = new Supertype();
             ^";
 }
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_35260.dart.weak.modular.expect
index 0b4828a..2e94f53 100644
--- a/pkg/front_end/testcases/regress/issue_35260.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_35260.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,37 +17,17 @@
 import "dart:core" as core;
 
 class Supertype extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  static factory •() → self::Supertype*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  static factory •() → self::Supertype
     return new self::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 X extends core::Object implements self::Supertype {
-  constructor •() → self::X*
+  constructor •() → 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() → dynamic {
-  self::X* x = invalid-expression "pkg/front_end/testcases/regress/issue_35260.dart:15:13: Error: Can't use 'Supertype' because it is declared more than once.
+  self::X x = invalid-expression "pkg/front_end/testcases/regress/issue_35260.dart:15:13: Error: Can't use 'Supertype' because it is declared more than once.
   X x = new Supertype();
             ^";
 }
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_35260.dart.weak.outline.expect
index fd0802b..643d8a4 100644
--- a/pkg/front_end/testcases/regress/issue_35260.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35260.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -13,33 +13,13 @@
 import "dart:core" as core;
 
 class Supertype extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[self::Supertype::•];
-  static factory •() → self::Supertype*
+  static final field dynamic _redirecting# = <dynamic>[self::Supertype::•]/*isLegacy*/;
+  static factory •() → self::Supertype
     return new self::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 X extends core::Object implements self::Supertype {
-  constructor •() → self::X*
+  constructor •() → self::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/regress/issue_35260.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35260.dart.weak.transformed.expect
index 0b4828a..2e94f53 100644
--- a/pkg/front_end/testcases/regress/issue_35260.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35260.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,37 +17,17 @@
 import "dart:core" as core;
 
 class Supertype extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  static factory •() → self::Supertype*
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  static factory •() → self::Supertype
     return new self::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 X extends core::Object implements self::Supertype {
-  constructor •() → self::X*
+  constructor •() → 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() → dynamic {
-  self::X* x = invalid-expression "pkg/front_end/testcases/regress/issue_35260.dart:15:13: Error: Can't use 'Supertype' because it is declared more than once.
+  self::X x = invalid-expression "pkg/front_end/testcases/regress/issue_35260.dart:15:13: Error: Can't use 'Supertype' because it is declared more than once.
   X x = new Supertype();
             ^";
 }
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart b/pkg/front_end/testcases/regress/issue_35266.dart
index b87ca47..8564b50 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35266.dart.textual_outline.expect
index 92fdefa..1d6a7d0 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,4 +1,3 @@
-// @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 92fdefa..1d6a7d0 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/regress/issue_35266.dart.weak.expect
index 9885c52..aec335a 100644
--- a/pkg/front_end/testcases/regress/issue_35266.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35266.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -16,33 +16,23 @@
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends self::C<self::B::T*> {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::C<self::B::T%> {
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  constructor •() → self::B<self::B::T%>
     : super self::C::•()
     ;
-  static factory foo<T extends core::Object* = dynamic>() → self::B<self::B::foo::T*>*
-    return new self::B::•<self::B::foo::T*>();
+  static factory foo<T extends core::Object? = dynamic>() → self::B<self::B::foo::T%>
+    return new self::B::•<self::B::foo::T%>();
 }
-class C<K extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C2];
-  constructor •() → self::C<self::C::K*>*
+class C<K extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+  constructor •() → self::C<self::C::K%>
     : super core::Object::•()
     ;
-  static factory bar<K extends core::Object* = dynamic>() → self::C<self::C::bar::K*>*
+  static factory bar<K extends core::Object? = dynamic>() → self::C<self::C::bar::K%>
     return invalid-expression "pkg/front_end/testcases/regress/issue_35266.dart:13:21: Error: Can't use 'B.foo' because it is declared more than once.
   factory C.bar() = B<K>.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 main() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_35266.dart:13:21: Error: Can't use 'B.foo' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_35266.dart.weak.modular.expect
index 9885c52..aec335a 100644
--- a/pkg/front_end/testcases/regress/issue_35266.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_35266.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -16,33 +16,23 @@
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends self::C<self::B::T*> {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::C<self::B::T%> {
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  constructor •() → self::B<self::B::T%>
     : super self::C::•()
     ;
-  static factory foo<T extends core::Object* = dynamic>() → self::B<self::B::foo::T*>*
-    return new self::B::•<self::B::foo::T*>();
+  static factory foo<T extends core::Object? = dynamic>() → self::B<self::B::foo::T%>
+    return new self::B::•<self::B::foo::T%>();
 }
-class C<K extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C2];
-  constructor •() → self::C<self::C::K*>*
+class C<K extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+  constructor •() → self::C<self::C::K%>
     : super core::Object::•()
     ;
-  static factory bar<K extends core::Object* = dynamic>() → self::C<self::C::bar::K*>*
+  static factory bar<K extends core::Object? = dynamic>() → self::C<self::C::bar::K%>
     return invalid-expression "pkg/front_end/testcases/regress/issue_35266.dart:13:21: Error: Can't use 'B.foo' because it is declared more than once.
   factory C.bar() = B<K>.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 main() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_35266.dart:13:21: Error: Can't use 'B.foo' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_35266.dart.weak.outline.expect
index c71adb4..7397639 100644
--- a/pkg/front_end/testcases/regress/issue_35266.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35266.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -16,31 +16,21 @@
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends self::C<self::B::T*> {
-  static final field dynamic _redirecting# = <dynamic>[self::B::foo];
-  constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::C<self::B::T%> {
+  static final field dynamic _redirecting# = <dynamic>[self::B::foo]/*isLegacy*/;
+  constructor •() → self::B<self::B::T%>
     ;
-  static factory foo<T extends core::Object* = dynamic>() → self::B<self::B::foo::T*>*
-    return new self::B::•<self::B::foo::T*>();
+  static factory foo<T extends core::Object? = dynamic>() → self::B<self::B::foo::T%>
+    return new self::B::•<self::B::foo::T%>();
 }
-class C<K extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[self::C::bar];
-  constructor •() → self::C<self::C::K*>*
+class C<K extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[self::C::bar]/*isLegacy*/;
+  constructor •() → self::C<self::C::K%>
     ;
-  static factory bar<K extends core::Object* = dynamic>() → self::C<self::C::bar::K*>*
+  static factory bar<K extends core::Object? = dynamic>() → self::C<self::C::bar::K%>
     return invalid-expression "pkg/front_end/testcases/regress/issue_35266.dart:13:21: Error: Can't use 'B.foo' because it is declared more than once.
   factory C.bar() = B<K>.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 main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35266.dart.weak.transformed.expect
index 9885c52..aec335a 100644
--- a/pkg/front_end/testcases/regress/issue_35266.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35266.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -16,33 +16,23 @@
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends self::C<self::B::T*> {
-  static final field dynamic _redirecting# = <dynamic>[#C1];
-  constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::C<self::B::T%> {
+  static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+  constructor •() → self::B<self::B::T%>
     : super self::C::•()
     ;
-  static factory foo<T extends core::Object* = dynamic>() → self::B<self::B::foo::T*>*
-    return new self::B::•<self::B::foo::T*>();
+  static factory foo<T extends core::Object? = dynamic>() → self::B<self::B::foo::T%>
+    return new self::B::•<self::B::foo::T%>();
 }
-class C<K extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C2];
-  constructor •() → self::C<self::C::K*>*
+class C<K extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+  constructor •() → self::C<self::C::K%>
     : super core::Object::•()
     ;
-  static factory bar<K extends core::Object* = dynamic>() → self::C<self::C::bar::K*>*
+  static factory bar<K extends core::Object? = dynamic>() → self::C<self::C::bar::K%>
     return invalid-expression "pkg/front_end/testcases/regress/issue_35266.dart:13:21: Error: Can't use 'B.foo' because it is declared more than once.
   factory C.bar() = B<K>.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 main() → dynamic {
   invalid-expression "pkg/front_end/testcases/regress/issue_35266.dart:13:21: Error: Can't use 'B.foo' because it is declared more than once.
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart b/pkg/front_end/testcases/regress/issue_35900.dart
index f9b48dc..e03e5f5 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' '); }
+
+main () { int? x; print('${x' '); }
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart.weak.expect b/pkg/front_end/testcases/regress/issue_35900.dart.weak.expect
index c6fc9e6..6dd9a32 100644
--- a/pkg/front_end/testcases/regress/issue_35900.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35900.dart.weak.expect
@@ -1,29 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:25: Error: Can't find '}' to match '${'.
-// main () { int x; print('${x' '); }
-//                         ^
+// pkg/front_end/testcases/regress/issue_35900.dart:5:26: Error: Can't find '}' to match '${'.
+// main () { int? x; print('${x' '); }
+//                          ^
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:24: Error: String starting with ' must end with '.
-// main () { int x; print('${x' '); }
-//                        ^^^^^^^^^^^^...
+// pkg/front_end/testcases/regress/issue_35900.dart:5:25: Error: String starting with ' must end with '.
+// main () { int? x; print('${x' '); }
+//                         ^^^^^^^^^^^^...
 //
 // pkg/front_end/testcases/regress/issue_35900.dart:6:1: Error: Expected a declaration, but got ''.
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:28: Error: Expected '}' before this.
-// main () { int x; print('${x' '); }
-//                            ^^^
+// pkg/front_end/testcases/regress/issue_35900.dart:5:29: Error: Expected '}' before this.
+// main () { int? x; print('${x' '); }
+//                             ^^^
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:31: Error: Expected a String, but got ')'.
-// main () { int x; print('${x' '); }
-//                               ^
+// pkg/front_end/testcases/regress/issue_35900.dart:5:32: Error: Expected a String, but got ')'.
+// main () { int? x; print('${x' '); }
+//                                ^
 //
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::int* x;
+  core::int? x;
   core::print("${x}");
 }
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_35900.dart.weak.modular.expect
index c6fc9e6..6dd9a32 100644
--- a/pkg/front_end/testcases/regress/issue_35900.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_35900.dart.weak.modular.expect
@@ -1,29 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:25: Error: Can't find '}' to match '${'.
-// main () { int x; print('${x' '); }
-//                         ^
+// pkg/front_end/testcases/regress/issue_35900.dart:5:26: Error: Can't find '}' to match '${'.
+// main () { int? x; print('${x' '); }
+//                          ^
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:24: Error: String starting with ' must end with '.
-// main () { int x; print('${x' '); }
-//                        ^^^^^^^^^^^^...
+// pkg/front_end/testcases/regress/issue_35900.dart:5:25: Error: String starting with ' must end with '.
+// main () { int? x; print('${x' '); }
+//                         ^^^^^^^^^^^^...
 //
 // pkg/front_end/testcases/regress/issue_35900.dart:6:1: Error: Expected a declaration, but got ''.
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:28: Error: Expected '}' before this.
-// main () { int x; print('${x' '); }
-//                            ^^^
+// pkg/front_end/testcases/regress/issue_35900.dart:5:29: Error: Expected '}' before this.
+// main () { int? x; print('${x' '); }
+//                             ^^^
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:31: Error: Expected a String, but got ')'.
-// main () { int x; print('${x' '); }
-//                               ^
+// pkg/front_end/testcases/regress/issue_35900.dart:5:32: Error: Expected a String, but got ')'.
+// main () { int? x; print('${x' '); }
+//                                ^
 //
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::int* x;
+  core::int? x;
   core::print("${x}");
 }
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_35900.dart.weak.outline.expect
index da0b63f..69520d4 100644
--- a/pkg/front_end/testcases/regress/issue_35900.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35900.dart.weak.outline.expect
@@ -1,14 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:25: Error: Can't find '}' to match '${'.
-// main () { int x; print('${x' '); }
-//                         ^
+// pkg/front_end/testcases/regress/issue_35900.dart:5:26: Error: Can't find '}' to match '${'.
+// main () { int? x; print('${x' '); }
+//                          ^
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:24: Error: String starting with ' must end with '.
-// main () { int x; print('${x' '); }
-//                        ^^^^^^^^^^^^...
+// pkg/front_end/testcases/regress/issue_35900.dart:5:25: Error: String starting with ' must end with '.
+// main () { int? x; print('${x' '); }
+//                         ^^^^^^^^^^^^...
 //
 // pkg/front_end/testcases/regress/issue_35900.dart:6:1: Error: Expected a declaration, but got ''.
 //
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35900.dart.weak.transformed.expect
index c6fc9e6..6dd9a32 100644
--- a/pkg/front_end/testcases/regress/issue_35900.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35900.dart.weak.transformed.expect
@@ -1,29 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:25: Error: Can't find '}' to match '${'.
-// main () { int x; print('${x' '); }
-//                         ^
+// pkg/front_end/testcases/regress/issue_35900.dart:5:26: Error: Can't find '}' to match '${'.
+// main () { int? x; print('${x' '); }
+//                          ^
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:24: Error: String starting with ' must end with '.
-// main () { int x; print('${x' '); }
-//                        ^^^^^^^^^^^^...
+// pkg/front_end/testcases/regress/issue_35900.dart:5:25: Error: String starting with ' must end with '.
+// main () { int? x; print('${x' '); }
+//                         ^^^^^^^^^^^^...
 //
 // pkg/front_end/testcases/regress/issue_35900.dart:6:1: Error: Expected a declaration, but got ''.
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:28: Error: Expected '}' before this.
-// main () { int x; print('${x' '); }
-//                            ^^^
+// pkg/front_end/testcases/regress/issue_35900.dart:5:29: Error: Expected '}' before this.
+// main () { int? x; print('${x' '); }
+//                             ^^^
 //
-// pkg/front_end/testcases/regress/issue_35900.dart:5:31: Error: Expected a String, but got ')'.
-// main () { int x; print('${x' '); }
-//                               ^
+// pkg/front_end/testcases/regress/issue_35900.dart:5:32: Error: Expected a String, but got ')'.
+// main () { int? x; print('${x' '); }
+//                                ^
 //
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::int* x;
+  core::int? x;
   core::print("${x}");
 }
diff --git a/pkg/front_end/testcases/regress/issue_36400.dart b/pkg/front_end/testcases/regress/issue_36400.dart
index dea6e4e..4e9455f 100644
--- a/pkg/front_end/testcases/regress/issue_36400.dart
+++ b/pkg/front_end/testcases/regress/issue_36400.dart
@@ -1,10 +1,10 @@
 // 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;
+    throw '';
   }
 }
 
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 a33d244..a6cca15 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,4 +1,3 @@
-// @dart = 2.9
 class Test {
   Test factory Test() {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_36400.dart.weak.expect b/pkg/front_end/testcases/regress/issue_36400.dart.weak.expect
index 3b5a369..4c11e13 100644
--- a/pkg/front_end/testcases/regress/issue_36400.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_36400.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,17 +11,7 @@
 import "dart:core" as core;
 
 class Test extends core::Object {
-  static factory •() → self::Test* {
-    return null;
+  static factory •() → self::Test {
+    throw "";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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/regress/issue_36400.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_36400.dart.weak.modular.expect
index 3b5a369..4c11e13 100644
--- a/pkg/front_end/testcases/regress/issue_36400.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_36400.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,17 +11,7 @@
 import "dart:core" as core;
 
 class Test extends core::Object {
-  static factory •() → self::Test* {
-    return null;
+  static factory •() → self::Test {
+    throw "";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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/regress/issue_36400.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_36400.dart.weak.outline.expect
index c49ae0d..7ac028f 100644
--- a/pkg/front_end/testcases/regress/issue_36400.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_36400.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,16 +11,6 @@
 import "dart:core" as core;
 
 class Test extends core::Object {
-  static factory •() → self::Test*
+  static factory •() → self::Test
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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/regress/issue_36400.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_36400.dart.weak.transformed.expect
index 3b5a369..4c11e13 100644
--- a/pkg/front_end/testcases/regress/issue_36400.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_36400.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,17 +11,7 @@
 import "dart:core" as core;
 
 class Test extends core::Object {
-  static factory •() → self::Test* {
-    return null;
+  static factory •() → self::Test {
+    throw "";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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/regress/issue_36647.dart b/pkg/front_end/testcases/regress/issue_36647.dart
index 72babce..3fcff27 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_36647.dart.textual_outline.expect
index ac80ab7..489c840 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,2 +1 @@
-// @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 ac80ab7..489c840 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,2 +1 @@
-// @dart = 2.9
 import 'issue_36647_lib1.dart';
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.weak.expect b/pkg/front_end/testcases/regress/issue_36647.dart.weak.expect
index 85c932b..457856a 100644
--- a/pkg/front_end/testcases/regress/issue_36647.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_36647.dart.weak.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///issue_36647_lib1.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "issue_36647_lib2.dart" as iss;
 additionalExports = (iss::xxx,
@@ -16,7 +16,7 @@
 export "org-dartlang-testcase:///issue_36647_lib2.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -67,19 +67,9 @@
 import "dart:core" as core;
 
 class xxx extends core::Object {
-  synthetic constructor •() → iss::xxx*
+  synthetic constructor •() → iss::xxx
     : 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 invalid-type XXX;
 static field dynamic extends;
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_36647.dart.weak.modular.expect
index 85c932b..457856a 100644
--- a/pkg/front_end/testcases/regress/issue_36647.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_36647.dart.weak.modular.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///issue_36647_lib1.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "issue_36647_lib2.dart" as iss;
 additionalExports = (iss::xxx,
@@ -16,7 +16,7 @@
 export "org-dartlang-testcase:///issue_36647_lib2.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -67,19 +67,9 @@
 import "dart:core" as core;
 
 class xxx extends core::Object {
-  synthetic constructor •() → iss::xxx*
+  synthetic constructor •() → iss::xxx
     : 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 invalid-type XXX;
 static field dynamic extends;
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_36647.dart.weak.outline.expect
index 9ece05e..18d18f1 100644
--- a/pkg/front_end/testcases/regress/issue_36647.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_36647.dart.weak.outline.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///issue_36647_lib1.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "issue_36647_lib2.dart" as iss;
 additionalExports = (iss::xxx,
@@ -16,7 +16,7 @@
 export "org-dartlang-testcase:///issue_36647_lib2.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -63,18 +63,8 @@
 import "dart:core" as core;
 
 class xxx extends core::Object {
-  synthetic constructor •() → iss::xxx*
+  synthetic constructor •() → iss::xxx
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 invalid-type XXX;
 static field dynamic extends;
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_36647.dart.weak.transformed.expect
index 85c932b..457856a 100644
--- a/pkg/front_end/testcases/regress/issue_36647.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_36647.dart.weak.transformed.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///issue_36647_lib1.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "issue_36647_lib2.dart" as iss;
 additionalExports = (iss::xxx,
@@ -16,7 +16,7 @@
 export "org-dartlang-testcase:///issue_36647_lib2.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -67,19 +67,9 @@
 import "dart:core" as core;
 
 class xxx extends core::Object {
-  synthetic constructor •() → iss::xxx*
+  synthetic constructor •() → iss::xxx
     : 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 invalid-type XXX;
 static field dynamic extends;
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart b/pkg/front_end/testcases/regress/issue_36647_2.dart
index 7b521e8..4096e59 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 a071c84..f3a511c 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,2 +1 @@
-// @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 a071c84..f3a511c 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,2 +1 @@
-// @dart = 2.9
 export 'issue_36647_2_lib1.dart';
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.expect
index 79c30c6..94480a3 100644
--- a/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "issue_36647_2_lib1.dart" as iss;
 additionalExports = (iss::foo,
@@ -9,7 +9,7 @@
 export "org-dartlang-testcase:///issue_36647_2_lib1.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -37,8 +37,8 @@
 import self as iss;
 import "dart:core" as core;
 
-typedef bar = () →* core::bool*;
-static field core::int* foo;
-static method baz() → core::int* {
+typedef bar = () → core::bool;
+static field core::int foo;
+static method baz() → core::int {
   return 42;
 }
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.modular.expect
index 79c30c6..94480a3 100644
--- a/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "issue_36647_2_lib1.dart" as iss;
 additionalExports = (iss::foo,
@@ -9,7 +9,7 @@
 export "org-dartlang-testcase:///issue_36647_2_lib1.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -37,8 +37,8 @@
 import self as iss;
 import "dart:core" as core;
 
-typedef bar = () →* core::bool*;
-static field core::int* foo;
-static method baz() → core::int* {
+typedef bar = () → core::bool;
+static field core::int foo;
+static method baz() → core::int {
   return 42;
 }
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.outline.expect
index e7ebe11..edf4524 100644
--- a/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "issue_36647_2_lib1.dart" as iss;
 additionalExports = (iss::foo,
@@ -9,7 +9,7 @@
 export "org-dartlang-testcase:///issue_36647_2_lib1.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -37,7 +37,7 @@
 import self as iss;
 import "dart:core" as core;
 
-typedef bar = () →* core::bool*;
-static field core::int* foo;
-static method baz() → core::int*
+typedef bar = () → core::bool;
+static field core::int foo;
+static method baz() → core::int
   ;
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.transformed.expect
index 79c30c6..94480a3 100644
--- a/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "issue_36647_2_lib1.dart" as iss;
 additionalExports = (iss::foo,
@@ -9,7 +9,7 @@
 export "org-dartlang-testcase:///issue_36647_2_lib1.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -37,8 +37,8 @@
 import self as iss;
 import "dart:core" as core;
 
-typedef bar = () →* core::bool*;
-static field core::int* foo;
-static method baz() → core::int* {
+typedef bar = () → core::bool;
+static field core::int foo;
+static method baz() → core::int {
   return 42;
 }
diff --git a/pkg/front_end/testcases/regress/issue_36647_2_lib1.dart b/pkg/front_end/testcases/regress/issue_36647_2_lib1.dart
index 83b7e44..b2d8d4b 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 5572e1c..4aef191 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 0cbc933..3960141 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 64295d2..1de6055 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 NoUnnamedConstructor {
   NoUnnamedConstructor._();
 }
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 04ff88d..0dab00a 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,4 +1,3 @@
-// @dart = 2.9
 class NoUnnamedConstructor {
   NoUnnamedConstructor._();
 }
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 6fa6b0d..ea59ead 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,4 +1,3 @@
-// @dart = 2.9
 class Foo extends NoUnnamedConstructor with MixMeIn {}
 
 class MixMeIn {}
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.weak.expect b/pkg/front_end/testcases/regress/issue_36669.dart.weak.expect
index 2eec808..1886d36 100644
--- a/pkg/front_end/testcases/regress/issue_36669.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_36669.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,42 +10,22 @@
 import "dart:core" as core;
 
 class NoUnnamedConstructor extends core::Object {
-  constructor _() → self::NoUnnamedConstructor*
+  constructor _() → self::NoUnnamedConstructor
     : 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 MixMeIn extends core::Object {
-  synthetic constructor •() → self::MixMeIn*
+  synthetic constructor •() → self::MixMeIn
     : 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 _Foo&NoUnnamedConstructor&MixMeIn = self::NoUnnamedConstructor with self::MixMeIn /*isAnonymousMixin*/  {
-  synthetic constructor _() → self::_Foo&NoUnnamedConstructor&MixMeIn*
+  synthetic constructor _() → self::_Foo&NoUnnamedConstructor&MixMeIn
     : super self::NoUnnamedConstructor::_()
     ;
 }
 class Foo extends self::_Foo&NoUnnamedConstructor&MixMeIn {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     : invalid-initializer
     ;
 }
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_36669.dart.weak.modular.expect
index 2eec808..1886d36 100644
--- a/pkg/front_end/testcases/regress/issue_36669.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_36669.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,42 +10,22 @@
 import "dart:core" as core;
 
 class NoUnnamedConstructor extends core::Object {
-  constructor _() → self::NoUnnamedConstructor*
+  constructor _() → self::NoUnnamedConstructor
     : 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 MixMeIn extends core::Object {
-  synthetic constructor •() → self::MixMeIn*
+  synthetic constructor •() → self::MixMeIn
     : 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 _Foo&NoUnnamedConstructor&MixMeIn = self::NoUnnamedConstructor with self::MixMeIn /*isAnonymousMixin*/  {
-  synthetic constructor _() → self::_Foo&NoUnnamedConstructor&MixMeIn*
+  synthetic constructor _() → self::_Foo&NoUnnamedConstructor&MixMeIn
     : super self::NoUnnamedConstructor::_()
     ;
 }
 class Foo extends self::_Foo&NoUnnamedConstructor&MixMeIn {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     : invalid-initializer
     ;
 }
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_36669.dart.weak.outline.expect
index 2799c79..b335607 100644
--- a/pkg/front_end/testcases/regress/issue_36669.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_36669.dart.weak.outline.expect
@@ -1,41 +1,21 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class NoUnnamedConstructor extends core::Object {
-  constructor _() → self::NoUnnamedConstructor*
+  constructor _() → self::NoUnnamedConstructor
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class MixMeIn extends core::Object {
-  synthetic constructor •() → self::MixMeIn*
+  synthetic constructor •() → self::MixMeIn
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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&NoUnnamedConstructor&MixMeIn = self::NoUnnamedConstructor with self::MixMeIn /*isAnonymousMixin*/  {
-  synthetic constructor _() → self::_Foo&NoUnnamedConstructor&MixMeIn*
+  synthetic constructor _() → self::_Foo&NoUnnamedConstructor&MixMeIn
     : super self::NoUnnamedConstructor::_()
     ;
 }
 class Foo extends self::_Foo&NoUnnamedConstructor&MixMeIn {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     ;
 }
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_36669.dart.weak.transformed.expect
index b37611c..1fb6d3a 100644
--- a/pkg/front_end/testcases/regress/issue_36669.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_36669.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -10,42 +10,22 @@
 import "dart:core" as core;
 
 class NoUnnamedConstructor extends core::Object {
-  constructor _() → self::NoUnnamedConstructor*
+  constructor _() → self::NoUnnamedConstructor
     : 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 MixMeIn extends core::Object {
-  synthetic constructor •() → self::MixMeIn*
+  synthetic constructor •() → self::MixMeIn
     : 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 _Foo&NoUnnamedConstructor&MixMeIn extends self::NoUnnamedConstructor implements self::MixMeIn /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor _() → self::_Foo&NoUnnamedConstructor&MixMeIn*
+  synthetic constructor _() → self::_Foo&NoUnnamedConstructor&MixMeIn
     : super self::NoUnnamedConstructor::_()
     ;
 }
 class Foo extends self::_Foo&NoUnnamedConstructor&MixMeIn {
-  synthetic constructor •() → self::Foo*
+  synthetic constructor •() → self::Foo
     : invalid-initializer
     ;
 }
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart b/pkg/front_end/testcases/regress/issue_36793.dart
index e5a48a0..1601a23 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 6e9cb4c..b3d1993 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,4 +1,3 @@
-// @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 6e9cb4c..b3d1993 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,4 +1,3 @@
-// @dart = 2.9
 const int y = 42;
 @y
 int x = 1;
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.weak.expect b/pkg/front_end/testcases/regress/issue_36793.dart.weak.expect
index ac733f1..4cb7705 100644
--- a/pkg/front_end/testcases/regress/issue_36793.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_36793.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,9 +12,9 @@
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* y = #C1;
+static const field core::int y = #C1;
 @#C1
-static field core::int* x;
+static field core::int x;
 static method main() → dynamic {
   core::print(#C1);
 }
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_36793.dart.weak.modular.expect
index ac733f1..4cb7705 100644
--- a/pkg/front_end/testcases/regress/issue_36793.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_36793.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,9 +12,9 @@
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* y = #C1;
+static const field core::int y = #C1;
 @#C1
-static field core::int* x;
+static field core::int x;
 static method main() → dynamic {
   core::print(#C1);
 }
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_36793.dart.weak.outline.expect
index 8436fb3..307b5e7 100644
--- a/pkg/front_end/testcases/regress/issue_36793.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_36793.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,9 +12,9 @@
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* y = 42;
+static const field core::int y = 42;
 @self::y
-static field core::int* x;
+static field core::int x;
 static method main() → dynamic
   ;
 
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_36793.dart.weak.transformed.expect
index ac733f1..4cb7705 100644
--- a/pkg/front_end/testcases/regress/issue_36793.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_36793.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,9 +12,9 @@
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* y = #C1;
+static const field core::int y = #C1;
 @#C1
-static field core::int* x;
+static field core::int x;
 static method main() → dynamic {
   core::print(#C1);
 }
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart b/pkg/front_end/testcases/regress/issue_37285.dart
index 08673f3..6b5857d 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_37285.dart.textual_outline.expect
index ff7918c..f2ce432 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,4 +1,3 @@
-// @dart = 2.9
 class C {
   C() : super()[];
 }
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.weak.expect b/pkg/front_end/testcases/regress/issue_37285.dart.weak.expect
index 84ceeef..a7c7118 100644
--- a/pkg/front_end/testcases/regress/issue_37285.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_37285.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -21,22 +21,12 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  constructor •() → self::C*
+  constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_37285.dart:6:16: Error: Not a valid initializer.
 To initialize a field, use the syntax 'name = value'.
   C() : super()[];
                ^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_37285.dart.weak.modular.expect
index 84ceeef..a7c7118 100644
--- a/pkg/front_end/testcases/regress/issue_37285.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_37285.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -21,22 +21,12 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  constructor •() → self::C*
+  constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_37285.dart:6:16: Error: Not a valid initializer.
 To initialize a field, use the syntax 'name = value'.
   C() : super()[];
                ^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_37285.dart.weak.outline.expect
index ffc4431..cceb0f2 100644
--- a/pkg/front_end/testcases/regress/issue_37285.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_37285.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,18 +11,8 @@
 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_37285.dart.weak.transformed.expect
index 84ceeef..a7c7118 100644
--- a/pkg/front_end/testcases/regress/issue_37285.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_37285.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -21,22 +21,12 @@
 import "dart:core" as core;
 
 class C extends core::Object {
-  constructor •() → self::C*
+  constructor •() → self::C
     : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_37285.dart:6:16: Error: Not a valid initializer.
 To initialize a field, use the syntax 'name = value'.
   C() : super()[];
                ^"
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart b/pkg/front_end/testcases/regress/issue_37681.dart
index c8cca5e..ca0cd8b 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 ff8d120..386f405 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,2 +1 @@
-// @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 ff8d120..386f405 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,2 +1 @@
-// @dart = 2.9
 main() async {}
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.weak.expect b/pkg/front_end/testcases/regress/issue_37681.dart.weak.expect
index 668dece..969857e 100644
--- a/pkg/front_end/testcases/regress/issue_37681.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_37681.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -19,20 +19,20 @@
 import "dart:async" as asy;
 
 static method main() → dynamic async /* futureValueType= dynamic */ {
-  function f_async() → core::int* async /* futureValueType= core::int* */ {
+  function f_async() → core::int async /* futureValueType= core::Object? */ {
     return 42;
   }
-  core::print(await f_async(){() →* core::int*});
-  function f_async_star() → core::int* async* {
+  core::print(await f_async(){() → core::int});
+  function f_async_star() → core::int async* {
     yield 42;
   }
-  await for (dynamic x in (f_async_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} asy::Stream<dynamic>*) {
+  await for (dynamic x in (f_async_star(){() → core::int} as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>) {
     core::print(x);
   }
-  function f_sync_star() → core::int* sync* {
+  function f_sync_star() → core::int sync* {
     yield 42;
   }
-  for (dynamic x in (f_sync_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+  for (dynamic x in (f_sync_star(){() → core::int} as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
     core::print(x);
   }
 }
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_37681.dart.weak.modular.expect
index 668dece..969857e 100644
--- a/pkg/front_end/testcases/regress/issue_37681.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_37681.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -19,20 +19,20 @@
 import "dart:async" as asy;
 
 static method main() → dynamic async /* futureValueType= dynamic */ {
-  function f_async() → core::int* async /* futureValueType= core::int* */ {
+  function f_async() → core::int async /* futureValueType= core::Object? */ {
     return 42;
   }
-  core::print(await f_async(){() →* core::int*});
-  function f_async_star() → core::int* async* {
+  core::print(await f_async(){() → core::int});
+  function f_async_star() → core::int async* {
     yield 42;
   }
-  await for (dynamic x in (f_async_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} asy::Stream<dynamic>*) {
+  await for (dynamic x in (f_async_star(){() → core::int} as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>) {
     core::print(x);
   }
-  function f_sync_star() → core::int* sync* {
+  function f_sync_star() → core::int sync* {
     yield 42;
   }
-  for (dynamic x in (f_sync_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+  for (dynamic x in (f_sync_star(){() → core::int} as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
     core::print(x);
   }
 }
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_37681.dart.weak.outline.expect
index b3304ef..074fe5d 100644
--- a/pkg/front_end/testcases/regress/issue_37681.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_37681.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic async 
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
index 9edac46..3e8045c 100644
--- a/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -20,12 +20,12 @@
 import "dart:_internal" as _in;
 
 static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
-  final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+  final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
   core::bool* :is_sync = false;
   dynamic :return_value;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :await_jump_var = 0;
+  (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;
@@ -35,13 +35,13 @@
     try {
       #L1:
       {
-        function f_async() → core::int* /* futureValueType= core::int* */ /* originally async */ {
-          final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+        function f_async() → core::int /* futureValueType= core::Object? */ /* originally async */ {
+          final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
           core::bool* :is_sync = false;
           dynamic :return_value;
-          (dynamic) →* dynamic :async_op_then;
-          (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-          core::int* :await_jump_var = 0;
+          (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_or_exception, dynamic :stack_trace) → dynamic yielding 
             try {
@@ -53,23 +53,23 @@
               asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
               return;
             }
-            on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+            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(null, null){() →* dynamic};
+          :async_op(null, null){() → dynamic};
           :is_sync = true;
           return :async_future;
         }
-        [yield] let dynamic #t1 = asy::_awaitHelper(f_async(){() →* core::int*}, :async_op_then, :async_op_error) in null;
-        core::print(_in::unsafeCast<core::int*>(:result_or_exception));
-        function f_async_star() → core::int* /* originally async* */ {
-          asy::_AsyncStarStreamController<dynamic>* :controller;
+        [yield] let dynamic #t1 = asy::_awaitHelper(f_async(){() → core::int}, :async_op_then, :async_op_error) in null;
+        core::print(_in::unsafeCast<core::int>(:result_or_exception));
+        function f_async_star() → core::int /* originally async* */ {
+          asy::_AsyncStarStreamController<dynamic>? :controller;
           dynamic :controller_stream;
-          (dynamic) →* dynamic :async_op_then;
-          (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-          core::int* :await_jump_var = 0;
+          (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;
@@ -85,7 +85,7 @@
                 }
                 return;
               }
-              on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+              on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
                 :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
               }
             finally {
@@ -98,8 +98,8 @@
           return :controller_stream;
         }
         {
-          asy::Stream<dynamic>* :stream = (f_async_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} asy::Stream<dynamic>*;
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
+          asy::Stream<dynamic> :stream = (f_async_star(){() → core::int} as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>;
+          asy::_StreamIterator<dynamic>? :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
           try
             #L4:
             while (true) {
@@ -120,11 +120,11 @@
               :result_or_exception;
             }
         }
-        function f_sync_star() → core::int* /* originally sync* */ {
-          function :sync_op_gen() → (core::_SyncIterator<dynamic>*, dynamic, dynamic) →* core::bool* {
-            core::int* :await_jump_var = 0;
+        function f_sync_star() → core::int /* originally sync* */ {
+          function :sync_op_gen() → (core::_SyncIterator<dynamic>?, dynamic, dynamic) → core::bool* {
+            core::int :await_jump_var = 0;
             dynamic :await_ctx_var;
-            function :sync_op(core::_SyncIterator<dynamic>* :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
+            function :sync_op(core::_SyncIterator<dynamic>? :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
               {
                 {
                   :iterator.{core::_SyncIterator::_current} = 42;
@@ -138,7 +138,7 @@
           return new core::_SyncIterable::•<dynamic>(:sync_op_gen);
         }
         {
-          core::Iterator<dynamic>* :sync-for-iterator = ((f_sync_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+          core::Iterator<dynamic> :sync-for-iterator = ((f_sync_star(){() → core::int} as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
           for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
             dynamic x = :sync-for-iterator.{core::Iterator::current}{dynamic};
             {
@@ -150,12 +150,12 @@
       asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
       return;
     }
-    on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+    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(null, null){() →* dynamic};
+  :async_op(null, null){() → dynamic};
   :is_sync = true;
   return :async_future;
 }
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart b/pkg/front_end/testcases/regress/issue_39040.dart
index 4cb5870..0232245 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 864efbe..ab73b3a 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,2 +1 @@
-// @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 864efbe..ab73b3a 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,2 +1 @@
-// @dart = 2.9
 void main() {}
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.weak.expect b/pkg/front_end/testcases/regress/issue_39040.dart.weak.expect
index ade6db2..97e5537 100644
--- a/pkg/front_end/testcases/regress/issue_39040.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_39040.dart.weak.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → void {
-  core::List<core::String*>* whereWasI = <core::String*>[];
-  core::int* outer = 1;
-  core::int* inner = 0;
+  core::List<core::String> whereWasI = <core::String>[];
+  core::int outer = 1;
+  core::int inner = 0;
   #L1:
   switch(outer) {
     #L2:
     case #C1:
       {
-        whereWasI.{core::List::add}("outer 0"){(core::String*) →* void};
+        whereWasI.{core::List::add}("outer 0"){(core::String) → void};
         break #L1;
       }
     #L3:
@@ -22,19 +22,19 @@
             #L4:
             case #C1:
               {
-                whereWasI.{core::List::add}("inner 0"){(core::String*) →* void};
+                whereWasI.{core::List::add}("inner 0"){(core::String) → void};
                 continue #L5;
               }
             #L5:
             case #C2:
               {
-                whereWasI.{core::List::add}("inner 1"){(core::String*) →* void};
+                whereWasI.{core::List::add}("inner 1"){(core::String) → void};
               }
           }
-        })(){() →* Null};
+        })(){() → Null};
       }
   }
-  if(!(whereWasI.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2) || !(whereWasI.{core::List::[]}(0){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "inner 0") || !(whereWasI.{core::List::[]}(1){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "inner 1")) {
+  if(!(whereWasI.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} 2) || !(whereWasI.{core::List::[]}(0){(core::int) → core::String} =={core::String::==}{(core::Object) → core::bool} "inner 0") || !(whereWasI.{core::List::[]}(1){(core::int) → core::String} =={core::String::==}{(core::Object) → core::bool} "inner 1")) {
     throw "Unexpected path.";
   }
   core::print(whereWasI);
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_39040.dart.weak.modular.expect
index ade6db2..97e5537 100644
--- a/pkg/front_end/testcases/regress/issue_39040.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_39040.dart.weak.modular.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → void {
-  core::List<core::String*>* whereWasI = <core::String*>[];
-  core::int* outer = 1;
-  core::int* inner = 0;
+  core::List<core::String> whereWasI = <core::String>[];
+  core::int outer = 1;
+  core::int inner = 0;
   #L1:
   switch(outer) {
     #L2:
     case #C1:
       {
-        whereWasI.{core::List::add}("outer 0"){(core::String*) →* void};
+        whereWasI.{core::List::add}("outer 0"){(core::String) → void};
         break #L1;
       }
     #L3:
@@ -22,19 +22,19 @@
             #L4:
             case #C1:
               {
-                whereWasI.{core::List::add}("inner 0"){(core::String*) →* void};
+                whereWasI.{core::List::add}("inner 0"){(core::String) → void};
                 continue #L5;
               }
             #L5:
             case #C2:
               {
-                whereWasI.{core::List::add}("inner 1"){(core::String*) →* void};
+                whereWasI.{core::List::add}("inner 1"){(core::String) → void};
               }
           }
-        })(){() →* Null};
+        })(){() → Null};
       }
   }
-  if(!(whereWasI.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2) || !(whereWasI.{core::List::[]}(0){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "inner 0") || !(whereWasI.{core::List::[]}(1){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "inner 1")) {
+  if(!(whereWasI.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} 2) || !(whereWasI.{core::List::[]}(0){(core::int) → core::String} =={core::String::==}{(core::Object) → core::bool} "inner 0") || !(whereWasI.{core::List::[]}(1){(core::int) → core::String} =={core::String::==}{(core::Object) → core::bool} "inner 1")) {
     throw "Unexpected path.";
   }
   core::print(whereWasI);
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_39040.dart.weak.outline.expect
index 2982c48..684454e 100644
--- a/pkg/front_end/testcases/regress/issue_39040.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_39040.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → void
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_39040.dart.weak.transformed.expect
index 86da00b..41c539c 100644
--- a/pkg/front_end/testcases/regress/issue_39040.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_39040.dart.weak.transformed.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → void {
-  core::List<core::String*>* whereWasI = core::_GrowableList::•<core::String*>(0);
-  core::int* outer = 1;
-  core::int* inner = 0;
+  core::List<core::String> whereWasI = core::_GrowableList::•<core::String>(0);
+  core::int outer = 1;
+  core::int inner = 0;
   #L1:
   switch(outer) {
     #L2:
     case #C1:
       {
-        whereWasI.{core::List::add}("outer 0"){(core::String*) →* void};
+        whereWasI.{core::List::add}("outer 0"){(core::String) → void};
         break #L1;
       }
     #L3:
@@ -22,19 +22,19 @@
             #L4:
             case #C1:
               {
-                whereWasI.{core::List::add}("inner 0"){(core::String*) →* void};
+                whereWasI.{core::List::add}("inner 0"){(core::String) → void};
                 continue #L5;
               }
             #L5:
             case #C2:
               {
-                whereWasI.{core::List::add}("inner 1"){(core::String*) →* void};
+                whereWasI.{core::List::add}("inner 1"){(core::String) → void};
               }
           }
-        })(){() →* Null};
+        })(){() → Null};
       }
   }
-  if(!(whereWasI.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2) || !(whereWasI.{core::List::[]}(0){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "inner 0") || !(whereWasI.{core::List::[]}(1){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "inner 1")) {
+  if(!(whereWasI.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} 2) || !(whereWasI.{core::List::[]}(0){(core::int) → core::String} =={core::String::==}{(core::Object) → core::bool} "inner 0") || !(whereWasI.{core::List::[]}(1){(core::int) → core::String} =={core::String::==}{(core::Object) → core::bool} "inner 1")) {
     throw "Unexpected path.";
   }
   core::print(whereWasI);
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart b/pkg/front_end/testcases/regress/issue_39091_1.dart
index 2a15740..00a65ee 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
 // for details. All rights 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.textual_outline.expect b/pkg/front_end/testcases/regress/issue_39091_1.dart.textual_outline.expect
index 6f45439..943e3f5 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,2 +1 @@
-// @dart = 2.9
 hello;
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.expect b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.expect
index c414477..a3950aa 100644
--- a/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.modular.expect
index c414477..a3950aa 100644
--- a/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.outline.expect
index c414477..a3950aa 100644
--- a/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.transformed.expect
index c414477..a3950aa 100644
--- a/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/regress/issue_39091_2.dart b/pkg/front_end/testcases/regress/issue_39091_2.dart
index f401961..437ef6e 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
 // for details. All rights 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_39682.dart b/pkg/front_end/testcases/regress/issue_39682.dart
index 63edd14..117d0d4 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 e7a1ec4..1d2a6fb 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,4 +1,3 @@
-// @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 4ab8bb5..ea21c2f 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/regress/issue_39682.dart.weak.expect
index 9866587..6102c74 100644
--- a/pkg/front_end/testcases/regress/issue_39682.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_39682.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:async" as asy;
 import "dart:core" as core;
@@ -6,17 +6,17 @@
 import "org-dartlang-testcase:///issue_39682_lib.dart" deferred as foo;
 
 static method main() → dynamic {
-  () →* asy::Future<dynamic>* f = #C1;
-  f(){() →* asy::Future<dynamic>*};
+  () → asy::Future<dynamic> f = #C1;
+  f(){() → asy::Future<dynamic>};
   core::print(self::__loadLibrary_foo());
 }
-static method __loadLibrary_foo() → core::String* {
+static method __loadLibrary_foo() → core::String {
   return "I'll call my methods what I want!";
 }
-static method _#loadLibrary_foo() → asy::Future<dynamic>*
+static method _#loadLibrary_foo() → asy::Future<dynamic>
   return LoadLibrary(foo);
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_39682.dart.weak.modular.expect
index 9866587..6102c74 100644
--- a/pkg/front_end/testcases/regress/issue_39682.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_39682.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:async" as asy;
 import "dart:core" as core;
@@ -6,17 +6,17 @@
 import "org-dartlang-testcase:///issue_39682_lib.dart" deferred as foo;
 
 static method main() → dynamic {
-  () →* asy::Future<dynamic>* f = #C1;
-  f(){() →* asy::Future<dynamic>*};
+  () → asy::Future<dynamic> f = #C1;
+  f(){() → asy::Future<dynamic>};
   core::print(self::__loadLibrary_foo());
 }
-static method __loadLibrary_foo() → core::String* {
+static method __loadLibrary_foo() → core::String {
   return "I'll call my methods what I want!";
 }
-static method _#loadLibrary_foo() → asy::Future<dynamic>*
+static method _#loadLibrary_foo() → asy::Future<dynamic>
   return LoadLibrary(foo);
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_39682.dart.weak.outline.expect
index bd418bb..4776c67 100644
--- a/pkg/front_end/testcases/regress/issue_39682.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_39682.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
@@ -6,10 +6,10 @@
 
 static method main() → dynamic
   ;
-static method __loadLibrary_foo() → core::String*
+static method __loadLibrary_foo() → core::String
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 
 static method foo() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_39682.dart.weak.transformed.expect
index 9866587..6102c74 100644
--- a/pkg/front_end/testcases/regress/issue_39682.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_39682.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:async" as asy;
 import "dart:core" as core;
@@ -6,17 +6,17 @@
 import "org-dartlang-testcase:///issue_39682_lib.dart" deferred as foo;
 
 static method main() → dynamic {
-  () →* asy::Future<dynamic>* f = #C1;
-  f(){() →* asy::Future<dynamic>*};
+  () → asy::Future<dynamic> f = #C1;
+  f(){() → asy::Future<dynamic>};
   core::print(self::__loadLibrary_foo());
 }
-static method __loadLibrary_foo() → core::String* {
+static method __loadLibrary_foo() → core::String {
   return "I'll call my methods what I want!";
 }
-static method _#loadLibrary_foo() → asy::Future<dynamic>*
+static method _#loadLibrary_foo() → asy::Future<dynamic>
   return LoadLibrary(foo);
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/regress/issue_39682_lib.dart b/pkg/front_end/testcases/regress/issue_39682_lib.dart
index 721f173..7a16b65 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_42423.dart b/pkg/front_end/testcases/regress/issue_42423.dart
index 3d58bc3..094bb14 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 ac29037..f8a2a21 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,4 +1,3 @@
-// @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 69999c2..012ca7c 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,4 +1,3 @@
-// @dart = 2.9
 import 'package:expect/expect.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.weak.expect b/pkg/front_end/testcases/regress/issue_42423.dart.weak.expect
index f4dba33..d75de94 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_42423.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "dart:collection" as col;
@@ -7,49 +7,49 @@
 import "package:expect/expect.dart";
 
 static method test1(dynamic stringList) → dynamic {
-  core::Set<core::int*>* intSet = block {
-    final core::Set<core::int*>* #t1 = col::LinkedHashSet::•<core::int*>();
-    final core::Iterable<dynamic>* #t2 = stringList as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+  core::Set<core::int> intSet = block {
+    final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<dynamic>? #t2 = stringList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t2 == null))
-      for (final has-declared-initializer dynamic #t3 in #t2) {
-        final core::int* #t4 = #t3 as{TypeError} core::int*;
-        #t1.{core::Set::add}{Invariant}(#t4){(core::int*) →* core::bool*};
+      for (final has-declared-initializer dynamic #t3 in #t2{core::Iterable<dynamic>}) {
+        final core::int #t4 = #t3 as{TypeError,ForNonNullableByDefault} core::int;
+        #t1.{core::Set::add}{Invariant}(#t4){(core::int) → core::bool};
       }
   } =>#t1;
 }
 static method test2(dynamic stringList) → dynamic {
-  core::List<core::int*>* intList = block {
-    final core::List<core::int*>* #t5 = <core::int*>[];
-    final core::Iterable<dynamic>* #t6 = stringList as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+  core::List<core::int> intList = block {
+    final core::List<core::int> #t5 = <core::int>[];
+    final core::Iterable<dynamic>? #t6 = stringList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t6 == null))
-      for (final has-declared-initializer dynamic #t7 in #t6) {
-        final core::int* #t8 = #t7 as{TypeError} core::int*;
-        #t5.{core::List::add}{Invariant}(#t8){(core::int*) →* void};
+      for (final has-declared-initializer dynamic #t7 in #t6{core::Iterable<dynamic>}) {
+        final core::int #t8 = #t7 as{TypeError,ForNonNullableByDefault} core::int;
+        #t5.{core::List::add}{Invariant}(#t8){(core::int) → void};
       }
   } =>#t5;
 }
 static method test3(dynamic stringMap) → dynamic {
-  core::Map<core::int*, core::int*>* intMap = block {
-    final core::Map<core::int*, core::int*>* #t9 = <core::int*, core::int*>{};
-    final core::Map<dynamic, dynamic>* #t10 = stringMap as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+  core::Map<core::int, core::int> intMap = block {
+    final core::Map<core::int, core::int> #t9 = <core::int, core::int>{};
+    final core::Map<dynamic, dynamic>? #t10 = stringMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
     if(!(#t10 == null))
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t11 in #t10.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
-        final core::int* #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
-        final core::int* #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-        #t9.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int*, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t11 in #t10{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t9.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int, core::int) → void};
       }
   } =>#t9;
 }
 static method main() → dynamic {
-  dynamic stringList = <core::String*>["string"];
-  exp::Expect::throwsTypeError(() → Null {
+  dynamic stringList = <core::String>["string"];
+  exp::Expect::throwsTypeError(() → void {
     self::test1(stringList);
   });
-  exp::Expect::throwsTypeError(() → Null {
+  exp::Expect::throwsTypeError(() → void {
     self::test2(stringList);
   });
-  dynamic stringMap = <core::String*, core::String*>{"a": "b"};
-  exp::Expect::throwsTypeError(() → Null {
+  dynamic stringMap = <core::String, core::String>{"a": "b"};
+  exp::Expect::throwsTypeError(() → void {
     self::test3(stringMap);
   });
 }
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.weak.modular.expect b/pkg/front_end/testcases/regress/issue_42423.dart.weak.modular.expect
index f4dba33..d75de94 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/regress/issue_42423.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "dart:collection" as col;
@@ -7,49 +7,49 @@
 import "package:expect/expect.dart";
 
 static method test1(dynamic stringList) → dynamic {
-  core::Set<core::int*>* intSet = block {
-    final core::Set<core::int*>* #t1 = col::LinkedHashSet::•<core::int*>();
-    final core::Iterable<dynamic>* #t2 = stringList as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+  core::Set<core::int> intSet = block {
+    final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<dynamic>? #t2 = stringList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t2 == null))
-      for (final has-declared-initializer dynamic #t3 in #t2) {
-        final core::int* #t4 = #t3 as{TypeError} core::int*;
-        #t1.{core::Set::add}{Invariant}(#t4){(core::int*) →* core::bool*};
+      for (final has-declared-initializer dynamic #t3 in #t2{core::Iterable<dynamic>}) {
+        final core::int #t4 = #t3 as{TypeError,ForNonNullableByDefault} core::int;
+        #t1.{core::Set::add}{Invariant}(#t4){(core::int) → core::bool};
       }
   } =>#t1;
 }
 static method test2(dynamic stringList) → dynamic {
-  core::List<core::int*>* intList = block {
-    final core::List<core::int*>* #t5 = <core::int*>[];
-    final core::Iterable<dynamic>* #t6 = stringList as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+  core::List<core::int> intList = block {
+    final core::List<core::int> #t5 = <core::int>[];
+    final core::Iterable<dynamic>? #t6 = stringList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t6 == null))
-      for (final has-declared-initializer dynamic #t7 in #t6) {
-        final core::int* #t8 = #t7 as{TypeError} core::int*;
-        #t5.{core::List::add}{Invariant}(#t8){(core::int*) →* void};
+      for (final has-declared-initializer dynamic #t7 in #t6{core::Iterable<dynamic>}) {
+        final core::int #t8 = #t7 as{TypeError,ForNonNullableByDefault} core::int;
+        #t5.{core::List::add}{Invariant}(#t8){(core::int) → void};
       }
   } =>#t5;
 }
 static method test3(dynamic stringMap) → dynamic {
-  core::Map<core::int*, core::int*>* intMap = block {
-    final core::Map<core::int*, core::int*>* #t9 = <core::int*, core::int*>{};
-    final core::Map<dynamic, dynamic>* #t10 = stringMap as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+  core::Map<core::int, core::int> intMap = block {
+    final core::Map<core::int, core::int> #t9 = <core::int, core::int>{};
+    final core::Map<dynamic, dynamic>? #t10 = stringMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
     if(!(#t10 == null))
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t11 in #t10.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
-        final core::int* #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
-        final core::int* #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-        #t9.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int*, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t11 in #t10{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t9.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int, core::int) → void};
       }
   } =>#t9;
 }
 static method main() → dynamic {
-  dynamic stringList = <core::String*>["string"];
-  exp::Expect::throwsTypeError(() → Null {
+  dynamic stringList = <core::String>["string"];
+  exp::Expect::throwsTypeError(() → void {
     self::test1(stringList);
   });
-  exp::Expect::throwsTypeError(() → Null {
+  exp::Expect::throwsTypeError(() → void {
     self::test2(stringList);
   });
-  dynamic stringMap = <core::String*, core::String*>{"a": "b"};
-  exp::Expect::throwsTypeError(() → Null {
+  dynamic stringMap = <core::String, core::String>{"a": "b"};
+  exp::Expect::throwsTypeError(() → void {
     self::test3(stringMap);
   });
 }
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_42423.dart.weak.outline.expect
index 0ed79c5..03d8196 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_42423.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "package:expect/expect.dart";
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_42423.dart.weak.transformed.expect
index 2fb8e72..2400154 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_42423.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "dart:collection" as col;
@@ -7,64 +7,64 @@
 import "package:expect/expect.dart";
 
 static method test1(dynamic stringList) → dynamic {
-  core::Set<core::int*>* intSet = block {
-    final core::Set<core::int*>* #t1 = new col::_CompactLinkedHashSet::•<core::int*>();
-    final core::Iterable<dynamic>* #t2 = stringList as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+  core::Set<core::int> intSet = block {
+    final core::Set<core::int> #t1 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<dynamic>? #t2 = stringList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t2 == null)) {
-      core::Iterator<dynamic>* :sync-for-iterator = #t2.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = #t2{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t3 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int* #t4 = #t3 as{TypeError} core::int*;
-          #t1.{core::Set::add}{Invariant}(#t4){(core::int*) →* core::bool*};
+          final core::int #t4 = #t3 as{TypeError,ForNonNullableByDefault} core::int;
+          #t1.{core::Set::add}{Invariant}(#t4){(core::int) → core::bool};
         }
       }
     }
   } =>#t1;
 }
 static method test2(dynamic stringList) → dynamic {
-  core::List<core::int*>* intList = block {
-    final core::List<core::int*>* #t5 = core::_GrowableList::•<core::int*>(0);
-    final core::Iterable<dynamic>* #t6 = stringList as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+  core::List<core::int> intList = block {
+    final core::List<core::int> #t5 = core::_GrowableList::•<core::int>(0);
+    final core::Iterable<dynamic>? #t6 = stringList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t6 == null)) {
-      core::Iterator<dynamic>* :sync-for-iterator = #t6.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = #t6{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int* #t8 = #t7 as{TypeError} core::int*;
-          #t5.{core::List::add}{Invariant}(#t8){(core::int*) →* void};
+          final core::int #t8 = #t7 as{TypeError,ForNonNullableByDefault} core::int;
+          #t5.{core::List::add}{Invariant}(#t8){(core::int) → void};
         }
       }
     }
   } =>#t5;
 }
 static method test3(dynamic stringMap) → dynamic {
-  core::Map<core::int*, core::int*>* intMap = block {
-    final core::Map<core::int*, core::int*>* #t9 = <core::int*, core::int*>{};
-    final core::Map<dynamic, dynamic>* #t10 = stringMap as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+  core::Map<core::int, core::int> intMap = block {
+    final core::Map<core::int, core::int> #t9 = <core::int, core::int>{};
+    final core::Map<dynamic, dynamic>? #t10 = stringMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
     if(!(#t10 == null)) {
-      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t10.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t10{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic>* #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        final core::MapEntry<dynamic, dynamic> #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
         {
-          final core::int* #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
-          final core::int* #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-          #t9.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int*, core::int*) →* void};
+          final core::int #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t9.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int, core::int) → void};
         }
       }
     }
   } =>#t9;
 }
 static method main() → dynamic {
-  dynamic stringList = core::_GrowableList::_literal1<core::String*>("string");
-  exp::Expect::throwsTypeError(() → Null {
+  dynamic stringList = core::_GrowableList::_literal1<core::String>("string");
+  exp::Expect::throwsTypeError(() → void {
     self::test1(stringList);
   });
-  exp::Expect::throwsTypeError(() → Null {
+  exp::Expect::throwsTypeError(() → void {
     self::test2(stringList);
   });
-  dynamic stringMap = <core::String*, core::String*>{"a": "b"};
-  exp::Expect::throwsTypeError(() → Null {
+  dynamic stringMap = <core::String, core::String>{"a": "b"};
+  exp::Expect::throwsTypeError(() → void {
     self::test3(stringMap);
   });
 }
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart b/pkg/front_end/testcases/runtime_checks/call_kinds.dart
index 7422040..2aba871 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;
 
@@ -9,7 +9,7 @@
 
 class C {
   void f() {}
-  F get g => null;
+  F get g => throw '';
   dynamic get h => null;
   void test() {
     // Call via this
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 6098d60..e2383b2 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,11 +1,10 @@
-// @dart = 2.9
 library test;
 
 typedef void F();
 
 class C {
   void f() {}
-  F get g => null;
+  F get g => throw '';
   dynamic get h => null;
   void test() {}
 }
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 7f28360..4e82015 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,8 +1,7 @@
-// @dart = 2.9
 library test;
 
 class C {
-  F get g => null;
+  F get g => throw '';
   dynamic get h => null;
   void f() {}
   void test() {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.expect
index d6a32ed..00dcc6e 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.expect
@@ -1,42 +1,32 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F = () →* void;
+typedef F = () → void;
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method f() → void {}
-  get g() → () →* void
-    return null;
+  get g() → () → void
+    return throw "";
   get h() → dynamic
     return null;
   method test() → void {
-    this.{self::C::f}(){() →* void};
-    this.{self::C::f}(){() →* void};
-    this.{self::C::g}{() →* void}(){() →* void};
-    this.{self::C::g}{() →* void}(){() →* void};
+    this.{self::C::f}(){() → void};
+    this.{self::C::f}(){() → void};
+    this.{self::C::g}{() → void}(){() → void};
+    this.{self::C::g}{() → void}(){() → void};
     this.{self::C::h}{dynamic}{dynamic}.call();
     this.{self::C::h}{dynamic}{dynamic}.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 test(self::C* c, () →* void f, dynamic d) → void {
-  c.{self::C::f}(){() →* void};
-  f(){() →* void};
+static method test(self::C c, () → void f, dynamic d) → void {
+  c.{self::C::f}(){() → void};
+  f(){() → void};
   d{dynamic}.call();
   d{dynamic}.f();
-  c.{self::C::g}{() →* void}(){() →* void};
+  c.{self::C::g}{() → void}(){() → void};
   c.{self::C::h}{dynamic}{dynamic}.call();
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.modular.expect
index d6a32ed..00dcc6e 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.modular.expect
@@ -1,42 +1,32 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F = () →* void;
+typedef F = () → void;
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method f() → void {}
-  get g() → () →* void
-    return null;
+  get g() → () → void
+    return throw "";
   get h() → dynamic
     return null;
   method test() → void {
-    this.{self::C::f}(){() →* void};
-    this.{self::C::f}(){() →* void};
-    this.{self::C::g}{() →* void}(){() →* void};
-    this.{self::C::g}{() →* void}(){() →* void};
+    this.{self::C::f}(){() → void};
+    this.{self::C::f}(){() → void};
+    this.{self::C::g}{() → void}(){() → void};
+    this.{self::C::g}{() → void}(){() → void};
     this.{self::C::h}{dynamic}{dynamic}.call();
     this.{self::C::h}{dynamic}{dynamic}.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 test(self::C* c, () →* void f, dynamic d) → void {
-  c.{self::C::f}(){() →* void};
-  f(){() →* void};
+static method test(self::C c, () → void f, dynamic d) → void {
+  c.{self::C::f}(){() → void};
+  f(){() → void};
   d{dynamic}.call();
   d{dynamic}.f();
-  c.{self::C::g}{() →* void}(){() →* void};
+  c.{self::C::g}{() → void}(){() → void};
   c.{self::C::h}{dynamic}{dynamic}.call();
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.outline.expect
index 148021d..d1ff2cb 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.outline.expect
@@ -1,31 +1,21 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F = () →* void;
+typedef F = () → void;
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   method f() → void
     ;
-  get g() → () →* void
+  get g() → () → void
     ;
   get h() → dynamic
     ;
   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 test(self::C* c, () →* void f, dynamic d) → void
+static method test(self::C c, () → void f, dynamic d) → void
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.transformed.expect
index d6a32ed..00dcc6e 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.transformed.expect
@@ -1,42 +1,32 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F = () →* void;
+typedef F = () → void;
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method f() → void {}
-  get g() → () →* void
-    return null;
+  get g() → () → void
+    return throw "";
   get h() → dynamic
     return null;
   method test() → void {
-    this.{self::C::f}(){() →* void};
-    this.{self::C::f}(){() →* void};
-    this.{self::C::g}{() →* void}(){() →* void};
-    this.{self::C::g}{() →* void}(){() →* void};
+    this.{self::C::f}(){() → void};
+    this.{self::C::f}(){() → void};
+    this.{self::C::g}{() → void}(){() → void};
+    this.{self::C::g}{() → void}(){() → void};
     this.{self::C::h}{dynamic}{dynamic}.call();
     this.{self::C::h}{dynamic}{dynamic}.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 test(self::C* c, () →* void f, dynamic d) → void {
-  c.{self::C::f}(){() →* void};
-  f(){() →* void};
+static method test(self::C c, () → void f, dynamic d) → void {
+  c.{self::C::f}(){() → void};
+  f(){() → void};
   d{dynamic}.call();
   d{dynamic}.f();
-  c.{self::C::g}{() →* void}(){() →* void};
+  c.{self::C::g}{() → void}(){() → void};
   c.{self::C::h}{dynamic}{dynamic}.call();
 }
 static method main() → dynamic {}
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 81ff2c2..ed8556e 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.textual_outline.expect
index 6eb1323..aaf824e 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,4 +1,3 @@
-// @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 69519b0..588c9cd 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.expect
index 96f9b35..e3ccdac 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.expect
@@ -1,10 +1,10 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic y = null;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   get x() → dynamic
@@ -15,18 +15,8 @@
     dynamic v3 = this.{self::C::y}{dynamic};
     dynamic v4 = this.{self::C::y}{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(self::C* c, dynamic d) → void {
+static method test(self::C c, dynamic d) → void {
   dynamic v1 = c.{self::C::x}{dynamic};
   dynamic v2 = c.{self::C::y}{dynamic};
   dynamic v3 = d{dynamic}.x;
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.modular.expect
index 96f9b35..e3ccdac 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.modular.expect
@@ -1,10 +1,10 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic y = null;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   get x() → dynamic
@@ -15,18 +15,8 @@
     dynamic v3 = this.{self::C::y}{dynamic};
     dynamic v4 = this.{self::C::y}{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(self::C* c, dynamic d) → void {
+static method test(self::C c, dynamic d) → void {
   dynamic v1 = c.{self::C::x}{dynamic};
   dynamic v2 = c.{self::C::y}{dynamic};
   dynamic v3 = d{dynamic}.x;
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.outline.expect
index e330688..49a467d 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.outline.expect
@@ -1,27 +1,17 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic y;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   get x() → dynamic
     ;
   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 test(self::C* c, dynamic d) → void
+static method test(self::C c, dynamic d) → void
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.transformed.expect
index 96f9b35..e3ccdac 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.transformed.expect
@@ -1,10 +1,10 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic y = null;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   get x() → dynamic
@@ -15,18 +15,8 @@
     dynamic v3 = this.{self::C::y}{dynamic};
     dynamic v4 = this.{self::C::y}{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(self::C* c, dynamic d) → void {
+static method test(self::C c, dynamic d) → void {
   dynamic v1 = c.{self::C::x}{dynamic};
   dynamic v2 = c.{self::C::y}{dynamic};
   dynamic v3 = d{dynamic}.x;
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 e14b4f2..2072ab6 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.textual_outline.expect
index b8d22a2..c96f079 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,4 +1,3 @@
-// @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 cbf6b63..1ea93b3 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.expect
index a78157b..902122f 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.expect
@@ -1,10 +1,10 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic y = null;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   set x(dynamic value) → void {}
@@ -14,18 +14,8 @@
     this.{self::C::y} = null;
     this.{self::C::y} = null;
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::C* c, dynamic d) → void {
+static method test(self::C c, dynamic d) → void {
   c.{self::C::x} = null;
   c.{self::C::y} = null;
   d{dynamic}.x = null;
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.modular.expect
index a78157b..902122f 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.modular.expect
@@ -1,10 +1,10 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic y = null;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   set x(dynamic value) → void {}
@@ -14,18 +14,8 @@
     this.{self::C::y} = null;
     this.{self::C::y} = null;
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::C* c, dynamic d) → void {
+static method test(self::C c, dynamic d) → void {
   c.{self::C::x} = null;
   c.{self::C::y} = null;
   d{dynamic}.x = null;
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.outline.expect
index 183ccaa..d2f6916 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.outline.expect
@@ -1,27 +1,17 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic y;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   set x(dynamic value) → 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 test(self::C* c, dynamic d) → void
+static method test(self::C c, dynamic d) → void
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.transformed.expect
index a78157b..902122f 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.transformed.expect
@@ -1,10 +1,10 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic y = null;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   set x(dynamic value) → void {}
@@ -14,18 +14,8 @@
     this.{self::C::y} = null;
     this.{self::C::y} = null;
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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::C* c, dynamic d) → void {
+static method test(self::C c, dynamic d) → void {
   c.{self::C::x} = null;
   c.{self::C::y} = null;
   d{dynamic}.x = null;
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 9c79ba9..1ea9483 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.textual_outline.expect
index ac57e71..acd8a15 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,4 +1,3 @@
-// @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 ac57e71..acd8a15 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.expect
index bffdb53..fc1fdf8 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.expect
@@ -1,23 +1,13 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   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 main() → dynamic {
-  () →* void x = let final self::C* #t1 = new self::C::•() in #t1 == null ?{() →* void} null : #t1.{self::C::call}{() →* void};
+  () → void x = let final self::C #t1 = new self::C::•() in #t1 == null ?{() → void} null : #t1.{self::C::call}{() → void};
 }
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.modular.expect
index bffdb53..fc1fdf8 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.modular.expect
@@ -1,23 +1,13 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   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 main() → dynamic {
-  () →* void x = let final self::C* #t1 = new self::C::•() in #t1 == null ?{() →* void} null : #t1.{self::C::call}{() →* void};
+  () → void x = let final self::C #t1 = new self::C::•() in #t1 == null ?{() → void} null : #t1.{self::C::call}{() → void};
 }
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.outline.expect
index 950f95a..9c2d471 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.outline.expect
@@ -1,22 +1,12 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   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 main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.transformed.expect
index bffdb53..fc1fdf8 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.transformed.expect
@@ -1,23 +1,13 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   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 main() → dynamic {
-  () →* void x = let final self::C* #t1 = new self::C::•() in #t1 == null ?{() →* void} null : #t1.{self::C::call}{() →* void};
+  () → void x = let final self::C #t1 = new self::C::•() in #t1 == null ?{() → void} null : #t1.{self::C::call}{() → void};
 }
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 5ffb89a..b2320f9 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.textual_outline.expect
index ea8a339..c9eba70 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,4 +1,3 @@
-// @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 ea8a339..c9eba70 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.expect
index edf5d5c..955ecec 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.expect
@@ -1,25 +1,15 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "dart:async";
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   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 main() → dynamic {
-  FutureOr<() →* void>* x = let final self::C* #t1 = new self::C::•() in #t1 == null ?{() →* void} null : #t1.{self::C::call}{() →* void};
+  FutureOr<() → void>x = let final self::C #t1 = new self::C::•() in #t1 == null ?{() → void} null : #t1.{self::C::call}{() → void};
 }
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.modular.expect
index edf5d5c..955ecec 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.modular.expect
@@ -1,25 +1,15 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "dart:async";
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   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 main() → dynamic {
-  FutureOr<() →* void>* x = let final self::C* #t1 = new self::C::•() in #t1 == null ?{() →* void} null : #t1.{self::C::call}{() →* void};
+  FutureOr<() → void>x = let final self::C #t1 = new self::C::•() in #t1 == null ?{() → void} null : #t1.{self::C::call}{() → void};
 }
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.outline.expect
index 5e63eb8..29372cb 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.outline.expect
@@ -1,24 +1,14 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "dart:async";
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   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 main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.transformed.expect
index edf5d5c..955ecec 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.transformed.expect
@@ -1,25 +1,15 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "dart:async";
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   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 main() → dynamic {
-  FutureOr<() →* void>* x = let final self::C* #t1 = new self::C::•() in #t1 == null ?{() →* void} null : #t1.{self::C::call}{() →* void};
+  FutureOr<() → void>x = let final self::C #t1 = new self::C::•() in #t1 == null ?{() → void} null : #t1.{self::C::call}{() → void};
 }
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart
index bfc499c..527eb16 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart
@@ -1,21 +1,21 @@
 // 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;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  F<T> y;
+  F<T> y = throw '';
   void f() {
     var x = this.y;
   }
 }
 
 void g(C<num> c) {
-  var x = c. /*@ checkReturn=(num*) ->* void */ y;
+  var x = c. /*@checkReturn=(num) -> void*/ y;
 }
 
 void main() {}
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 2f4bdf3..adad7ee 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,10 +1,9 @@
-// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  F<T> y;
+  F<T> y = throw '';
   void f() {}
 }
 
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 24309e5..eb32d9a 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,8 +1,7 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
-  F<T> y;
+  F<T> y = throw '';
   void f() {}
 }
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.expect
index 2142878..cb46be7 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.expect
@@ -1,28 +1,18 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  field (self::C::T*) →* void y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void y = throw "";
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
   method f() → void {
-    (self::C::T*) →* void x = this.{self::C::y}{(self::C::T*) →* void};
+    (self::C::T%) → void x = this.{self::C::y}{(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 g(self::C<core::num*>* c) → void {
-  (core::num*) →* void x = c.{self::C::y}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method g(self::C<core::num> c) → void {
+  (core::num) → void x = c.{self::C::y}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.modular.expect
index 2142878..cb46be7 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.modular.expect
@@ -1,28 +1,18 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  field (self::C::T*) →* void y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void y = throw "";
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
   method f() → void {
-    (self::C::T*) →* void x = this.{self::C::y}{(self::C::T*) →* void};
+    (self::C::T%) → void x = this.{self::C::y}{(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 g(self::C<core::num*>* c) → void {
-  (core::num*) →* void x = c.{self::C::y}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method g(self::C<core::num> c) → void {
+  (core::num) → void x = c.{self::C::y}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.outline.expect
index 3902b3d..7400122 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.outline.expect
@@ -1,26 +1,16 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  field (self::C::T*) →* void y;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void y;
+  synthetic constructor •() → self::C<self::C::T%>
     ;
   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 g(self::C<core::num*>* c) → void
+static method g(self::C<core::num> c) → void
   ;
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.transformed.expect
index 2142878..cb46be7 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.transformed.expect
@@ -1,28 +1,18 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  field (self::C::T*) →* void y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void y = throw "";
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
   method f() → void {
-    (self::C::T*) →* void x = this.{self::C::y}{(self::C::T*) →* void};
+    (self::C::T%) → void x = this.{self::C::y}{(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 g(self::C<core::num*>* c) → void {
-  (core::num*) →* void x = c.{self::C::y}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method g(self::C<core::num> c) → void {
+  (core::num) → void x = c.{self::C::y}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
 }
 static method main() → void {}
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 5a55bde..9ca3747 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.textual_outline.expect
index 01ca255..3bc94cd 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,4 +1,3 @@
-// @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 d63adb1..d45149c 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.expect
index 3e9cb61..26d4967 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.expect
@@ -1,28 +1,18 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  method f<U extends (self::C::T*) →* void>(self::C::f::U* 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
+  method f<U extends (self::C::T%) → void>(self::C::f::U x) → void {}
 }
-static method g(self::C<core::num*>* c) → void {
-  c.{self::C::f}<(core::Object*) →* void>((core::Object* o) → Null {}){((core::Object*) →* void) →* void};
+static method g(self::C<core::num> c) → void {
+  c.{self::C::f}<(core::Object) → void>((core::Object o) → void {}){((core::Object) → void) → void};
 }
 static method test() → void {
-  self::g(new self::C::•<core::int*>());
+  self::g(new self::C::•<core::int>());
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.modular.expect
index 3e9cb61..26d4967 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.modular.expect
@@ -1,28 +1,18 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  method f<U extends (self::C::T*) →* void>(self::C::f::U* 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
+  method f<U extends (self::C::T%) → void>(self::C::f::U x) → void {}
 }
-static method g(self::C<core::num*>* c) → void {
-  c.{self::C::f}<(core::Object*) →* void>((core::Object* o) → Null {}){((core::Object*) →* void) →* void};
+static method g(self::C<core::num> c) → void {
+  c.{self::C::f}<(core::Object) → void>((core::Object o) → void {}){((core::Object) → void) → void};
 }
 static method test() → void {
-  self::g(new self::C::•<core::int*>());
+  self::g(new self::C::•<core::int>());
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.outline.expect
index 713c4b7..ad1ea5d 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.outline.expect
@@ -1,25 +1,15 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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 f<U extends (self::C::T*) →* void>(self::C::f::U* x) → void
+  method f<U extends (self::C::T%) → void>(self::C::f::U 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
 }
-static method g(self::C<core::num*>* c) → void
+static method g(self::C<core::num> c) → void
   ;
 static method test() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.transformed.expect
index 3e9cb61..26d4967 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.transformed.expect
@@ -1,28 +1,18 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  method f<U extends (self::C::T*) →* void>(self::C::f::U* 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
+  method f<U extends (self::C::T%) → void>(self::C::f::U x) → void {}
 }
-static method g(self::C<core::num*>* c) → void {
-  c.{self::C::f}<(core::Object*) →* void>((core::Object* o) → Null {}){((core::Object*) →* void) →* void};
+static method g(self::C<core::num> c) → void {
+  c.{self::C::f}<(core::Object) → void>((core::Object o) → void {}){((core::Object) → void) → void};
 }
 static method test() → void {
-  self::g(new self::C::•<core::int*>());
+  self::g(new self::C::•<core::int>());
 }
 static method main() → void {}
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 33868c9..e594ea7 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart
@@ -1,32 +1,32 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  F<T> f1() {}
+  F<T> f1() => throw '';
   List<F<T>> f2() {
     return [this.f1()];
   }
 }
 
 void g1(C<num> c) {
-  var x = c.f1 /*@ checkReturn=(num*) ->* void */ ();
+  var x = c.f1 /*@checkReturn=(num) -> void*/ ();
   print('hello');
   x(1.5);
 }
 
 void g2(C<num> c) {
-  F<int> x = c.f1 /*@ checkReturn=(num*) ->* void */ ();
+  F<int> x = c.f1 /*@checkReturn=(num) -> void*/ ();
   x(1);
 }
 
 void g3(C<num> c) {
-  var x = c.f2 /*@ checkReturn=List<(num*) ->* void>* */ ();
+  var x = c.f2 /*@checkReturn=List<(num) -> void>*/ ();
 }
 
 void main() {}
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 4971ed6..d5b36e2 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,10 +1,9 @@
-// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  F<T> f1() {}
+  F<T> f1() => throw '';
   List<F<T>> f2() {}
 }
 
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 3ed7c2d..05f1ee3 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,8 +1,7 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
-  F<T> f1() {}
+  F<T> f1() => throw '';
   List<F<T>> f2() {}
 }
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.expect
index a1cb113..6e1c923 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.expect
@@ -1,37 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  method f1() → (self::C::T*) →* void {}
-  method f2() → core::List<(self::C::T*) →* void>* {
-    return <(self::C::T*) →* void>[this.{self::C::f1}(){() →* (self::C::T*) →* void}];
+  method f1() → (self::C::T%) → void
+    return throw "";
+  method f2() → core::List<(self::C::T%) → void> {
+    return <(self::C::T%) → void>[this.{self::C::f1}(){() → (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 {
-  (core::num*) →* void x = c.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method g1(self::C<core::num> c) → void {
+  (core::num) → void x = c.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
   core::print("hello");
-  x(1.5){(core::num*) →* void};
+  x(1.5){(core::num) → void};
 }
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = c.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
-  x(1){(core::int*) →* void};
+static method g2(self::C<core::num> c) → void {
+  (core::int) → void x = c.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  x(1){(core::int) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  core::List<(core::num*) →* void>* x = c.{self::C::f2}(){() →* core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+static method g3(self::C<core::num> c) → void {
+  core::List<(core::num) → void> x = c.{self::C::f2}(){() → core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.modular.expect
index a1cb113..6e1c923 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.modular.expect
@@ -1,37 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  method f1() → (self::C::T*) →* void {}
-  method f2() → core::List<(self::C::T*) →* void>* {
-    return <(self::C::T*) →* void>[this.{self::C::f1}(){() →* (self::C::T*) →* void}];
+  method f1() → (self::C::T%) → void
+    return throw "";
+  method f2() → core::List<(self::C::T%) → void> {
+    return <(self::C::T%) → void>[this.{self::C::f1}(){() → (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 {
-  (core::num*) →* void x = c.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method g1(self::C<core::num> c) → void {
+  (core::num) → void x = c.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
   core::print("hello");
-  x(1.5){(core::num*) →* void};
+  x(1.5){(core::num) → void};
 }
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = c.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
-  x(1){(core::int*) →* void};
+static method g2(self::C<core::num> c) → void {
+  (core::int) → void x = c.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  x(1){(core::int) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  core::List<(core::num*) →* void>* x = c.{self::C::f2}(){() →* core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+static method g3(self::C<core::num> c) → void {
+  core::List<(core::num) → void> x = c.{self::C::f2}(){() → core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.outline.expect
index ae504e7..08ea945 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.outline.expect
@@ -1,31 +1,21 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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 f1() → (self::C::T%) → void
     ;
-  method f2() → core::List<(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 g1(self::C<core::num> c) → void
   ;
-static method g2(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 g3(self::C<core::num> c) → void
   ;
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.transformed.expect
index 5c0c338..ed1c81f 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.transformed.expect
@@ -1,37 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  method f1() → (self::C::T*) →* void {}
-  method f2() → core::List<(self::C::T*) →* void>* {
-    return core::_GrowableList::_literal1<(self::C::T*) →* void>(this.{self::C::f1}(){() →* (self::C::T*) →* void});
+  method f1() → (self::C::T%) → void
+    return throw "";
+  method f2() → core::List<(self::C::T%) → void> {
+    return core::_GrowableList::_literal1<(self::C::T%) → void>(this.{self::C::f1}(){() → (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 {
-  (core::num*) →* void x = c.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method g1(self::C<core::num> c) → void {
+  (core::num) → void x = c.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
   core::print("hello");
-  x(1.5){(core::num*) →* void};
+  x(1.5){(core::num) → void};
 }
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = c.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
-  x(1){(core::int*) →* void};
+static method g2(self::C<core::num> c) → void {
+  (core::int) → void x = c.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  x(1){(core::int) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  core::List<(core::num*) →* void>* x = c.{self::C::f2}(){() →* core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+static method g3(self::C<core::num> c) → void {
+  core::List<(core::num) → void> x = c.{self::C::f2}(){() → core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
 }
 static method main() → void {}
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 bdde6a5..94668c3 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
@@ -15,18 +17,18 @@
 }
 
 void g1(C<num> c) {
-  var x = c?.f1 /*@ checkReturn=(num*) ->* void */ ();
+  var x = c?.f1 /*@checkReturn=(num*) ->* void*/ ();
   print('hello');
   x(1.5);
 }
 
 void g2(C<num> c) {
-  F<int> x = c?.f1 /*@ checkReturn=(num*) ->* void */ ();
+  F<int> x = c?.f1 /*@checkReturn=(num*) ->* void*/ ();
   x(1);
 }
 
 void g3(C<num> c) {
-  var x = c?.f2 /*@ checkReturn=List<(num*) ->* void>* */ ();
+  var x = c?.f2 /*@checkReturn=List<(num*) ->* void>**/ ();
 }
 
 void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart
new file mode 100644
index 0000000..39583a2
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart
@@ -0,0 +1,32 @@
+// Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/*@testedFeatures=checks*/
+library test;
+
+typedef void F<T>(T x);
+
+class C<T> {
+  F<T> f1() => throw '';
+  List<F<T>> f2() {
+    return [this?.f1()];
+  }
+}
+
+void g1(C<num>? c) {
+  var x = c?.f1 /*@checkReturn=(num) -> void*/ ();
+  print('hello');
+  x?.call(1.5);
+}
+
+void g2(C<num>? c) {
+  F<int>? x = c?.f1 /*@checkReturn=(num) -> void*/ ();
+  x?.call(1);
+}
+
+void g3(C<num>? c) {
+  var x = c?.f2 /*@checkReturn=List<(num) -> void>*/ ();
+}
+
+void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.textual_outline.expect
new file mode 100644
index 0000000..34dcf8e
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.textual_outline.expect
@@ -0,0 +1,13 @@
+library test;
+
+typedef void F<T>(T x);
+
+class C<T> {
+  F<T> f1() => throw '';
+  List<F<T>> f2() {}
+}
+
+void g1(C<num>? c) {}
+void g2(C<num>? c) {}
+void g3(C<num>? c) {}
+void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..f4e23e8
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.textual_outline_modelled.expect
@@ -0,0 +1,12 @@
+library test;
+
+class C<T> {
+  F<T> f1() => throw '';
+  List<F<T>> f2() {}
+}
+
+typedef void F<T>(T x);
+void g1(C<num>? c) {}
+void g2(C<num>? c) {}
+void g3(C<num>? c) {}
+void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.expect
new file mode 100644
index 0000000..dd20162
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.expect
@@ -0,0 +1,36 @@
+library test /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart:13:13: Warning: The receiver 'this' cannot be null.
+// Try replacing '?.' with '.'
+//     return [this?.f1()];
+//             ^^^^
+//
+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%>
+    : super core::Object::•()
+    ;
+  method f1() → (self::C::T%) → void
+    return throw "";
+  method f2() → core::List<(self::C::T%) → void> {
+    return <(self::C::T%) → void>[this.{self::C::f1}(){() → (self::C::T%) → void}];
+  }
+}
+static method g1(self::C<core::num>? c) → void {
+  (core::num) →? void x = let final self::C<core::num>? #t1 = c in #t1 == null ?{(core::num) →? void} null : #t1{self::C<core::num>}.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  core::print("hello");
+  let final (core::num) →? void #t2 = x in #t2 == null ?{void} null : #t2{(core::num) → void}(1.5){(core::num) → void};
+}
+static method g2(self::C<core::num>? c) → void {
+  (core::int) →? void x = let final self::C<core::num>? #t3 = c in #t3 == null ?{(core::num) →? void} null : #t3{self::C<core::num>}.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  let final (core::int) →? void #t4 = x in #t4 == null ?{void} null : #t4{(core::int) → void}(1){(core::int) → void};
+}
+static method g3(self::C<core::num>? c) → void {
+  core::List<(core::num) → void>? x = let final self::C<core::num>? #t5 = c in #t5 == null ?{core::List<(core::num) → void>?} null : #t5{self::C<core::num>}.{self::C::f2}(){() → core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
+}
+static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.modular.expect
new file mode 100644
index 0000000..dd20162
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.modular.expect
@@ -0,0 +1,36 @@
+library test /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart:13:13: Warning: The receiver 'this' cannot be null.
+// Try replacing '?.' with '.'
+//     return [this?.f1()];
+//             ^^^^
+//
+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%>
+    : super core::Object::•()
+    ;
+  method f1() → (self::C::T%) → void
+    return throw "";
+  method f2() → core::List<(self::C::T%) → void> {
+    return <(self::C::T%) → void>[this.{self::C::f1}(){() → (self::C::T%) → void}];
+  }
+}
+static method g1(self::C<core::num>? c) → void {
+  (core::num) →? void x = let final self::C<core::num>? #t1 = c in #t1 == null ?{(core::num) →? void} null : #t1{self::C<core::num>}.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  core::print("hello");
+  let final (core::num) →? void #t2 = x in #t2 == null ?{void} null : #t2{(core::num) → void}(1.5){(core::num) → void};
+}
+static method g2(self::C<core::num>? c) → void {
+  (core::int) →? void x = let final self::C<core::num>? #t3 = c in #t3 == null ?{(core::num) →? void} null : #t3{self::C<core::num>}.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  let final (core::int) →? void #t4 = x in #t4 == null ?{void} null : #t4{(core::int) → void}(1){(core::int) → void};
+}
+static method g3(self::C<core::num>? c) → void {
+  core::List<(core::num) → void>? x = let final self::C<core::num>? #t5 = c in #t5 == null ?{core::List<(core::num) → void>?} null : #t5{self::C<core::num>}.{self::C::f2}(){() → core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
+}
+static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.outline.expect
new file mode 100644
index 0000000..7365f0d
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.outline.expect
@@ -0,0 +1,21 @@
+library test /*isNonNullableByDefault*/;
+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>
+    ;
+}
+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_aware2.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.transformed.expect
new file mode 100644
index 0000000..f5a0662
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart.weak.transformed.expect
@@ -0,0 +1,36 @@
+library test /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware2.dart:13:13: Warning: The receiver 'this' cannot be null.
+// Try replacing '?.' with '.'
+//     return [this?.f1()];
+//             ^^^^
+//
+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%>
+    : super core::Object::•()
+    ;
+  method f1() → (self::C::T%) → void
+    return throw "";
+  method f2() → core::List<(self::C::T%) → void> {
+    return core::_GrowableList::_literal1<(self::C::T%) → void>(this.{self::C::f1}(){() → (self::C::T%) → void});
+  }
+}
+static method g1(self::C<core::num>? c) → void {
+  (core::num) →? void x = let final self::C<core::num>? #t1 = c in #t1 == null ?{(core::num) →? void} null : #t1{self::C<core::num>}.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  core::print("hello");
+  let final (core::num) →? void #t2 = x in #t2 == null ?{void} null : #t2{(core::num) → void}(1.5){(core::num) → void};
+}
+static method g2(self::C<core::num>? c) → void {
+  (core::int) →? void x = let final self::C<core::num>? #t3 = c in #t3 == null ?{(core::num) →? void} null : #t3{self::C<core::num>}.{self::C::f1}(){() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  let final (core::int) →? void #t4 = x in #t4 == null ?{void} null : #t4{(core::int) → void}(1){(core::int) → void};
+}
+static method g3(self::C<core::num>? c) → void {
+  core::List<(core::num) → void>? x = let final self::C<core::num>? #t5 = c in #t5 == null ?{core::List<(core::num) → void>?} null : #t5{self::C<core::num>}.{self::C::f2}(){() → core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
+}
+static method main() → void {}
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 ec99cae..4b202f2 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;
 
@@ -15,7 +15,7 @@
 }
 
 G<num> g(C<num> c) {
-  return c. /*@ checkReturn=() ->* (num*) ->* void */ f;
+  return c. /*@checkReturn=() -> (num) -> void*/ f;
 }
 
 void h(int i) {
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 96eabed..950b57d 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,4 +1,3 @@
-// @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 0a9988b..ac397a4 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.expect
index 3f796f1..f128147 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.expect
@@ -1,35 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<contravariant T extends core::Object* = dynamic> = () →* (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field (self::C::T*) →* void _x;
-  constructor •((self::C::T*) →* void _x) → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+typedef G<contravariant T extends core::Object? = dynamic> = () → (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void _x;
+  constructor •((self::C::T%) → void _x) → self::C<self::C::T%>
     : self::C::_x = _x, super core::Object::•()
     ;
-  method f() → (self::C::T*) →* void
-    return this.{self::C::_x}{(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
+  method f() → (self::C::T%) → void
+    return this.{self::C::_x}{(self::C::T%) → void};
 }
-static method g(self::C<core::num*>* c) → () →* (core::num*) →* void {
-  return c.{self::C::f}{() →* (core::num*) →* void} as{TypeError,CovarianceCheck} () →* (core::num*) →* void;
+static method g(self::C<core::num> c) → () → (core::num) → void {
+  return c.{self::C::f}{() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} () → (core::num) → void;
 }
-static method h(core::int* i) → void {
+static method h(core::int i) → void {
   core::print("${i}");
 }
 static method test() → void {
-  () →* (core::num*) →* void x = self::g(new self::C::•<core::int*>(#C1));
+  () → (core::num) → void x = self::g(new self::C::•<core::int>(#C1));
 }
 static method main() → void {}
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.modular.expect
index 3f796f1..f128147 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.modular.expect
@@ -1,35 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<contravariant T extends core::Object* = dynamic> = () →* (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field (self::C::T*) →* void _x;
-  constructor •((self::C::T*) →* void _x) → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+typedef G<contravariant T extends core::Object? = dynamic> = () → (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void _x;
+  constructor •((self::C::T%) → void _x) → self::C<self::C::T%>
     : self::C::_x = _x, super core::Object::•()
     ;
-  method f() → (self::C::T*) →* void
-    return this.{self::C::_x}{(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
+  method f() → (self::C::T%) → void
+    return this.{self::C::_x}{(self::C::T%) → void};
 }
-static method g(self::C<core::num*>* c) → () →* (core::num*) →* void {
-  return c.{self::C::f}{() →* (core::num*) →* void} as{TypeError,CovarianceCheck} () →* (core::num*) →* void;
+static method g(self::C<core::num> c) → () → (core::num) → void {
+  return c.{self::C::f}{() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} () → (core::num) → void;
 }
-static method h(core::int* i) → void {
+static method h(core::int i) → void {
   core::print("${i}");
 }
 static method test() → void {
-  () →* (core::num*) →* void x = self::g(new self::C::•<core::int*>(#C1));
+  () → (core::num) → void x = self::g(new self::C::•<core::int>(#C1));
 }
 static method main() → void {}
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.outline.expect
index 238d0af..853a041 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.outline.expect
@@ -1,29 +1,19 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<contravariant T extends core::Object* = dynamic> = () →* (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field (self::C::T*) →* void _x;
-  constructor •((self::C::T*) →* void _x) → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+typedef G<contravariant T extends core::Object? = dynamic> = () → (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void _x;
+  constructor •((self::C::T%) → void _x) → self::C<self::C::T%>
     ;
-  method f() → (self::C::T*) →* void
+  method f() → (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 g(self::C<core::num*>* c) → () →* (core::num*) →* void
+static method g(self::C<core::num> c) → () → (core::num) → void
   ;
-static method h(core::int* i) → void
+static method h(core::int i) → void
   ;
 static method test() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.transformed.expect
index 3f796f1..f128147 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.transformed.expect
@@ -1,35 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<contravariant T extends core::Object* = dynamic> = () →* (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field (self::C::T*) →* void _x;
-  constructor •((self::C::T*) →* void _x) → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+typedef G<contravariant T extends core::Object? = dynamic> = () → (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void _x;
+  constructor •((self::C::T%) → void _x) → self::C<self::C::T%>
     : self::C::_x = _x, super core::Object::•()
     ;
-  method f() → (self::C::T*) →* void
-    return this.{self::C::_x}{(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
+  method f() → (self::C::T%) → void
+    return this.{self::C::_x}{(self::C::T%) → void};
 }
-static method g(self::C<core::num*>* c) → () →* (core::num*) →* void {
-  return c.{self::C::f}{() →* (core::num*) →* void} as{TypeError,CovarianceCheck} () →* (core::num*) →* void;
+static method g(self::C<core::num> c) → () → (core::num) → void {
+  return c.{self::C::f}{() → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} () → (core::num) → void;
 }
-static method h(core::int* i) → void {
+static method h(core::int i) → void {
   core::print("${i}");
 }
 static method test() → void {
-  () →* (core::num*) →* void x = self::g(new self::C::•<core::int*>(#C1));
+  () → (core::num) → void x = self::g(new self::C::•<core::int>(#C1));
 }
 static method main() → void {}
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart
index f940dab..7141d55 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart
@@ -1,21 +1,21 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  F<T> y;
+  F<T> y = throw '';
   void f(T value) {
     this.y(value);
   }
 }
 
 void g(C<num> c) {
-  c.y /*@ checkGetterReturn=(num*) ->* void */ (1.5);
+  c.y /*@checkGetterReturn=(num) -> void*/ (1.5);
 }
 
 void main() {}
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 385996d..a802dab 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,10 +1,9 @@
-// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  F<T> y;
+  F<T> y = throw '';
   void f(T value) {}
 }
 
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 3120bc5..66f8603 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,8 +1,7 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
-  F<T> y;
+  F<T> y = throw '';
   void f(T value) {}
 }
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.expect
index d641b1f..749fd48 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.expect
@@ -1,28 +1,18 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  field (self::C::T*) →* void y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void y = throw "";
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::C::T* value) → void {
-    let final self::C::T* #t1 = value in this.{self::C::y}{(self::C::T*) →* void}(#t1){(self::C::T*) →* void};
+  method f(covariant-by-class self::C::T% value) → void {
+    let final self::C::T% #t1 = value in this.{self::C::y}{(self::C::T%) → void}(#t1){(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 g(self::C<core::num*>* c) → void {
-  let final self::C<core::num*>* #t2 = c in let final core::double* #t3 = 1.5 in (#t2.{self::C::y}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void)(#t3){(core::num*) →* void};
+static method g(self::C<core::num> c) → void {
+  let final self::C<core::num> #t2 = c in let final core::double #t3 = 1.5 in (#t2.{self::C::y}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void)(#t3){(core::num) → void};
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.modular.expect
index d641b1f..749fd48 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.modular.expect
@@ -1,28 +1,18 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  field (self::C::T*) →* void y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void y = throw "";
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::C::T* value) → void {
-    let final self::C::T* #t1 = value in this.{self::C::y}{(self::C::T*) →* void}(#t1){(self::C::T*) →* void};
+  method f(covariant-by-class self::C::T% value) → void {
+    let final self::C::T% #t1 = value in this.{self::C::y}{(self::C::T%) → void}(#t1){(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 g(self::C<core::num*>* c) → void {
-  let final self::C<core::num*>* #t2 = c in let final core::double* #t3 = 1.5 in (#t2.{self::C::y}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void)(#t3){(core::num*) →* void};
+static method g(self::C<core::num> c) → void {
+  let final self::C<core::num> #t2 = c in let final core::double #t3 = 1.5 in (#t2.{self::C::y}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void)(#t3){(core::num) → void};
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.outline.expect
index 84a11c2..4a4749d 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.outline.expect
@@ -1,26 +1,16 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  field (self::C::T*) →* void y;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void y;
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  method f(covariant-by-class self::C::T* value) → void
+  method f(covariant-by-class self::C::T% 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 method g(self::C<core::num*>* c) → void
+static method g(self::C<core::num> c) → void
   ;
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.transformed.expect
index 66836cf..4872820 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.transformed.expect
@@ -1,33 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  field (self::C::T*) →* void y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  field (self::C::T%) → void y = throw "";
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::C::T* value) → void {
-    let final self::C::T* #t1 = value in this.{self::C::y}{(self::C::T*) →* void}(#t1){(self::C::T*) →* void};
+  method f(covariant-by-class self::C::T% value) → void {
+    let final self::C::T% #t1 = value in this.{self::C::y}{(self::C::T%) → void}(#t1){(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 g(self::C<core::num*>* c) → void {
-  let final self::C<core::num*>* #t2 = c in let final core::double* #t3 = 1.5 in (#t2.{self::C::y}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void)(#t3){(core::num*) →* void};
+static method g(self::C<core::num> c) → void {
+  let final self::C<core::num> #t2 = c in let final core::double #t3 = 1.5 in (#t2.{self::C::y}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void)(#t3){(core::num) → void};
 }
 static method main() → void {}
 
 
 Extra constant evaluation status:
-Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_getter.dart:18:49 -> DoubleConstant(1.5)
-Extra constant evaluation: evaluated: 14, effectively constant: 1
+Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_getter.dart:18:45 -> DoubleConstant(1.5)
+Extra constant evaluation: evaluated: 15, effectively constant: 1
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 d8489b5..f005e46 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart
@@ -1,32 +1,32 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  F<T> get f1 => null;
+  F<T> get f1 => throw '';
   List<F<T>> get f2 {
     return [this.f1];
   }
 }
 
 void g1(C<num> c) {
-  var x = c. /*@ checkReturn=(num*) ->* void */ f1;
+  var x = c. /*@checkReturn=(num) -> void*/ f1;
   print('hello');
   x(1.5);
 }
 
 void g2(C<num> c) {
-  F<int> x = c. /*@ checkReturn=(num*) ->* void */ f1;
+  F<int> x = c. /*@checkReturn=(num) -> void*/ f1;
   x(1);
 }
 
 void g3(C<num> c) {
-  var x = c. /*@ checkReturn=List<(num*) ->* void>* */ f2;
+  var x = c. /*@checkReturn=List<(num) -> void>*/ f2;
 }
 
 void main() {}
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 2e2cd6e..185f54a 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,10 +1,9 @@
-// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  F<T> get f1 => null;
+  F<T> get f1 => throw '';
   List<F<T>> get f2 {}
 }
 
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 3099710..d8b22d8 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,8 +1,7 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
-  F<T> get f1 => null;
+  F<T> get f1 => throw '';
   List<F<T>> get f2 {}
 }
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.expect
index 60445df..72fd3d0 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.expect
@@ -1,38 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  get f1() → (self::C::T*) →* void
-    return null;
-  get f2() → core::List<(self::C::T*) →* void>* {
-    return <(self::C::T*) →* void>[this.{self::C::f1}{(self::C::T*) →* void}];
+  get f1() → (self::C::T%) → void
+    return throw "";
+  get f2() → core::List<(self::C::T%) → void> {
+    return <(self::C::T%) → void>[this.{self::C::f1}{(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 {
-  (core::num*) →* void x = c.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method g1(self::C<core::num> c) → void {
+  (core::num) → void x = c.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
   core::print("hello");
-  x(1.5){(core::num*) →* void};
+  x(1.5){(core::num) → void};
 }
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = c.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
-  x(1){(core::int*) →* void};
+static method g2(self::C<core::num> c) → void {
+  (core::int) → void x = c.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  x(1){(core::int) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  core::List<(core::num*) →* void>* x = c.{self::C::f2}{core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+static method g3(self::C<core::num> c) → void {
+  core::List<(core::num) → void> x = c.{self::C::f2}{core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.modular.expect
index 60445df..72fd3d0 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.modular.expect
@@ -1,38 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  get f1() → (self::C::T*) →* void
-    return null;
-  get f2() → core::List<(self::C::T*) →* void>* {
-    return <(self::C::T*) →* void>[this.{self::C::f1}{(self::C::T*) →* void}];
+  get f1() → (self::C::T%) → void
+    return throw "";
+  get f2() → core::List<(self::C::T%) → void> {
+    return <(self::C::T%) → void>[this.{self::C::f1}{(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 {
-  (core::num*) →* void x = c.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method g1(self::C<core::num> c) → void {
+  (core::num) → void x = c.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
   core::print("hello");
-  x(1.5){(core::num*) →* void};
+  x(1.5){(core::num) → void};
 }
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = c.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
-  x(1){(core::int*) →* void};
+static method g2(self::C<core::num> c) → void {
+  (core::int) → void x = c.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  x(1){(core::int) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  core::List<(core::num*) →* void>* x = c.{self::C::f2}{core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+static method g3(self::C<core::num> c) → void {
+  core::List<(core::num) → void> x = c.{self::C::f2}{core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.outline.expect
index fe6232e..599f411 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.outline.expect
@@ -1,31 +1,21 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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 f1() → (self::C::T%) → void
     ;
-  get f2() → core::List<(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 g1(self::C<core::num> c) → void
   ;
-static method g2(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 g3(self::C<core::num> c) → void
   ;
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.transformed.expect
index 54d2c49..4b87ccb 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.transformed.expect
@@ -1,38 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  get f1() → (self::C::T*) →* void
-    return null;
-  get f2() → core::List<(self::C::T*) →* void>* {
-    return core::_GrowableList::_literal1<(self::C::T*) →* void>(this.{self::C::f1}{(self::C::T*) →* void});
+  get f1() → (self::C::T%) → void
+    return throw "";
+  get f2() → core::List<(self::C::T%) → void> {
+    return core::_GrowableList::_literal1<(self::C::T%) → void>(this.{self::C::f1}{(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 {
-  (core::num*) →* void x = c.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method g1(self::C<core::num> c) → void {
+  (core::num) → void x = c.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
   core::print("hello");
-  x(1.5){(core::num*) →* void};
+  x(1.5){(core::num) → void};
 }
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = c.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
-  x(1){(core::int*) →* void};
+static method g2(self::C<core::num> c) → void {
+  (core::int) → void x = c.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  x(1){(core::int) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  core::List<(core::num*) →* void>* x = c.{self::C::f2}{core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+static method g3(self::C<core::num> c) → void {
+  core::List<(core::num) → void> x = c.{self::C::f2}{core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
 }
 static method main() → void {}
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 8c0d561..b179484 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
@@ -15,18 +17,18 @@
 }
 
 void g1(C<num> c) {
-  var x = c?. /*@ checkReturn=(num*) ->* void */ f1;
+  var x = c?. /*@checkReturn=(num*) ->* void*/ f1;
   print('hello');
   x(1.5);
 }
 
 void g2(C<num> c) {
-  F<int> x = c?. /*@ checkReturn=(num*) ->* void */ f1;
+  F<int> x = c?. /*@checkReturn=(num*) ->* void*/ f1;
   x(1);
 }
 
 void g3(C<num> c) {
-  var x = c?. /*@ checkReturn=List<(num*) ->* void>* */ f2;
+  var x = c?. /*@checkReturn=List<(num*) ->* void>**/ f2;
 }
 
 void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart
new file mode 100644
index 0000000..147c7e4
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart
@@ -0,0 +1,32 @@
+// Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/*@testedFeatures=checks*/
+library test;
+
+typedef void F<T>(T x);
+
+class C<T> {
+  F<T> get f1 => throw '';
+  List<F<T>> get f2 {
+    return [this?.f1];
+  }
+}
+
+void g1(C<num>? c) {
+  var x = c?. /*@checkReturn=(num) -> void*/ f1;
+  print('hello');
+  x?.call(1.5);
+}
+
+void g2(C<num>? c) {
+  F<int>? x = c?. /*@checkReturn=(num) -> void*/ f1;
+  x?.call(1);
+}
+
+void g3(C<num>? c) {
+  var x = c?. /*@checkReturn=List<(num) -> void>*/ f2;
+}
+
+void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.textual_outline.expect
new file mode 100644
index 0000000..3ba92ee
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.textual_outline.expect
@@ -0,0 +1,13 @@
+library test;
+
+typedef void F<T>(T x);
+
+class C<T> {
+  F<T> get f1 => throw '';
+  List<F<T>> get f2 {}
+}
+
+void g1(C<num>? c) {}
+void g2(C<num>? c) {}
+void g3(C<num>? c) {}
+void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..b94fc41
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.textual_outline_modelled.expect
@@ -0,0 +1,12 @@
+library test;
+
+class C<T> {
+  F<T> get f1 => throw '';
+  List<F<T>> get f2 {}
+}
+
+typedef void F<T>(T x);
+void g1(C<num>? c) {}
+void g2(C<num>? c) {}
+void g3(C<num>? c) {}
+void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.expect
new file mode 100644
index 0000000..4436169
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.expect
@@ -0,0 +1,36 @@
+library test /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart:13:13: Warning: The receiver 'this' cannot be null.
+// Try replacing '?.' with '.'
+//     return [this?.f1];
+//             ^^^^
+//
+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%>
+    : super core::Object::•()
+    ;
+  get f1() → (self::C::T%) → void
+    return throw "";
+  get f2() → core::List<(self::C::T%) → void> {
+    return <(self::C::T%) → void>[this.{self::C::f1}{(self::C::T%) → void}];
+  }
+}
+static method g1(self::C<core::num>? c) → void {
+  (core::num) →? void x = let final self::C<core::num>? #t1 = c in #t1 == null ?{(core::num) →? void} null : #t1{self::C<core::num>}.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  core::print("hello");
+  let final (core::num) →? void #t2 = x in #t2 == null ?{void} null : #t2{(core::num) → void}(1.5){(core::num) → void};
+}
+static method g2(self::C<core::num>? c) → void {
+  (core::int) →? void x = let final self::C<core::num>? #t3 = c in #t3 == null ?{(core::num) →? void} null : #t3{self::C<core::num>}.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  let final (core::int) →? void #t4 = x in #t4 == null ?{void} null : #t4{(core::int) → void}(1){(core::int) → void};
+}
+static method g3(self::C<core::num>? c) → void {
+  core::List<(core::num) → void>? x = let final self::C<core::num>? #t5 = c in #t5 == null ?{core::List<(core::num) → void>?} null : #t5{self::C<core::num>}.{self::C::f2}{core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
+}
+static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.modular.expect
new file mode 100644
index 0000000..4436169
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.modular.expect
@@ -0,0 +1,36 @@
+library test /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart:13:13: Warning: The receiver 'this' cannot be null.
+// Try replacing '?.' with '.'
+//     return [this?.f1];
+//             ^^^^
+//
+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%>
+    : super core::Object::•()
+    ;
+  get f1() → (self::C::T%) → void
+    return throw "";
+  get f2() → core::List<(self::C::T%) → void> {
+    return <(self::C::T%) → void>[this.{self::C::f1}{(self::C::T%) → void}];
+  }
+}
+static method g1(self::C<core::num>? c) → void {
+  (core::num) →? void x = let final self::C<core::num>? #t1 = c in #t1 == null ?{(core::num) →? void} null : #t1{self::C<core::num>}.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  core::print("hello");
+  let final (core::num) →? void #t2 = x in #t2 == null ?{void} null : #t2{(core::num) → void}(1.5){(core::num) → void};
+}
+static method g2(self::C<core::num>? c) → void {
+  (core::int) →? void x = let final self::C<core::num>? #t3 = c in #t3 == null ?{(core::num) →? void} null : #t3{self::C<core::num>}.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  let final (core::int) →? void #t4 = x in #t4 == null ?{void} null : #t4{(core::int) → void}(1){(core::int) → void};
+}
+static method g3(self::C<core::num>? c) → void {
+  core::List<(core::num) → void>? x = let final self::C<core::num>? #t5 = c in #t5 == null ?{core::List<(core::num) → void>?} null : #t5{self::C<core::num>}.{self::C::f2}{core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
+}
+static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.outline.expect
new file mode 100644
index 0000000..3e52552
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.outline.expect
@@ -0,0 +1,21 @@
+library test /*isNonNullableByDefault*/;
+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>
+    ;
+}
+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_aware2.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.transformed.expect
new file mode 100644
index 0000000..1564267
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart.weak.transformed.expect
@@ -0,0 +1,36 @@
+library test /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware2.dart:13:13: Warning: The receiver 'this' cannot be null.
+// Try replacing '?.' with '.'
+//     return [this?.f1];
+//             ^^^^
+//
+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%>
+    : super core::Object::•()
+    ;
+  get f1() → (self::C::T%) → void
+    return throw "";
+  get f2() → core::List<(self::C::T%) → void> {
+    return core::_GrowableList::_literal1<(self::C::T%) → void>(this.{self::C::f1}{(self::C::T%) → void});
+  }
+}
+static method g1(self::C<core::num>? c) → void {
+  (core::num) →? void x = let final self::C<core::num>? #t1 = c in #t1 == null ?{(core::num) →? void} null : #t1{self::C<core::num>}.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  core::print("hello");
+  let final (core::num) →? void #t2 = x in #t2 == null ?{void} null : #t2{(core::num) → void}(1.5){(core::num) → void};
+}
+static method g2(self::C<core::num>? c) → void {
+  (core::int) →? void x = let final self::C<core::num>? #t3 = c in #t3 == null ?{(core::num) →? void} null : #t3{self::C<core::num>}.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
+  let final (core::int) →? void #t4 = x in #t4 == null ?{void} null : #t4{(core::int) → void}(1){(core::int) → void};
+}
+static method g3(self::C<core::num>? c) → void {
+  core::List<(core::num) → void>? x = let final self::C<core::num>? #t5 = c in #t5 == null ?{core::List<(core::num) → void>?} null : #t5{self::C<core::num>}.{self::C::f2}{core::List<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::List<(core::num) → void>;
+}
+static method main() → void {}
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 07ef302..ec30f9e 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.textual_outline.expect
index d5b5708..066813e 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,4 +1,3 @@
-// @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 0cea1b9..0bbb372 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.expect
index 23d142c..6dddee6 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,32 +15,22 @@
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f<covariant-by-class U extends self::C::T*>(self::C::f::U* x) → void {}
-  method g1<covariant-by-class U extends self::C::T*>() → void {
-    this.{self::C::f}<self::C::g1::U*>(invalid-expression "pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart:11:15: Error: The argument type 'double' can't be assigned to the parameter type 'U'.
+  method f<covariant-by-class U extends self::C::T%>(self::C::f::U% x) → void {}
+  method g1<covariant-by-class U extends self::C::T%>() → void {
+    this.{self::C::f}<self::C::g1::U%>(invalid-expression "pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart:11:15: Error: The argument type 'double' can't be assigned to the parameter type 'U'.
     this.f<U>(1.5);
-              ^" in 1.5 as{TypeError} Never){(self::C::g1::U*) →* void};
+              ^" in 1.5 as{TypeError,ForNonNullableByDefault} Never){(self::C::g1::U%) → 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 g2(self::C<core::Object*>* c) → void {
-  c.{self::C::f}<core::num*>(1.5){(core::num*) →* void};
+static method g2(self::C<core::Object> c) → void {
+  c.{self::C::f}<core::num>(1.5){(core::num) → void};
 }
 static method test() → void {
-  new self::C::•<core::int*>().{self::C::g1}<core::num*>(){() →* void};
-  self::g2(new self::C::•<core::int*>());
+  new self::C::•<core::int>().{self::C::g1}<core::num>(){() → void};
+  self::g2(new self::C::•<core::int>());
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.modular.expect
index 23d142c..6dddee6 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,32 +15,22 @@
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f<covariant-by-class U extends self::C::T*>(self::C::f::U* x) → void {}
-  method g1<covariant-by-class U extends self::C::T*>() → void {
-    this.{self::C::f}<self::C::g1::U*>(invalid-expression "pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart:11:15: Error: The argument type 'double' can't be assigned to the parameter type 'U'.
+  method f<covariant-by-class U extends self::C::T%>(self::C::f::U% x) → void {}
+  method g1<covariant-by-class U extends self::C::T%>() → void {
+    this.{self::C::f}<self::C::g1::U%>(invalid-expression "pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart:11:15: Error: The argument type 'double' can't be assigned to the parameter type 'U'.
     this.f<U>(1.5);
-              ^" in 1.5 as{TypeError} Never){(self::C::g1::U*) →* void};
+              ^" in 1.5 as{TypeError,ForNonNullableByDefault} Never){(self::C::g1::U%) → 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 g2(self::C<core::Object*>* c) → void {
-  c.{self::C::f}<core::num*>(1.5){(core::num*) →* void};
+static method g2(self::C<core::Object> c) → void {
+  c.{self::C::f}<core::num>(1.5){(core::num) → void};
 }
 static method test() → void {
-  new self::C::•<core::int*>().{self::C::g1}<core::num*>(){() →* void};
-  self::g2(new self::C::•<core::int*>());
+  new self::C::•<core::int>().{self::C::g1}<core::num>(){() → void};
+  self::g2(new self::C::•<core::int>());
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.outline.expect
index a4e9eee9..3a05d92 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.outline.expect
@@ -1,26 +1,16 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  method f<covariant-by-class U extends self::C::T*>(self::C::f::U* x) → void
+  method f<covariant-by-class U extends self::C::T%>(self::C::f::U% x) → void
     ;
-  method g1<covariant-by-class U extends self::C::T*>() → void
+  method g1<covariant-by-class U extends 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 g2(self::C<core::Object*>* c) → void
+static method g2(self::C<core::Object> c) → void
   ;
 static method test() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.transformed.expect
index 23d142c..6dddee6 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -15,32 +15,22 @@
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f<covariant-by-class U extends self::C::T*>(self::C::f::U* x) → void {}
-  method g1<covariant-by-class U extends self::C::T*>() → void {
-    this.{self::C::f}<self::C::g1::U*>(invalid-expression "pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart:11:15: Error: The argument type 'double' can't be assigned to the parameter type 'U'.
+  method f<covariant-by-class U extends self::C::T%>(self::C::f::U% x) → void {}
+  method g1<covariant-by-class U extends self::C::T%>() → void {
+    this.{self::C::f}<self::C::g1::U%>(invalid-expression "pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart:11:15: Error: The argument type 'double' can't be assigned to the parameter type 'U'.
     this.f<U>(1.5);
-              ^" in 1.5 as{TypeError} Never){(self::C::g1::U*) →* void};
+              ^" in 1.5 as{TypeError,ForNonNullableByDefault} Never){(self::C::g1::U%) → 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 g2(self::C<core::Object*>* c) → void {
-  c.{self::C::f}<core::num*>(1.5){(core::num*) →* void};
+static method g2(self::C<core::Object> c) → void {
+  c.{self::C::f}<core::num>(1.5){(core::num) → void};
 }
 static method test() → void {
-  new self::C::•<core::int*>().{self::C::g1}<core::num*>(){() →* void};
-  self::g2(new self::C::•<core::int*>());
+  new self::C::•<core::int>().{self::C::g1}<core::num>(){() → void};
+  self::g2(new self::C::•<core::int>());
 }
 static method main() → void {}
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 bb6a3cd..a7b05bf 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart
@@ -1,12 +1,12 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class C<T> {
-  void f(T x) {}
+  void f(T? x) {}
 }
 
 void g1(C<num> c) {
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 e49980f..32ad3db 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,8 +1,7 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
-  void f(T x) {}
+  void f(T? x) {}
 }
 
 void g1(C<num> c) {}
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 82b0389..0ff079d 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,8 +1,7 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
-  void f(T x) {}
+  void f(T? x) {}
 }
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.expect
index 2794c16..14bcaae 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.expect
@@ -1,30 +1,20 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::C::T* 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
+  method f(covariant-by-class self::C::T? x) → void {}
 }
-static method g1(self::C<core::num*>* c) → void {
-  c.{self::C::f}(1.5){(core::num*) →* void};
+static method g1(self::C<core::num> c) → void {
+  c.{self::C::f}(1.5){(core::num?) → void};
 }
-static method g2(self::C<core::int*>* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g2(self::C<core::int> c) → void {
+  c.{self::C::f}(1){(core::int?) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  c.{self::C::f}(null){(core::num*) →* void};
+static method g3(self::C<core::num> c) → void {
+  c.{self::C::f}(null){(core::num?) → void};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.modular.expect
index 2794c16..14bcaae 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.modular.expect
@@ -1,30 +1,20 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::C::T* 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
+  method f(covariant-by-class self::C::T? x) → void {}
 }
-static method g1(self::C<core::num*>* c) → void {
-  c.{self::C::f}(1.5){(core::num*) →* void};
+static method g1(self::C<core::num> c) → void {
+  c.{self::C::f}(1.5){(core::num?) → void};
 }
-static method g2(self::C<core::int*>* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g2(self::C<core::int> c) → void {
+  c.{self::C::f}(1){(core::int?) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  c.{self::C::f}(null){(core::num*) →* void};
+static method g3(self::C<core::num> c) → void {
+  c.{self::C::f}(null){(core::num?) → void};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.outline.expect
index 1c58939..72c6ce5 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.outline.expect
@@ -1,28 +1,18 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  method f(covariant-by-class self::C::T* x) → void
+  method f(covariant-by-class self::C::T? 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
 }
-static method g1(self::C<core::num*>* c) → void
+static method g1(self::C<core::num> c) → void
   ;
-static method g2(self::C<core::int*>* c) → void
+static method g2(self::C<core::int> c) → void
   ;
-static method g3(self::C<core::num*>* c) → void
+static method g3(self::C<core::num> c) → void
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.transformed.expect
index 2794c16..14bcaae 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.transformed.expect
@@ -1,30 +1,20 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::C::T* 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
+  method f(covariant-by-class self::C::T? x) → void {}
 }
-static method g1(self::C<core::num*>* c) → void {
-  c.{self::C::f}(1.5){(core::num*) →* void};
+static method g1(self::C<core::num> c) → void {
+  c.{self::C::f}(1.5){(core::num?) → void};
 }
-static method g2(self::C<core::int*>* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g2(self::C<core::int> c) → void {
+  c.{self::C::f}(1){(core::int?) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  c.{self::C::f}(null){(core::num*) →* void};
+static method g3(self::C<core::num> c) → void {
+  c.{self::C::f}(null){(core::num?) → void};
 }
 static method main() → dynamic {}
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 8c2a6b4..6cb0061 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.textual_outline.expect
index bf82a37..be90d87 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,4 +1,3 @@
-// @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 672a106..9b83d94 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.expect
index 41147c6..f874d1a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.expect
@@ -1,36 +1,26 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class core::List<self::C::T*>* x) → void {}
-  method f2(covariant-by-class () →* self::C::T* callback) → void {}
-  method f3(covariant-by-class (self::C::T*) →* self::C::T* callback) → void {}
-  method f4((self::C::T*) →* void callback) → 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
+  method f1(covariant-by-class core::List<self::C::T%> x) → void {}
+  method f2(covariant-by-class () → self::C::T% callback) → void {}
+  method f3(covariant-by-class (self::C::T%) → self::C::T% callback) → void {}
+  method f4((self::C::T%) → void callback) → void {}
 }
-static method g1(self::C<core::num*>* c, core::List<core::num*>* l) → void {
-  c.{self::C::f1}(l){(core::List<core::num*>*) →* void};
+static method g1(self::C<core::num> c, core::List<core::num> l) → void {
+  c.{self::C::f1}(l){(core::List<core::num>) → void};
 }
-static method g2(self::C<core::num*>* c, () →* core::num* callback) → void {
-  c.{self::C::f2}(callback){(() →* core::num*) →* void};
+static method g2(self::C<core::num> c, () → core::num callback) → void {
+  c.{self::C::f2}(callback){(() → core::num) → void};
 }
-static method g3(self::C<core::num*>* c, (core::num*) →* core::num* callback) → void {
-  c.{self::C::f3}(callback){((core::num*) →* core::num*) →* void};
+static method g3(self::C<core::num> c, (core::num) → core::num callback) → void {
+  c.{self::C::f3}(callback){((core::num) → core::num) → void};
 }
-static method g4(self::C<core::num*>* c, (core::num*) →* void callback) → void {
-  c.{self::C::f4}(callback){((core::num*) →* void) →* void};
+static method g4(self::C<core::num> c, (core::num) → void callback) → void {
+  c.{self::C::f4}(callback){((core::num) → void) → void};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.modular.expect
index 41147c6..f874d1a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.modular.expect
@@ -1,36 +1,26 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class core::List<self::C::T*>* x) → void {}
-  method f2(covariant-by-class () →* self::C::T* callback) → void {}
-  method f3(covariant-by-class (self::C::T*) →* self::C::T* callback) → void {}
-  method f4((self::C::T*) →* void callback) → 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
+  method f1(covariant-by-class core::List<self::C::T%> x) → void {}
+  method f2(covariant-by-class () → self::C::T% callback) → void {}
+  method f3(covariant-by-class (self::C::T%) → self::C::T% callback) → void {}
+  method f4((self::C::T%) → void callback) → void {}
 }
-static method g1(self::C<core::num*>* c, core::List<core::num*>* l) → void {
-  c.{self::C::f1}(l){(core::List<core::num*>*) →* void};
+static method g1(self::C<core::num> c, core::List<core::num> l) → void {
+  c.{self::C::f1}(l){(core::List<core::num>) → void};
 }
-static method g2(self::C<core::num*>* c, () →* core::num* callback) → void {
-  c.{self::C::f2}(callback){(() →* core::num*) →* void};
+static method g2(self::C<core::num> c, () → core::num callback) → void {
+  c.{self::C::f2}(callback){(() → core::num) → void};
 }
-static method g3(self::C<core::num*>* c, (core::num*) →* core::num* callback) → void {
-  c.{self::C::f3}(callback){((core::num*) →* core::num*) →* void};
+static method g3(self::C<core::num> c, (core::num) → core::num callback) → void {
+  c.{self::C::f3}(callback){((core::num) → core::num) → void};
 }
-static method g4(self::C<core::num*>* c, (core::num*) →* void callback) → void {
-  c.{self::C::f4}(callback){((core::num*) →* void) →* void};
+static method g4(self::C<core::num> c, (core::num) → void callback) → void {
+  c.{self::C::f4}(callback){((core::num) → void) → void};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.outline.expect
index 1482d6b..a31dcd4 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.outline.expect
@@ -1,36 +1,26 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  method f1(covariant-by-class core::List<self::C::T*>* x) → void
+  method f1(covariant-by-class core::List<self::C::T%> x) → void
     ;
-  method f2(covariant-by-class () →* self::C::T* callback) → void
+  method f2(covariant-by-class () → self::C::T% callback) → void
     ;
-  method f3(covariant-by-class (self::C::T*) →* self::C::T* callback) → void
+  method f3(covariant-by-class (self::C::T%) → self::C::T% callback) → void
     ;
-  method f4((self::C::T*) →* void callback) → void
+  method f4((self::C::T%) → void callback) → 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, core::List<core::num*>* l) → void
+static method g1(self::C<core::num> c, core::List<core::num> l) → void
   ;
-static method g2(self::C<core::num*>* c, () →* core::num* callback) → void
+static method g2(self::C<core::num> c, () → core::num callback) → void
   ;
-static method g3(self::C<core::num*>* c, (core::num*) →* core::num* callback) → void
+static method g3(self::C<core::num> c, (core::num) → core::num callback) → void
   ;
-static method g4(self::C<core::num*>* c, (core::num*) →* void callback) → void
+static method g4(self::C<core::num> c, (core::num) → void callback) → void
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.transformed.expect
index 41147c6..f874d1a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.transformed.expect
@@ -1,36 +1,26 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class core::List<self::C::T*>* x) → void {}
-  method f2(covariant-by-class () →* self::C::T* callback) → void {}
-  method f3(covariant-by-class (self::C::T*) →* self::C::T* callback) → void {}
-  method f4((self::C::T*) →* void callback) → 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
+  method f1(covariant-by-class core::List<self::C::T%> x) → void {}
+  method f2(covariant-by-class () → self::C::T% callback) → void {}
+  method f3(covariant-by-class (self::C::T%) → self::C::T% callback) → void {}
+  method f4((self::C::T%) → void callback) → void {}
 }
-static method g1(self::C<core::num*>* c, core::List<core::num*>* l) → void {
-  c.{self::C::f1}(l){(core::List<core::num*>*) →* void};
+static method g1(self::C<core::num> c, core::List<core::num> l) → void {
+  c.{self::C::f1}(l){(core::List<core::num>) → void};
 }
-static method g2(self::C<core::num*>* c, () →* core::num* callback) → void {
-  c.{self::C::f2}(callback){(() →* core::num*) →* void};
+static method g2(self::C<core::num> c, () → core::num callback) → void {
+  c.{self::C::f2}(callback){(() → core::num) → void};
 }
-static method g3(self::C<core::num*>* c, (core::num*) →* core::num* callback) → void {
-  c.{self::C::f3}(callback){((core::num*) →* core::num*) →* void};
+static method g3(self::C<core::num> c, (core::num) → core::num callback) → void {
+  c.{self::C::f3}(callback){((core::num) → core::num) → void};
 }
-static method g4(self::C<core::num*>* c, (core::num*) →* void callback) → void {
-  c.{self::C::f4}(callback){((core::num*) →* void) →* void};
+static method g4(self::C<core::num> c, (core::num) → void callback) → void {
+  c.{self::C::f4}(callback){((core::num) → void) → void};
 }
 static method main() → dynamic {}
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 dbc9828..0ca506f 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;
 
@@ -12,12 +12,12 @@
 
 class C<U> implements I<int> {
   void f1(int x) {}
-  void f2(int x, [U y]) {}
+  void f2(int x, [U? y]) {}
 }
 
 class D<U> extends C<U> {
   void f1(int x) {}
-  void f2(int x, [U y]) {}
+  void f2(int x, [U? y]) {}
 }
 
 void g1(C<num> c) {
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 7e31659..e441193 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 abstract class I<T> {
@@ -8,12 +7,12 @@
 
 class C<U> implements I<int> {
   void f1(int x) {}
-  void f2(int x, [U y]) {}
+  void f2(int x, [U? y]) {}
 }
 
 class D<U> extends C<U> {
   void f1(int x) {}
-  void f2(int x, [U y]) {}
+  void f2(int x, [U? y]) {}
 }
 
 void g1(C<num> c) {}
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 20115dc..06ab27f 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 abstract class I<T> {
@@ -8,12 +7,12 @@
 
 class C<U> implements I<int> {
   void f1(int x) {}
-  void f2(int x, [U y]) {}
+  void f2(int x, [U? y]) {}
 }
 
 class D<U> extends C<U> {
   void f1(int x) {}
-  void f2(int x, [U y]) {}
+  void f2(int x, [U? y]) {}
 }
 
 void g1(C<num> c) {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.expect
index b492a06..76a9980 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.expect
@@ -1,65 +1,45 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f1(covariant-by-class self::I::T* x) → void;
-  abstract method f2(covariant-by-class self::I::T* 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
+  abstract method f1(covariant-by-class self::I::T% x) → void;
+  abstract method f2(covariant-by-class self::I::T% x) → void;
 }
-class C<U extends core::Object* = dynamic> extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::C<self::C::U*>*
+class C<U extends core::Object? = dynamic> extends core::Object implements self::I<core::int> {
+  synthetic constructor •() → self::C<self::C::U%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class core::int* x) → void {}
-  method f2(covariant-by-class core::int* x, [covariant-by-class self::C::U* y = #C1]) → 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
+  method f1(covariant-by-class core::int x) → void {}
+  method f2(covariant-by-class core::int x, [covariant-by-class self::C::U? y = #C1]) → void {}
 }
-class D<U extends core::Object* = dynamic> extends self::C<self::D::U*> {
-  synthetic constructor •() → self::D<self::D::U*>*
+class D<U extends core::Object? = dynamic> extends self::C<self::D::U%> {
+  synthetic constructor •() → self::D<self::D::U%>
     : super self::C::•()
     ;
-  method f1(covariant-by-class core::int* x) → void {}
-  method f2(covariant-by-class core::int* x, [covariant-by-class self::D::U* y = #C1]) → void {}
+  method f1(covariant-by-class core::int x) → void {}
+  method f2(covariant-by-class core::int x, [covariant-by-class self::D::U? y = #C1]) → void {}
 }
-static method g1(self::C<core::num*>* c) → void {
-  c.{self::C::f1}(1){(core::int*) →* void};
+static method g1(self::C<core::num> c) → void {
+  c.{self::C::f1}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f1}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f1}(1.5){(core::num) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  c.{self::C::f2}(1, 1.5){(core::int*, [core::num*]) →* void};
+static method g3(self::C<core::num> c) → void {
+  c.{self::C::f2}(1, 1.5){(core::int, [core::num?]) → void};
 }
-static method g4(self::D<core::num*>* d) → void {
-  d.{self::D::f1}(1){(core::int*) →* void};
+static method g4(self::D<core::num> d) → void {
+  d.{self::D::f1}(1){(core::int) → void};
 }
-static method g5(self::D<core::num*>* d) → void {
-  d.{self::D::f2}(1, 1.5){(core::int*, [core::num*]) →* void};
+static method g5(self::D<core::num> d) → void {
+  d.{self::D::f2}(1, 1.5){(core::int, [core::num?]) → void};
 }
 static method test() → void {
-  self::g2(new self::C::•<core::num*>());
+  self::g2(new self::C::•<core::num>());
 }
 static method main() → void {}
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.modular.expect
index b492a06..76a9980 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.modular.expect
@@ -1,65 +1,45 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f1(covariant-by-class self::I::T* x) → void;
-  abstract method f2(covariant-by-class self::I::T* 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
+  abstract method f1(covariant-by-class self::I::T% x) → void;
+  abstract method f2(covariant-by-class self::I::T% x) → void;
 }
-class C<U extends core::Object* = dynamic> extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::C<self::C::U*>*
+class C<U extends core::Object? = dynamic> extends core::Object implements self::I<core::int> {
+  synthetic constructor •() → self::C<self::C::U%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class core::int* x) → void {}
-  method f2(covariant-by-class core::int* x, [covariant-by-class self::C::U* y = #C1]) → 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
+  method f1(covariant-by-class core::int x) → void {}
+  method f2(covariant-by-class core::int x, [covariant-by-class self::C::U? y = #C1]) → void {}
 }
-class D<U extends core::Object* = dynamic> extends self::C<self::D::U*> {
-  synthetic constructor •() → self::D<self::D::U*>*
+class D<U extends core::Object? = dynamic> extends self::C<self::D::U%> {
+  synthetic constructor •() → self::D<self::D::U%>
     : super self::C::•()
     ;
-  method f1(covariant-by-class core::int* x) → void {}
-  method f2(covariant-by-class core::int* x, [covariant-by-class self::D::U* y = #C1]) → void {}
+  method f1(covariant-by-class core::int x) → void {}
+  method f2(covariant-by-class core::int x, [covariant-by-class self::D::U? y = #C1]) → void {}
 }
-static method g1(self::C<core::num*>* c) → void {
-  c.{self::C::f1}(1){(core::int*) →* void};
+static method g1(self::C<core::num> c) → void {
+  c.{self::C::f1}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f1}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f1}(1.5){(core::num) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  c.{self::C::f2}(1, 1.5){(core::int*, [core::num*]) →* void};
+static method g3(self::C<core::num> c) → void {
+  c.{self::C::f2}(1, 1.5){(core::int, [core::num?]) → void};
 }
-static method g4(self::D<core::num*>* d) → void {
-  d.{self::D::f1}(1){(core::int*) →* void};
+static method g4(self::D<core::num> d) → void {
+  d.{self::D::f1}(1){(core::int) → void};
 }
-static method g5(self::D<core::num*>* d) → void {
-  d.{self::D::f2}(1, 1.5){(core::int*, [core::num*]) →* void};
+static method g5(self::D<core::num> d) → void {
+  d.{self::D::f2}(1, 1.5){(core::int, [core::num?]) → void};
 }
 static method test() → void {
-  self::g2(new self::C::•<core::num*>());
+  self::g2(new self::C::•<core::num>());
 }
 static method main() → void {}
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.outline.expect
index f427dbb..997d988 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.outline.expect
@@ -1,58 +1,38 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     ;
-  abstract method f1(covariant-by-class self::I::T* x) → void;
-  abstract method f2(covariant-by-class self::I::T* 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
+  abstract method f1(covariant-by-class self::I::T% x) → void;
+  abstract method f2(covariant-by-class self::I::T% x) → void;
 }
-class C<U extends core::Object* = dynamic> extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::C<self::C::U*>*
+class C<U extends core::Object? = dynamic> extends core::Object implements self::I<core::int> {
+  synthetic constructor •() → self::C<self::C::U%>
     ;
-  method f1(covariant-by-class core::int* x) → void
+  method f1(covariant-by-class core::int x) → void
     ;
-  method f2(covariant-by-class core::int* x, [covariant-by-class self::C::U* y = null]) → 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<U extends core::Object* = dynamic> extends self::C<self::D::U*> {
-  synthetic constructor •() → self::D<self::D::U*>*
-    ;
-  method f1(covariant-by-class core::int* x) → void
-    ;
-  method f2(covariant-by-class core::int* x, [covariant-by-class self::D::U* y = null]) → void
+  method f2(covariant-by-class core::int x, [covariant-by-class self::C::U? y = null]) → void
     ;
 }
-static method g1(self::C<core::num*>* c) → void
+class D<U extends core::Object? = dynamic> extends self::C<self::D::U%> {
+  synthetic constructor •() → self::D<self::D::U%>
+    ;
+  method f1(covariant-by-class core::int x) → void
+    ;
+  method f2(covariant-by-class core::int x, [covariant-by-class self::D::U? y = null]) → void
+    ;
+}
+static method g1(self::C<core::num> c) → void
   ;
-static method g2(self::I<core::num*>* i) → void
+static method g2(self::I<core::num> i) → void
   ;
-static method g3(self::C<core::num*>* c) → void
+static method g3(self::C<core::num> c) → void
   ;
-static method g4(self::D<core::num*>* d) → void
+static method g4(self::D<core::num> d) → void
   ;
-static method g5(self::D<core::num*>* d) → void
+static method g5(self::D<core::num> d) → void
   ;
 static method test() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.transformed.expect
index b492a06..76a9980 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.transformed.expect
@@ -1,65 +1,45 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f1(covariant-by-class self::I::T* x) → void;
-  abstract method f2(covariant-by-class self::I::T* 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
+  abstract method f1(covariant-by-class self::I::T% x) → void;
+  abstract method f2(covariant-by-class self::I::T% x) → void;
 }
-class C<U extends core::Object* = dynamic> extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::C<self::C::U*>*
+class C<U extends core::Object? = dynamic> extends core::Object implements self::I<core::int> {
+  synthetic constructor •() → self::C<self::C::U%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class core::int* x) → void {}
-  method f2(covariant-by-class core::int* x, [covariant-by-class self::C::U* y = #C1]) → 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
+  method f1(covariant-by-class core::int x) → void {}
+  method f2(covariant-by-class core::int x, [covariant-by-class self::C::U? y = #C1]) → void {}
 }
-class D<U extends core::Object* = dynamic> extends self::C<self::D::U*> {
-  synthetic constructor •() → self::D<self::D::U*>*
+class D<U extends core::Object? = dynamic> extends self::C<self::D::U%> {
+  synthetic constructor •() → self::D<self::D::U%>
     : super self::C::•()
     ;
-  method f1(covariant-by-class core::int* x) → void {}
-  method f2(covariant-by-class core::int* x, [covariant-by-class self::D::U* y = #C1]) → void {}
+  method f1(covariant-by-class core::int x) → void {}
+  method f2(covariant-by-class core::int x, [covariant-by-class self::D::U? y = #C1]) → void {}
 }
-static method g1(self::C<core::num*>* c) → void {
-  c.{self::C::f1}(1){(core::int*) →* void};
+static method g1(self::C<core::num> c) → void {
+  c.{self::C::f1}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f1}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f1}(1.5){(core::num) → void};
 }
-static method g3(self::C<core::num*>* c) → void {
-  c.{self::C::f2}(1, 1.5){(core::int*, [core::num*]) →* void};
+static method g3(self::C<core::num> c) → void {
+  c.{self::C::f2}(1, 1.5){(core::int, [core::num?]) → void};
 }
-static method g4(self::D<core::num*>* d) → void {
-  d.{self::D::f1}(1){(core::int*) →* void};
+static method g4(self::D<core::num> d) → void {
+  d.{self::D::f1}(1){(core::int) → void};
 }
-static method g5(self::D<core::num*>* d) → void {
-  d.{self::D::f2}(1, 1.5){(core::int*, [core::num*]) →* void};
+static method g5(self::D<core::num> d) → void {
+  d.{self::D::f2}(1, 1.5){(core::int, [core::num?]) → void};
 }
 static method test() → void {
-  self::g2(new self::C::•<core::num*>());
+  self::g2(new self::C::•<core::num>());
 }
 static method main() → void {}
 
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 ea3b2d7..4da2532 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.textual_outline.expect
index e5cf27f..7d6cf9b 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,4 +1,3 @@
-// @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 dab06f7..f1f1057 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.expect
index c7a7694..32dd7df 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.expect
@@ -1,67 +1,37 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-class C = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::M::f}(x);
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f}(1.5){(core::num) → void};
 }
 static method test() → void {
   self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.modular.expect
index c7a7694..32dd7df 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.modular.expect
@@ -1,67 +1,37 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-class C = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::M::f}(x);
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f}(1.5){(core::num) → void};
 }
 static method test() → void {
   self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.outline.expect
index 9ebe44f..b8c12ff 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.outline.expect
@@ -1,64 +1,34 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  method f(core::int* x) → void
+  method f(core::int 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
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     ;
-  method f(core::int* x) → void
+  method f(core::int 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 C = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::M::f}(x);
 }
-static method g1(self::C* c) → void
+static method g1(self::C c) → void
   ;
-static method g2(self::I<core::num*>* i) → void
+static method g2(self::I<core::num> i) → void
   ;
 static method test() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.transformed.expect
index 224bd67..9d2b0e0 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.transformed.expect
@@ -1,66 +1,36 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-class C extends self::B implements self::I<core::int*>, self::M /*isEliminatedMixin*/  {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int>, self::M /*isEliminatedMixin*/  {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  method f(covariant-by-class core::int* x) → void {}
+  method f(covariant-by-class core::int x) → void {}
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f}(1.5){(core::num) → void};
 }
 static method test() → void {
   self::g2(new self::C::•());
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 409b0b4..a869fd9 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.textual_outline.expect
index 479adf0..1995799 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,4 +1,3 @@
-// @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 cc37c29..da6ecc9 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.expect
index 5e85a90..e79657e 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.expect
@@ -1,51 +1,31 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::B::f}(x);
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f}(1.5){(core::num) → void};
 }
 static method test() → void {
   self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.modular.expect
index 5e85a90..e79657e 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.modular.expect
@@ -1,51 +1,31 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::B::f}(x);
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f}(1.5){(core::num) → void};
 }
 static method test() → void {
   self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.outline.expect
index fc3b403..4b88524 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.outline.expect
@@ -1,47 +1,27 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  method f(core::int* x) → void
+  method f(core::int 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
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::B::f}(x);
 }
-static method g1(self::C* c) → void
+static method g1(self::C c) → void
   ;
-static method g2(self::I<core::num*>* i) → void
+static method g2(self::I<core::num> i) → void
   ;
 static method test() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.transformed.expect
index 5e85a90..e79657e 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.transformed.expect
@@ -1,51 +1,31 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::B::f}(x);
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f}(1.5){(core::num) → void};
 }
 static method test() → void {
   self::g2(new self::C::•());
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 85f3e7c..8208926 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.textual_outline.expect
index 3a36753..ef098bf 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,4 +1,3 @@
-// @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 1c14876..6b9085b 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.expect
index e69ba31..f446603 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.expect
@@ -1,66 +1,36 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : 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 = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::B::f}(x);
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f}(1.5){(core::num) → void};
 }
 static method test() → void {
   self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.modular.expect
index e69ba31..f446603 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.modular.expect
@@ -1,66 +1,36 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : 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 = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::B::f}(x);
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f}(1.5){(core::num) → void};
 }
 static method test() → void {
   self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.outline.expect
index 75621ad..6ff2a0e 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.outline.expect
@@ -1,62 +1,32 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  method f(core::int* x) → void
+  method f(core::int 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
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::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 C = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::B::f}(x);
 }
-static method g1(self::C* c) → void
+static method g1(self::C c) → void
   ;
-static method g2(self::I<core::num*>* i) → void
+static method g2(self::I<core::num> i) → void
   ;
 static method test() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.transformed.expect
index 8aae2e5..38a7a74 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.transformed.expect
@@ -1,66 +1,36 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : 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 self::B implements self::I<core::int*>, self::M /*isEliminatedMixin*/  {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int>, self::M /*isEliminatedMixin*/  {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x) → void
+  forwarding-stub method f(covariant-by-class core::int x) → void
     return super.{self::B::f}(x);
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1){(core::int*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1){(core::int) → void};
 }
-static method g2(self::I<core::num*>* i) → void {
-  i.{self::I::f}(1.5){(core::num*) →* void};
+static method g2(self::I<core::num> i) → void {
+  i.{self::I::f}(1.5){(core::num) → void};
 }
 static method test() → void {
   self::g2(new self::C::•());
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 0d4dd96..2fd42d7 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;
 
@@ -15,7 +15,7 @@
 }
 
 F<num> g1(C<num> c) {
-  return c.f1;
+  return c. /*@checkReturn=(num) -> void*/ f1;
 }
 
 void g2(C<int> c, Object x) {
@@ -24,7 +24,7 @@
 }
 
 G<List<num>, num> g3(C<num> c) {
-  return c.f2;
+  return c. /*@checkReturn=(List<num>) -> num*/ f2;
 }
 
 void test() {
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 6e9b88c..86fd3b6 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,4 +1,3 @@
-// @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 cce693e..c813f8d 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.expect
index a63dac3..71d5edf 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.expect
@@ -1,40 +1,30 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<contravariant T extends core::Object* = dynamic, U extends core::Object* = dynamic> = (T*) →* U*;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+typedef G<contravariant T extends core::Object? = dynamic, U extends core::Object? = dynamic> = (T%) → U%;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class self::C::T* x) → void {}
-  method f2(covariant-by-class core::List<self::C::T*>* x) → self::C::T*
-    return x.{core::Iterable::first}{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
+  method f1(covariant-by-class self::C::T% x) → void {}
+  method f2(covariant-by-class core::List<self::C::T%> x) → self::C::T%
+    return x.{core::Iterable::first}{self::C::T%};
 }
-static method g1(self::C<core::num*>* c) → (core::num*) →* void {
-  return c.{self::C::f1}{(core::num*) →* void};
+static method g1(self::C<core::num> c) → (core::num) → void {
+  return c.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
 }
-static method g2(self::C<core::int*>* c, core::Object* x) → void {
-  (core::Object*) →* void f = self::g1(c) as (core::Object*) →* void;
-  f(x){(core::Object*) →* void};
+static method g2(self::C<core::int> c, core::Object x) → void {
+  (core::Object) → void f = self::g1(c) as{ForNonNullableByDefault} (core::Object) → void;
+  f(x){(core::Object) → void};
 }
-static method g3(self::C<core::num*>* c) → (core::List<core::num*>*) →* core::num* {
-  return c.{self::C::f2}{(core::List<core::num*>*) →* core::num*};
+static method g3(self::C<core::num> c) → (core::List<core::num>) → core::num {
+  return c.{self::C::f2}{(core::List<core::num>) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::List<core::num>) → core::num;
 }
 static method test() → void {
-  (core::num*) →* void x = self::g1(new self::C::•<core::int*>());
-  x(1.5){(core::num*) →* void};
-  self::g3(new self::C::•<core::int*>());
+  (core::num) → void x = self::g1(new self::C::•<core::int>());
+  x(1.5){(core::num) → void};
+  self::g3(new self::C::•<core::int>());
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.modular.expect
index a63dac3..71d5edf 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.modular.expect
@@ -1,40 +1,30 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<contravariant T extends core::Object* = dynamic, U extends core::Object* = dynamic> = (T*) →* U*;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+typedef G<contravariant T extends core::Object? = dynamic, U extends core::Object? = dynamic> = (T%) → U%;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class self::C::T* x) → void {}
-  method f2(covariant-by-class core::List<self::C::T*>* x) → self::C::T*
-    return x.{core::Iterable::first}{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
+  method f1(covariant-by-class self::C::T% x) → void {}
+  method f2(covariant-by-class core::List<self::C::T%> x) → self::C::T%
+    return x.{core::Iterable::first}{self::C::T%};
 }
-static method g1(self::C<core::num*>* c) → (core::num*) →* void {
-  return c.{self::C::f1}{(core::num*) →* void};
+static method g1(self::C<core::num> c) → (core::num) → void {
+  return c.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
 }
-static method g2(self::C<core::int*>* c, core::Object* x) → void {
-  (core::Object*) →* void f = self::g1(c) as (core::Object*) →* void;
-  f(x){(core::Object*) →* void};
+static method g2(self::C<core::int> c, core::Object x) → void {
+  (core::Object) → void f = self::g1(c) as{ForNonNullableByDefault} (core::Object) → void;
+  f(x){(core::Object) → void};
 }
-static method g3(self::C<core::num*>* c) → (core::List<core::num*>*) →* core::num* {
-  return c.{self::C::f2}{(core::List<core::num*>*) →* core::num*};
+static method g3(self::C<core::num> c) → (core::List<core::num>) → core::num {
+  return c.{self::C::f2}{(core::List<core::num>) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::List<core::num>) → core::num;
 }
 static method test() → void {
-  (core::num*) →* void x = self::g1(new self::C::•<core::int*>());
-  x(1.5){(core::num*) →* void};
-  self::g3(new self::C::•<core::int*>());
+  (core::num) → void x = self::g1(new self::C::•<core::int>());
+  x(1.5){(core::num) → void};
+  self::g3(new self::C::•<core::int>());
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.outline.expect
index 5ba10bb..146ef04 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.outline.expect
@@ -1,32 +1,22 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<contravariant T extends core::Object* = dynamic, U extends core::Object* = dynamic> = (T*) →* U*;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+typedef G<contravariant T extends core::Object? = dynamic, U extends core::Object? = dynamic> = (T%) → U%;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  method f1(covariant-by-class self::C::T* x) → void
+  method f1(covariant-by-class self::C::T% x) → void
     ;
-  method f2(covariant-by-class core::List<self::C::T*>* x) → self::C::T*
+  method f2(covariant-by-class core::List<self::C::T%> x) → 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 g1(self::C<core::num*>* c) → (core::num*) →* void
+static method g1(self::C<core::num> c) → (core::num) → void
   ;
-static method g2(self::C<core::int*>* c, core::Object* x) → void
+static method g2(self::C<core::int> c, core::Object x) → void
   ;
-static method g3(self::C<core::num*>* c) → (core::List<core::num*>*) →* core::num*
+static method g3(self::C<core::num> c) → (core::List<core::num>) → core::num
   ;
 static method test() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.transformed.expect
index a63dac3..71d5edf 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.transformed.expect
@@ -1,40 +1,30 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<contravariant T extends core::Object* = dynamic, U extends core::Object* = dynamic> = (T*) →* U*;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+typedef G<contravariant T extends core::Object? = dynamic, U extends core::Object? = dynamic> = (T%) → U%;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class self::C::T* x) → void {}
-  method f2(covariant-by-class core::List<self::C::T*>* x) → self::C::T*
-    return x.{core::Iterable::first}{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
+  method f1(covariant-by-class self::C::T% x) → void {}
+  method f2(covariant-by-class core::List<self::C::T%> x) → self::C::T%
+    return x.{core::Iterable::first}{self::C::T%};
 }
-static method g1(self::C<core::num*>* c) → (core::num*) →* void {
-  return c.{self::C::f1}{(core::num*) →* void};
+static method g1(self::C<core::num> c) → (core::num) → void {
+  return c.{self::C::f1}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
 }
-static method g2(self::C<core::int*>* c, core::Object* x) → void {
-  (core::Object*) →* void f = self::g1(c) as (core::Object*) →* void;
-  f(x){(core::Object*) →* void};
+static method g2(self::C<core::int> c, core::Object x) → void {
+  (core::Object) → void f = self::g1(c) as{ForNonNullableByDefault} (core::Object) → void;
+  f(x){(core::Object) → void};
 }
-static method g3(self::C<core::num*>* c) → (core::List<core::num*>*) →* core::num* {
-  return c.{self::C::f2}{(core::List<core::num*>*) →* core::num*};
+static method g3(self::C<core::num> c) → (core::List<core::num>) → core::num {
+  return c.{self::C::f2}{(core::List<core::num>) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::List<core::num>) → core::num;
 }
 static method test() → void {
-  (core::num*) →* void x = self::g1(new self::C::•<core::int*>());
-  x(1.5){(core::num*) →* void};
-  self::g3(new self::C::•<core::int*>());
+  (core::num) → void x = self::g1(new self::C::•<core::int>());
+  x(1.5){(core::num) → void};
+  self::g3(new self::C::•<core::int>());
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart
index c506dd0..02bfdcf 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.textual_outline.expect
index ce94263..a0211e4 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,4 +1,3 @@
-// @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 845403c..7b38b24 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 F<num> g2(C c) {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.expect
index bf44b39..38a56e3 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.expect
@@ -1,44 +1,34 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → dynamic;
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  method f(core::num* 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
+  method f(core::num x) → void {}
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  method f(covariant-by-declaration core::int* x) → void {}
+  method f(covariant-by-declaration core::int x) → void {}
 }
 class E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::D::•()
     ;
-  method f(covariant-by-declaration core::int* x) → void {}
+  method f(covariant-by-declaration core::int x) → void {}
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1.5){(core::num*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1.5){(core::num) → void};
 }
-static method g2(self::C* c) → (core::num*) →* dynamic {
-  return c.{self::C::f}{(core::num*) →* void};
+static method g2(self::C c) → (core::num) → dynamic {
+  return c.{self::C::f}{(core::num) → void};
 }
 static method test() → dynamic {
   self::g1(new self::D::•());
-  (core::num*) →* dynamic x = self::g2(new self::D::•());
+  (core::num) → dynamic x = self::g2(new self::D::•());
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.modular.expect
index bf44b39..38a56e3 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.modular.expect
@@ -1,44 +1,34 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → dynamic;
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  method f(core::num* 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
+  method f(core::num x) → void {}
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  method f(covariant-by-declaration core::int* x) → void {}
+  method f(covariant-by-declaration core::int x) → void {}
 }
 class E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::D::•()
     ;
-  method f(covariant-by-declaration core::int* x) → void {}
+  method f(covariant-by-declaration core::int x) → void {}
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1.5){(core::num*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1.5){(core::num) → void};
 }
-static method g2(self::C* c) → (core::num*) →* dynamic {
-  return c.{self::C::f}{(core::num*) →* void};
+static method g2(self::C c) → (core::num) → dynamic {
+  return c.{self::C::f}{(core::num) → void};
 }
 static method test() → dynamic {
   self::g1(new self::D::•());
-  (core::num*) →* dynamic x = self::g2(new self::D::•());
+  (core::num) → dynamic x = self::g2(new self::D::•());
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.outline.expect
index 24552c4..60ac54f 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.outline.expect
@@ -1,39 +1,29 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → dynamic;
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
-  method f(core::num* x) → void
+  method f(core::num 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*
+  synthetic constructor •() → self::D
     ;
-  method f(covariant-by-declaration core::int* x) → void
+  method f(covariant-by-declaration core::int x) → void
     ;
 }
 class E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     ;
-  method f(covariant-by-declaration core::int* x) → void
+  method f(covariant-by-declaration core::int x) → void
     ;
 }
-static method g1(self::C* c) → void
+static method g1(self::C c) → void
   ;
-static method g2(self::C* c) → (core::num*) →* dynamic
+static method g2(self::C c) → (core::num) → dynamic
   ;
 static method test() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.transformed.expect
index bf44b39..38a56e3 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.transformed.expect
@@ -1,44 +1,34 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → dynamic;
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  method f(core::num* 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
+  method f(core::num x) → void {}
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  method f(covariant-by-declaration core::int* x) → void {}
+  method f(covariant-by-declaration core::int x) → void {}
 }
 class E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::D::•()
     ;
-  method f(covariant-by-declaration core::int* x) → void {}
+  method f(covariant-by-declaration core::int x) → void {}
 }
-static method g1(self::C* c) → void {
-  c.{self::C::f}(1.5){(core::num*) →* void};
+static method g1(self::C c) → void {
+  c.{self::C::f}(1.5){(core::num) → void};
 }
-static method g2(self::C* c) → (core::num*) →* dynamic {
-  return c.{self::C::f}{(core::num*) →* void};
+static method g2(self::C c) → (core::num) → dynamic {
+  return c.{self::C::f}{(core::num) → void};
 }
 static method test() → dynamic {
   self::g1(new self::D::•());
-  (core::num*) →* dynamic x = self::g2(new self::D::•());
+  (core::num) → dynamic x = self::g2(new self::D::•());
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart
index 070f4c9..ca46367 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart
@@ -1,20 +1,20 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class C {
-  num x;
+  num? x;
 }
 
 class D implements C {
-  covariant int x;
+  covariant int? x;
 }
 
 class E implements D {
-  int x;
+  int? x;
 }
 
 main() {}
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 a6f9dc1..1379e63 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,16 +1,15 @@
-// @dart = 2.9
 library test;
 
 class C {
-  num x;
+  num? x;
 }
 
 class D implements C {
-  covariant int x;
+  covariant int? x;
 }
 
 class E implements D {
-  int x;
+  int? x;
 }
 
 main() {}
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 a6f9dc1..1379e63 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,16 +1,15 @@
-// @dart = 2.9
 library test;
 
 class C {
-  num x;
+  num? x;
 }
 
 class D implements C {
-  covariant int x;
+  covariant int? x;
 }
 
 class E implements D {
-  int x;
+  int? x;
 }
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.expect
index 210c2cb..fe0527a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.expect
@@ -1,53 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
+  field core::num? x = null;
+  synthetic 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
 }
 class D extends core::Object implements self::C {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::D*
+  covariant-by-declaration field core::int? x = null;
+  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
 }
 class E extends core::Object implements self::D {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::E*
+  covariant-by-declaration field core::int? x = null;
+  synthetic constructor •() → self::E
     : 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/runtime_checks/covariant_keyword_field.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.modular.expect
index 210c2cb..fe0527a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.modular.expect
@@ -1,53 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
+  field core::num? x = null;
+  synthetic 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
 }
 class D extends core::Object implements self::C {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::D*
+  covariant-by-declaration field core::int? x = null;
+  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
 }
 class E extends core::Object implements self::D {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::E*
+  covariant-by-declaration field core::int? x = null;
+  synthetic constructor •() → self::E
     : 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/runtime_checks/covariant_keyword_field.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.outline.expect
index 359e402..8df4386 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.outline.expect
@@ -1,51 +1,21 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  field core::num* x;
-  synthetic constructor •() → self::C*
+  field core::num? 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
 }
 class D extends core::Object implements self::C {
-  covariant-by-declaration field core::int* x;
-  synthetic constructor •() → self::D*
+  covariant-by-declaration field core::int? x;
+  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 implements self::D {
-  covariant-by-declaration field core::int* x;
-  synthetic constructor •() → self::E*
+  covariant-by-declaration field core::int? x;
+  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 main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.transformed.expect
index 210c2cb..fe0527a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.transformed.expect
@@ -1,53 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
+  field core::num? x = null;
+  synthetic 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
 }
 class D extends core::Object implements self::C {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::D*
+  covariant-by-declaration field core::int? x = null;
+  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
 }
 class E extends core::Object implements self::D {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::E*
+  covariant-by-declaration field core::int? x = null;
+  synthetic constructor •() → self::E
     : 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/runtime_checks/covariant_keyword_field_inherited_by_setter.dart b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart
index 3b905d7..1da1e49 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,21 +1,21 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class C {
-  num x;
+  num? x;
 }
 
 class D implements C {
-  covariant int x;
+  covariant int? x;
 }
 
 class E implements D {
-  int get x => 0;
-  void set x(int value) {}
+  int? get x => 0;
+  void set x(int? value) {}
 }
 
 main() {}
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 c7a1db5..1533cd3 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,17 +1,16 @@
-// @dart = 2.9
 library test;
 
 class C {
-  num x;
+  num? x;
 }
 
 class D implements C {
-  covariant int x;
+  covariant int? x;
 }
 
 class E implements D {
-  int get x => 0;
-  void set x(int value) {}
+  int? get x => 0;
+  void set x(int? value) {}
 }
 
 main() {}
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 c7a1db5..1533cd3 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,17 +1,16 @@
-// @dart = 2.9
 library test;
 
 class C {
-  num x;
+  num? x;
 }
 
 class D implements C {
-  covariant int x;
+  covariant int? x;
 }
 
 class E implements D {
-  int get x => 0;
-  void set x(int value) {}
+  int? get x => 0;
+  void set x(int? value) {}
 }
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.expect
index 2e274f6..12ad231 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.expect
@@ -1,55 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
+  field core::num? x = null;
+  synthetic 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
 }
 class D extends core::Object implements self::C {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::D*
+  covariant-by-declaration field core::int? x = null;
+  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
 }
 class E extends core::Object implements self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super core::Object::•()
     ;
-  get x() → core::int*
+  get x() → core::int?
     return 0;
-  set x(covariant-by-declaration 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
+  set x(covariant-by-declaration core::int? value) → void {}
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.modular.expect
index 2e274f6..12ad231 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.modular.expect
@@ -1,55 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
+  field core::num? x = null;
+  synthetic 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
 }
 class D extends core::Object implements self::C {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::D*
+  covariant-by-declaration field core::int? x = null;
+  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
 }
 class E extends core::Object implements self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super core::Object::•()
     ;
-  get x() → core::int*
+  get x() → core::int?
     return 0;
-  set x(covariant-by-declaration 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
+  set x(covariant-by-declaration core::int? value) → void {}
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.outline.expect
index 64b3fce..5abd874 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.outline.expect
@@ -1,54 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  field core::num* x;
-  synthetic constructor •() → self::C*
+  field core::num? 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
 }
 class D extends core::Object implements self::C {
-  covariant-by-declaration field core::int* x;
-  synthetic constructor •() → self::D*
+  covariant-by-declaration field core::int? x;
+  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 implements self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     ;
-  get x() → core::int*
+  get x() → core::int?
     ;
-  set x(covariant-by-declaration core::int* value) → void
+  set x(covariant-by-declaration 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.transformed.expect
index 2e274f6..12ad231 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.transformed.expect
@@ -1,55 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
+  field core::num? x = null;
+  synthetic 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
 }
 class D extends core::Object implements self::C {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::D*
+  covariant-by-declaration field core::int? x = null;
+  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
 }
 class E extends core::Object implements self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super core::Object::•()
     ;
-  get x() → core::int*
+  get x() → core::int?
     return 0;
-  set x(covariant-by-declaration 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
+  set x(covariant-by-declaration core::int? value) → void {}
 }
 static method main() → dynamic {}
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 54580cd..d9b8a30e 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.textual_outline.expect
index dc45d51..3e18946 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,4 +1,3 @@
-// @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 dc45d51..3e18946 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.expect
index 3f5f3e4..6eaf130 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.expect
@@ -1,33 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  set x(core::num* 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
+  set x(core::num value) → void {}
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  set x(covariant-by-declaration core::int* value) → void {}
+  set x(covariant-by-declaration core::int value) → void {}
 }
 class E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::D::•()
     ;
-  set x(covariant-by-declaration core::int* value) → void {}
+  set x(covariant-by-declaration core::int value) → void {}
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.modular.expect
index 3f5f3e4..6eaf130 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.modular.expect
@@ -1,33 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  set x(core::num* 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
+  set x(core::num value) → void {}
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  set x(covariant-by-declaration core::int* value) → void {}
+  set x(covariant-by-declaration core::int value) → void {}
 }
 class E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::D::•()
     ;
-  set x(covariant-by-declaration core::int* value) → void {}
+  set x(covariant-by-declaration core::int value) → void {}
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.outline.expect
index 3d21253..07f9c35 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.outline.expect
@@ -1,33 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
-  set x(core::num* value) → void
+  set x(core::num 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*
+  synthetic constructor •() → self::D
     ;
-  set x(covariant-by-declaration core::int* value) → void
+  set x(covariant-by-declaration core::int value) → void
     ;
 }
 class E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     ;
-  set x(covariant-by-declaration core::int* value) → void
+  set x(covariant-by-declaration core::int value) → void
     ;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.transformed.expect
index 3f5f3e4..6eaf130 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.transformed.expect
@@ -1,33 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  set x(core::num* 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
+  set x(core::num value) → void {}
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  set x(covariant-by-declaration core::int* value) → void {}
+  set x(covariant-by-declaration core::int value) → void {}
 }
 class E extends self::D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::D::•()
     ;
-  set x(covariant-by-declaration core::int* value) → void {}
+  set x(covariant-by-declaration core::int value) → void {}
 }
 static method main() → dynamic {}
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 b3bcc5e..cbd45fa 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,20 +1,20 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class C {
-  void set x(num value) {}
+  void set x(num? value) {}
 }
 
 class D extends C {
-  void set x(covariant int value) {}
+  void set x(covariant int? value) {}
 }
 
 class E implements D {
-  int x;
+  int? x;
 }
 
 main() {}
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 8d6ae0f..f919365 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,16 +1,15 @@
-// @dart = 2.9
 library test;
 
 class C {
-  void set x(num value) {}
+  void set x(num? value) {}
 }
 
 class D extends C {
-  void set x(covariant int value) {}
+  void set x(covariant int? value) {}
 }
 
 class E implements D {
-  int x;
+  int? x;
 }
 
 main() {}
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 8d6ae0f..f919365 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,16 +1,15 @@
-// @dart = 2.9
 library test;
 
 class C {
-  void set x(num value) {}
+  void set x(num? value) {}
 }
 
 class D extends C {
-  void set x(covariant int value) {}
+  void set x(covariant int? value) {}
 }
 
 class E implements D {
-  int x;
+  int? x;
 }
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.expect
index 8c69a30..eb090d5 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  set x(core::num* 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
+  set x(core::num? value) → void {}
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  set x(covariant-by-declaration core::int* value) → void {}
+  set x(covariant-by-declaration core::int? value) → void {}
 }
 class E extends core::Object implements self::D {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::E*
+  covariant-by-declaration field core::int? x = null;
+  synthetic constructor •() → self::E
     : 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/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.modular.expect
index 8c69a30..eb090d5 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.modular.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  set x(core::num* 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
+  set x(core::num? value) → void {}
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  set x(covariant-by-declaration core::int* value) → void {}
+  set x(covariant-by-declaration core::int? value) → void {}
 }
 class E extends core::Object implements self::D {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::E*
+  covariant-by-declaration field core::int? x = null;
+  synthetic constructor •() → self::E
     : 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/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.outline.expect
index 28be2c8..0a58b9a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.outline.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
-  set x(core::num* value) → void
+  set x(core::num? 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*
+  synthetic constructor •() → self::D
     ;
-  set x(covariant-by-declaration core::int* value) → void
+  set x(covariant-by-declaration core::int? value) → void
     ;
 }
 class E extends core::Object implements self::D {
-  covariant-by-declaration field core::int* x;
-  synthetic constructor •() → self::E*
+  covariant-by-declaration field core::int? x;
+  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 main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.transformed.expect
index 8c69a30..eb090d5 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.transformed.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  set x(core::num* 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
+  set x(core::num? value) → void {}
 }
 class D extends self::C {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  set x(covariant-by-declaration core::int* value) → void {}
+  set x(covariant-by-declaration core::int? value) → void {}
 }
 class E extends core::Object implements self::D {
-  covariant-by-declaration field core::int* x = null;
-  synthetic constructor •() → self::E*
+  covariant-by-declaration field core::int? x = null;
+  synthetic constructor •() → self::E
     : 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/runtime_checks/covariant_setter.dart b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart
index fef54de..e81a781 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart
@@ -1,16 +1,16 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  T x;
-  void set y(T value) {}
-  void f(T value) {
+  T? x;
+  void set y(T? value) {}
+  void f(T? value) {
     this.x = value;
     this.y = value;
   }
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 7a6ee1e..8e2f72c 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,12 +1,11 @@
-// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  T x;
-  void set y(T value) {}
-  void f(T value) {}
+  T? x;
+  void set y(T? value) {}
+  void f(T? value) {}
 }
 
 void g(C<num> c) {}
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 4204df0..c45d014 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,10 +1,9 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
-  T x;
-  void f(T value) {}
-  void set y(T value) {}
+  T? x;
+  void f(T? value) {}
+  void set y(T? value) {}
 }
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.expect
index dee3331..b565b4a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.expect
@@ -1,30 +1,20 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  covariant-by-class field self::C::T* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::C::T? x = null;
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  set y(covariant-by-class self::C::T* value) → void {}
-  method f(covariant-by-class self::C::T* value) → void {
+  set y(covariant-by-class self::C::T? value) → void {}
+  method f(covariant-by-class self::C::T? value) → void {
     this.{self::C::x} = value;
     this.{self::C::y} = 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
 }
-static method g(self::C<core::num*>* c) → void {
+static method g(self::C<core::num> c) → void {
   c.{self::C::x} = 1.5;
   c.{self::C::y} = 1.5;
 }
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.modular.expect
index dee3331..b565b4a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.modular.expect
@@ -1,30 +1,20 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  covariant-by-class field self::C::T* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::C::T? x = null;
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  set y(covariant-by-class self::C::T* value) → void {}
-  method f(covariant-by-class self::C::T* value) → void {
+  set y(covariant-by-class self::C::T? value) → void {}
+  method f(covariant-by-class self::C::T? value) → void {
     this.{self::C::x} = value;
     this.{self::C::y} = 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
 }
-static method g(self::C<core::num*>* c) → void {
+static method g(self::C<core::num> c) → void {
   c.{self::C::x} = 1.5;
   c.{self::C::y} = 1.5;
 }
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.outline.expect
index c431be4..d59d8a3 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.outline.expect
@@ -1,28 +1,18 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  covariant-by-class field self::C::T* x;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::C::T? x;
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  set y(covariant-by-class self::C::T* value) → void
+  set y(covariant-by-class self::C::T? value) → void
     ;
-  method f(covariant-by-class self::C::T* value) → void
+  method f(covariant-by-class self::C::T? 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 method g(self::C<core::num*>* c) → void
+static method g(self::C<core::num> c) → void
   ;
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.transformed.expect
index dee3331..b565b4a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.transformed.expect
@@ -1,30 +1,20 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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 {
-  covariant-by-class field self::C::T* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::C::T? x = null;
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  set y(covariant-by-class self::C::T* value) → void {}
-  method f(covariant-by-class self::C::T* value) → void {
+  set y(covariant-by-class self::C::T? value) → void {}
+  method f(covariant-by-class self::C::T? value) → void {
     this.{self::C::x} = value;
     this.{self::C::y} = 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
 }
-static method g(self::C<core::num*>* c) → void {
+static method g(self::C<core::num> c) → void {
   c.{self::C::x} = 1.5;
   c.{self::C::y} = 1.5;
 }
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart
index d9e65fb..790dff4 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.textual_outline.expect
index 5a050cf..3385f7f 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,4 +1,3 @@
-// @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 fa18448..89135dc 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.expect
index 3d1a3dc..ec602df 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.expect
@@ -1,29 +1,19 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class self::C::T* x) → void {}
-  method f2(core::int* 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
+  method f1(covariant-by-class self::C::T% x) → void {}
+  method f2(core::int x) → void {}
 }
-class D extends self::C<core::num*> {
-  synthetic constructor •() → self::D*
+class D extends self::C<core::num> {
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  method f1(covariant-by-declaration covariant-by-class core::int* x) → void {}
+  method f1(covariant-by-declaration covariant-by-class core::int x) → void {}
 }
 static method g1(dynamic d) → void {
   d{dynamic}.f1(1.5);
@@ -32,7 +22,7 @@
   d{dynamic}.f2(1.5);
 }
 static method test() → void {
-  self::g1(new self::C::•<core::int*>());
+  self::g1(new self::C::•<core::int>());
   self::g2(new self::C::•<dynamic>());
   self::g1(new self::D::•());
 }
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.modular.expect
index 3d1a3dc..ec602df 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.modular.expect
@@ -1,29 +1,19 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class self::C::T* x) → void {}
-  method f2(core::int* 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
+  method f1(covariant-by-class self::C::T% x) → void {}
+  method f2(core::int x) → void {}
 }
-class D extends self::C<core::num*> {
-  synthetic constructor •() → self::D*
+class D extends self::C<core::num> {
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  method f1(covariant-by-declaration covariant-by-class core::int* x) → void {}
+  method f1(covariant-by-declaration covariant-by-class core::int x) → void {}
 }
 static method g1(dynamic d) → void {
   d{dynamic}.f1(1.5);
@@ -32,7 +22,7 @@
   d{dynamic}.f2(1.5);
 }
 static method test() → void {
-  self::g1(new self::C::•<core::int*>());
+  self::g1(new self::C::•<core::int>());
   self::g2(new self::C::•<dynamic>());
   self::g1(new self::D::•());
 }
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.outline.expect
index a2c2b89..b8da6db 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.outline.expect
@@ -1,29 +1,19 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  method f1(covariant-by-class self::C::T* x) → void
+  method f1(covariant-by-class self::C::T% x) → void
     ;
-  method f2(core::int* x) → void
+  method f2(core::int 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<core::num*> {
-  synthetic constructor •() → self::D*
+class D extends self::C<core::num> {
+  synthetic constructor •() → self::D
     ;
-  method f1(covariant-by-declaration covariant-by-class core::int* x) → void
+  method f1(covariant-by-declaration covariant-by-class core::int x) → void
     ;
 }
 static method g1(dynamic d) → void
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.transformed.expect
index 3d1a3dc..ec602df 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.transformed.expect
@@ -1,29 +1,19 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f1(covariant-by-class self::C::T* x) → void {}
-  method f2(core::int* 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
+  method f1(covariant-by-class self::C::T% x) → void {}
+  method f2(core::int x) → void {}
 }
-class D extends self::C<core::num*> {
-  synthetic constructor •() → self::D*
+class D extends self::C<core::num> {
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  method f1(covariant-by-declaration covariant-by-class core::int* x) → void {}
+  method f1(covariant-by-declaration covariant-by-class core::int x) → void {}
 }
 static method g1(dynamic d) → void {
   d{dynamic}.f1(1.5);
@@ -32,7 +22,7 @@
   d{dynamic}.f2(1.5);
 }
 static method test() → void {
-  self::g1(new self::C::•<core::int*>());
+  self::g1(new self::C::•<core::int>());
   self::g2(new self::C::•<dynamic>());
   self::g1(new self::D::•());
 }
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 894c95b..6206b0e 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.textual_outline.expect
index 2e2fd8f..3ab451a 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,4 +1,3 @@
-// @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 025143f..cc44c99 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.expect
index bbd989a..969f2a9 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.expect
@@ -1,31 +1,21 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f<covariant-by-class U extends self::C::T*>(self::C::f::U* 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
+  method f<covariant-by-class U extends self::C::T%>(self::C::f::U% x) → void {}
 }
 static method g1(dynamic d) → void {
-  d{dynamic}.f<core::num*>(1.5);
+  d{dynamic}.f<core::num>(1.5);
 }
 static method g2(dynamic d) → void {
   d{dynamic}.f(1.5);
 }
 static method test() → void {
-  self::g1(new self::C::•<core::int*>());
-  self::g2(new self::C::•<core::int*>());
+  self::g1(new self::C::•<core::int>());
+  self::g2(new self::C::•<core::int>());
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.modular.expect
index bbd989a..969f2a9 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.modular.expect
@@ -1,31 +1,21 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f<covariant-by-class U extends self::C::T*>(self::C::f::U* 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
+  method f<covariant-by-class U extends self::C::T%>(self::C::f::U% x) → void {}
 }
 static method g1(dynamic d) → void {
-  d{dynamic}.f<core::num*>(1.5);
+  d{dynamic}.f<core::num>(1.5);
 }
 static method g2(dynamic d) → void {
   d{dynamic}.f(1.5);
 }
 static method test() → void {
-  self::g1(new self::C::•<core::int*>());
-  self::g2(new self::C::•<core::int*>());
+  self::g1(new self::C::•<core::int>());
+  self::g2(new self::C::•<core::int>());
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.outline.expect
index 8d50179..ed46391 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.outline.expect
@@ -1,22 +1,12 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  method f<covariant-by-class U extends self::C::T*>(self::C::f::U* x) → void
+  method f<covariant-by-class U extends self::C::T%>(self::C::f::U% 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
 }
 static method g1(dynamic d) → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.transformed.expect
index bbd989a..969f2a9 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.transformed.expect
@@ -1,31 +1,21 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f<covariant-by-class U extends self::C::T*>(self::C::f::U* 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
+  method f<covariant-by-class U extends self::C::T%>(self::C::f::U% x) → void {}
 }
 static method g1(dynamic d) → void {
-  d{dynamic}.f<core::num*>(1.5);
+  d{dynamic}.f<core::num>(1.5);
 }
 static method g2(dynamic d) → void {
   d{dynamic}.f(1.5);
 }
 static method test() → void {
-  self::g1(new self::C::•<core::int*>());
-  self::g2(new self::C::•<core::int*>());
+  self::g1(new self::C::•<core::int>());
+  self::g2(new self::C::•<core::int>());
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart
index 7a6a6a5..7c7fe48 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.textual_outline.expect
index 4611b50..7737325 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,4 +1,3 @@
-// @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 40fbf9f..4e49871 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.expect
index 204effc..ae55f39 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.expect
@@ -1,27 +1,17 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic f;
-  constructor •(dynamic f) → self::C*
+  constructor •(dynamic f) → self::C
     : self::C::f = f, 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 g(self::C* c) → void {
-  let final self::C* #t1 = c in let final core::double* #t2 = 1.5 in #t1.{self::C::f}{dynamic}{dynamic}.call(#t2);
+static method g(self::C c) → void {
+  let final self::C #t1 = c in let final core::double #t2 = 1.5 in #t1.{self::C::f}{dynamic}{dynamic}.call(#t2);
 }
-static method h(core::int* i) → void {}
+static method h(core::int i) → void {}
 static method test() → void {
   self::g(new self::C::•(#C1));
 }
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.modular.expect
index 204effc..ae55f39 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.modular.expect
@@ -1,27 +1,17 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic f;
-  constructor •(dynamic f) → self::C*
+  constructor •(dynamic f) → self::C
     : self::C::f = f, 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 g(self::C* c) → void {
-  let final self::C* #t1 = c in let final core::double* #t2 = 1.5 in #t1.{self::C::f}{dynamic}{dynamic}.call(#t2);
+static method g(self::C c) → void {
+  let final self::C #t1 = c in let final core::double #t2 = 1.5 in #t1.{self::C::f}{dynamic}{dynamic}.call(#t2);
 }
-static method h(core::int* i) → void {}
+static method h(core::int i) → void {}
 static method test() → void {
   self::g(new self::C::•(#C1));
 }
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.outline.expect
index e3dcba5..0ff4a0b 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.outline.expect
@@ -1,25 +1,15 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic f;
-  constructor •(dynamic f) → self::C*
+  constructor •(dynamic 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 method g(self::C* c) → void
+static method g(self::C c) → void
   ;
-static method h(core::int* i) → void
+static method h(core::int i) → void
   ;
 static method test() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.transformed.expect
index 14d1ec2..b88ebd1 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.transformed.expect
@@ -1,27 +1,17 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   field dynamic f;
-  constructor •(dynamic f) → self::C*
+  constructor •(dynamic f) → self::C
     : self::C::f = f, 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 g(self::C* c) → void {
-  let final self::C* #t1 = c in let final core::double* #t2 = 1.5 in #t1.{self::C::f}{dynamic}{dynamic}.call(#t2);
+static method g(self::C c) → void {
+  let final self::C #t1 = c in let final core::double #t2 = 1.5 in #t1.{self::C::f}{dynamic}{dynamic}.call(#t2);
 }
-static method h(core::int* i) → void {}
+static method h(core::int i) → void {}
 static method test() → void {
   self::g(new self::C::•(#C1));
 }
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 c1f2d16..7e83576 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,16 +1,16 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class B<T> {
-  T x;
+  T? x;
 }
 
 class C {
-  num x;
+  num? x;
 }
 
 class D extends C implements B<num> {}
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 be28691..340c4a4 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,12 +1,11 @@
-// @dart = 2.9
 library test;
 
 class B<T> {
-  T x;
+  T? x;
 }
 
 class C {
-  num x;
+  num? x;
 }
 
 class D extends C implements B<num> {}
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 be28691..340c4a4 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,12 +1,11 @@
-// @dart = 2.9
 library test;
 
 class B<T> {
-  T x;
+  T? x;
 }
 
 class C {
-  num x;
+  num? x;
 }
 
 class D extends C implements B<num> {}
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.expect
index e0143ec..136a478 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T? x = null;
+  synthetic constructor •() → self::B<self::B::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 C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
+  field core::num? x = null;
+  synthetic 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
 }
-class D extends self::C implements self::B<core::num*> {
-  synthetic constructor •() → self::D*
+class D extends self::C implements self::B<core::num> {
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  forwarding-stub set x(covariant-by-class core::num* value) → void
+  forwarding-stub set x(covariant-by-class core::num? value) → void
     return super.{self::C::x} = value;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.modular.expect
index e0143ec..136a478 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.modular.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T? x = null;
+  synthetic constructor •() → self::B<self::B::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 C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
+  field core::num? x = null;
+  synthetic 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
 }
-class D extends self::C implements self::B<core::num*> {
-  synthetic constructor •() → self::D*
+class D extends self::C implements self::B<core::num> {
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  forwarding-stub set x(covariant-by-class core::num* value) → void
+  forwarding-stub set x(covariant-by-class core::num? value) → void
     return super.{self::C::x} = value;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.outline.expect
index 17eb717..853fff8 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.outline.expect
@@ -1,41 +1,21 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T? x;
+  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 C extends core::Object {
-  field core::num* x;
-  synthetic constructor •() → self::C*
+  field core::num? 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
 }
-class D extends self::C implements self::B<core::num*> {
-  synthetic constructor •() → self::D*
+class D extends self::C implements self::B<core::num> {
+  synthetic constructor •() → self::D
     ;
-  forwarding-stub set x(covariant-by-class core::num* value) → void
+  forwarding-stub set x(covariant-by-class core::num? value) → void
     return super.{self::C::x} = value;
 }
 static method main() → void
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.transformed.expect
index e0143ec..136a478 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.transformed.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T? x = null;
+  synthetic constructor •() → self::B<self::B::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 C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
+  field core::num? x = null;
+  synthetic 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
 }
-class D extends self::C implements self::B<core::num*> {
-  synthetic constructor •() → self::D*
+class D extends self::C implements self::B<core::num> {
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  forwarding-stub set x(covariant-by-class core::num* value) → void
+  forwarding-stub set x(covariant-by-class core::num? value) → void
     return super.{self::C::x} = value;
 }
 static method main() → void {}
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 1858b00..f0c7c41 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,12 +1,12 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class B {
-  Object _x;
+  Object? _x;
   void f([num x = 10]) {
     _x = 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 df71248..5971664 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,8 +1,7 @@
-// @dart = 2.9
 library test;
 
 class B {
-  Object _x;
+  Object? _x;
   void f([num x = 10]) {}
   void g({num x = 20}) {}
   void check(Object expectedValue) {}
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 c3d5b86..80ed0e1 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 abstract class I<T> {
@@ -7,7 +6,7 @@
 }
 
 class B {
-  Object _x;
+  Object? _x;
   void check(Object expectedValue) {}
   void f([num x = 10]) {}
   void g({num x = 20}) {}
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.expect
index 672eea9..204dfca 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.expect
@@ -1,66 +1,46 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  field core::Object* _x = null;
-  synthetic constructor •() → self::B*
+  field core::Object? _x = null;
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f([core::num* x = #C1]) → void {
+  method f([core::num x = #C1]) → void {
     this.{self::B::_x} = x;
   }
-  method g({core::num* x = #C2}) → void {
+  method g({core::num x = #C2}) → void {
     this.{self::B::_x} = x;
   }
-  method check(core::Object* expectedValue) → void {
-    if(!(this.{self::B::_x}{core::Object*} =={core::Object::==}{(core::Object*) →* core::bool*} expectedValue)) {
-      throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}{core::Object*}}";
+  method check(core::Object expectedValue) → void {
+    if(!(this.{self::B::_x}{core::Object?} =={core::Object::==}{(core::Object) → core::bool} expectedValue)) {
+      throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}{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 I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f([covariant-by-class self::I::T* x = #C3]) → void;
-  abstract method g({covariant-by-class self::I::T* x = #C3}) → 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 method f([covariant-by-class self::I::T% x = #C3]) → void;
+  abstract method g({covariant-by-class self::I::T% x = #C3}) → void;
 }
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::num> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f([covariant-by-class core::num* x = #C1]) → void
+  forwarding-stub method f([covariant-by-class core::num x = #C1]) → void
     return super.{self::B::f}(x);
-  forwarding-stub method g({covariant-by-class core::num* x = #C2}) → void
+  forwarding-stub method g({covariant-by-class core::num x = #C2}) → void
     return super.{self::B::g}(x: x);
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
-  c.{self::C::f}(){([core::num*]) →* void};
-  c.{self::B::check}(10){(core::Object*) →* void};
-  c.{self::C::g}(){({x: core::num*}) →* void};
-  c.{self::B::check}(20){(core::Object*) →* void};
+  self::C c = new self::C::•();
+  c.{self::C::f}(){([core::num]) → void};
+  c.{self::B::check}(10){(core::Object) → void};
+  c.{self::C::g}(){({x: core::num}) → void};
+  c.{self::B::check}(20){(core::Object) → void};
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.modular.expect
index 672eea9..204dfca 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.modular.expect
@@ -1,66 +1,46 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  field core::Object* _x = null;
-  synthetic constructor •() → self::B*
+  field core::Object? _x = null;
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f([core::num* x = #C1]) → void {
+  method f([core::num x = #C1]) → void {
     this.{self::B::_x} = x;
   }
-  method g({core::num* x = #C2}) → void {
+  method g({core::num x = #C2}) → void {
     this.{self::B::_x} = x;
   }
-  method check(core::Object* expectedValue) → void {
-    if(!(this.{self::B::_x}{core::Object*} =={core::Object::==}{(core::Object*) →* core::bool*} expectedValue)) {
-      throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}{core::Object*}}";
+  method check(core::Object expectedValue) → void {
+    if(!(this.{self::B::_x}{core::Object?} =={core::Object::==}{(core::Object) → core::bool} expectedValue)) {
+      throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}{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 I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f([covariant-by-class self::I::T* x = #C3]) → void;
-  abstract method g({covariant-by-class self::I::T* x = #C3}) → 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 method f([covariant-by-class self::I::T% x = #C3]) → void;
+  abstract method g({covariant-by-class self::I::T% x = #C3}) → void;
 }
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::num> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f([covariant-by-class core::num* x = #C1]) → void
+  forwarding-stub method f([covariant-by-class core::num x = #C1]) → void
     return super.{self::B::f}(x);
-  forwarding-stub method g({covariant-by-class core::num* x = #C2}) → void
+  forwarding-stub method g({covariant-by-class core::num x = #C2}) → void
     return super.{self::B::g}(x: x);
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
-  c.{self::C::f}(){([core::num*]) →* void};
-  c.{self::B::check}(10){(core::Object*) →* void};
-  c.{self::C::g}(){({x: core::num*}) →* void};
-  c.{self::B::check}(20){(core::Object*) →* void};
+  self::C c = new self::C::•();
+  c.{self::C::f}(){([core::num]) → void};
+  c.{self::B::check}(10){(core::Object) → void};
+  c.{self::C::g}(){({x: core::num}) → void};
+  c.{self::B::check}(20){(core::Object) → void};
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.outline.expect
index 232826f..b8c77b9 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.outline.expect
@@ -1,50 +1,30 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  field core::Object* _x;
-  synthetic constructor •() → self::B*
+  field core::Object? _x;
+  synthetic constructor •() → self::B
     ;
-  method f([core::num* x = 10]) → void
+  method f([core::num x = 10]) → void
     ;
-  method g({core::num* x = 20}) → void
+  method g({core::num x = 20}) → void
     ;
-  method check(core::Object* expectedValue) → void
+  method check(core::Object expectedValue) → 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 class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     ;
-  abstract method f([covariant-by-class self::I::T* x = null]) → void;
-  abstract method g({covariant-by-class self::I::T* x = null}) → 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 method f([covariant-by-class self::I::T% x = null]) → void;
+  abstract method g({covariant-by-class self::I::T% x = null}) → void;
 }
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::num> {
+  synthetic constructor •() → self::C
     ;
-  forwarding-stub method f([covariant-by-class core::num* x]) → void
+  forwarding-stub method f([covariant-by-class core::num x]) → void
     return super.{self::B::f}(x);
-  forwarding-stub method g({covariant-by-class core::num* x}) → void
+  forwarding-stub method g({covariant-by-class core::num x}) → void
     return super.{self::B::g}(x: x);
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.transformed.expect
index 672eea9..204dfca 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.transformed.expect
@@ -1,66 +1,46 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  field core::Object* _x = null;
-  synthetic constructor •() → self::B*
+  field core::Object? _x = null;
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f([core::num* x = #C1]) → void {
+  method f([core::num x = #C1]) → void {
     this.{self::B::_x} = x;
   }
-  method g({core::num* x = #C2}) → void {
+  method g({core::num x = #C2}) → void {
     this.{self::B::_x} = x;
   }
-  method check(core::Object* expectedValue) → void {
-    if(!(this.{self::B::_x}{core::Object*} =={core::Object::==}{(core::Object*) →* core::bool*} expectedValue)) {
-      throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}{core::Object*}}";
+  method check(core::Object expectedValue) → void {
+    if(!(this.{self::B::_x}{core::Object?} =={core::Object::==}{(core::Object) → core::bool} expectedValue)) {
+      throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}{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 I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f([covariant-by-class self::I::T* x = #C3]) → void;
-  abstract method g({covariant-by-class self::I::T* x = #C3}) → 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 method f([covariant-by-class self::I::T% x = #C3]) → void;
+  abstract method g({covariant-by-class self::I::T% x = #C3}) → void;
 }
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::num> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f([covariant-by-class core::num* x = #C1]) → void
+  forwarding-stub method f([covariant-by-class core::num x = #C1]) → void
     return super.{self::B::f}(x);
-  forwarding-stub method g({covariant-by-class core::num* x = #C2}) → void
+  forwarding-stub method g({covariant-by-class core::num x = #C2}) → void
     return super.{self::B::g}(x: x);
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
-  c.{self::C::f}(){([core::num*]) →* void};
-  c.{self::B::check}(10){(core::Object*) →* void};
-  c.{self::C::g}(){({x: core::num*}) →* void};
-  c.{self::B::check}(20){(core::Object*) →* void};
+  self::C c = new self::C::•();
+  c.{self::C::f}(){([core::num]) → void};
+  c.{self::B::check}(10){(core::Object) → void};
+  c.{self::C::g}(){({x: core::num}) → void};
+  c.{self::B::check}(20){(core::Object) → void};
 }
 
 constants  {
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 50a9e4d..2cd0b19 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.textual_outline.expect
index 681a9ab..8c6231b 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,4 +1,3 @@
-// @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 1177a3c..345dc98 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.expect
index 76facc74..ac4945f 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x, core::int y) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::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
+  abstract method f(covariant-by-class self::I::T% x, core::int y) → void;
 }
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x, core::int* y) → void
+  forwarding-stub method f(covariant-by-class core::int x, core::int y) → void
     return super.{self::B::f}(x, y);
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.modular.expect
index 76facc74..ac4945f 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.modular.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x, core::int y) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::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
+  abstract method f(covariant-by-class self::I::T% x, core::int y) → void;
 }
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x, core::int* y) → void
+  forwarding-stub method f(covariant-by-class core::int x, core::int y) → void
     return super.{self::B::f}(x, y);
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.outline.expect
index 15a57c7..69d5b22 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.outline.expect
@@ -1,42 +1,22 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  method f(core::int* x, core::int* y) → void
+  method f(core::int 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 class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     ;
-  abstract method f(covariant-by-class self::I::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
+  abstract method f(covariant-by-class self::I::T% x, core::int y) → void;
 }
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     ;
-  forwarding-stub method f(covariant-by-class core::int* x, core::int* y) → void
+  forwarding-stub method f(covariant-by-class core::int x, core::int y) → void
     return super.{self::B::f}(x, y);
 }
 static method main() → void
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.transformed.expect
index 76facc74..ac4945f 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.transformed.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x, core::int y) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::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
+  abstract method f(covariant-by-class self::I::T% x, core::int y) → void;
 }
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x, core::int* y) → void
+  forwarding-stub method f(covariant-by-class core::int x, core::int y) → void
     return super.{self::B::f}(x, y);
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart
index 80ac157..5fbf5e9 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,24 +1,24 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class C<T> {
-  void set x(T t) {}
-  T y;
+  void set x(T? t) {}
+  T? y;
 }
 
 class D implements C<num> {
-  num x;
-  num y;
+  num? x;
+  num? y;
 }
 
 class E implements C<num> {
-  void set x(num t) {}
-  num get y => null;
-  void set y(num t) {}
+  void set x(num? t) {}
+  num? get y => null;
+  void set y(num? t) {}
 }
 
 void main() {}
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 2d3e16b..562ff44 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,20 +1,19 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
-  void set x(T t) {}
-  T y;
+  void set x(T? t) {}
+  T? y;
 }
 
 class D implements C<num> {
-  num x;
-  num y;
+  num? x;
+  num? y;
 }
 
 class E implements C<num> {
-  void set x(num t) {}
-  num get y => null;
-  void set y(num t) {}
+  void set x(num? t) {}
+  num? get y => null;
+  void set y(num? t) {}
 }
 
 void main() {}
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 551aa2b..fce3704 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,20 +1,19 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
-  T y;
-  void set x(T t) {}
+  T? y;
+  void set x(T? t) {}
 }
 
 class D implements C<num> {
-  num x;
-  num y;
+  num? x;
+  num? y;
 }
 
 class E implements C<num> {
-  num get y => null;
-  void set x(num t) {}
-  void set y(num t) {}
+  num? get y => null;
+  void set x(num? t) {}
+  void set y(num? t) {}
 }
 
 void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.expect
index 2fc5b5a..2bb8197 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.expect
@@ -1,58 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::C::T* y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::C::T? y = null;
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  set x(covariant-by-class self::C::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
+  set x(covariant-by-class self::C::T? t) → void {}
 }
-class D extends core::Object implements self::C<core::num*> {
-  covariant-by-class field core::num* x = null;
-  covariant-by-class field core::num* y = null;
-  synthetic constructor •() → self::D*
+class D extends core::Object implements self::C<core::num> {
+  covariant-by-class field core::num? x = null;
+  covariant-by-class field core::num? y = null;
+  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
 }
-class E extends core::Object implements self::C<core::num*> {
-  synthetic constructor •() → self::E*
+class E extends core::Object implements self::C<core::num> {
+  synthetic constructor •() → self::E
     : super core::Object::•()
     ;
-  set x(covariant-by-class core::num* t) → void {}
-  get y() → core::num*
+  set x(covariant-by-class core::num? t) → void {}
+  get y() → core::num?
     return null;
-  set y(covariant-by-class core::num* 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
+  set y(covariant-by-class core::num? t) → void {}
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.modular.expect
index 2fc5b5a..2bb8197 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.modular.expect
@@ -1,58 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::C::T* y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::C::T? y = null;
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  set x(covariant-by-class self::C::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
+  set x(covariant-by-class self::C::T? t) → void {}
 }
-class D extends core::Object implements self::C<core::num*> {
-  covariant-by-class field core::num* x = null;
-  covariant-by-class field core::num* y = null;
-  synthetic constructor •() → self::D*
+class D extends core::Object implements self::C<core::num> {
+  covariant-by-class field core::num? x = null;
+  covariant-by-class field core::num? y = null;
+  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
 }
-class E extends core::Object implements self::C<core::num*> {
-  synthetic constructor •() → self::E*
+class E extends core::Object implements self::C<core::num> {
+  synthetic constructor •() → self::E
     : super core::Object::•()
     ;
-  set x(covariant-by-class core::num* t) → void {}
-  get y() → core::num*
+  set x(covariant-by-class core::num? t) → void {}
+  get y() → core::num?
     return null;
-  set y(covariant-by-class core::num* 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
+  set y(covariant-by-class core::num? t) → void {}
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.outline.expect
index e8177bf..3c62092 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.outline.expect
@@ -1,59 +1,29 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::C::T* y;
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::C::T? y;
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  set x(covariant-by-class self::C::T* t) → void
+  set x(covariant-by-class self::C::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
 }
-class D extends core::Object implements self::C<core::num*> {
-  covariant-by-class field core::num* x;
-  covariant-by-class field core::num* y;
-  synthetic constructor •() → self::D*
+class D extends core::Object implements self::C<core::num> {
+  covariant-by-class field core::num? x;
+  covariant-by-class field core::num? y;
+  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 implements self::C<core::num*> {
-  synthetic constructor •() → self::E*
+class E extends core::Object implements self::C<core::num> {
+  synthetic constructor •() → self::E
     ;
-  set x(covariant-by-class core::num* t) → void
+  set x(covariant-by-class core::num? t) → void
     ;
-  get y() → core::num*
+  get y() → core::num?
     ;
-  set y(covariant-by-class core::num* t) → void
+  set y(covariant-by-class core::num? 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 main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.transformed.expect
index 2fc5b5a..2bb8197 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.transformed.expect
@@ -1,58 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class C<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::C::T* y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::C::T? y = null;
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  set x(covariant-by-class self::C::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
+  set x(covariant-by-class self::C::T? t) → void {}
 }
-class D extends core::Object implements self::C<core::num*> {
-  covariant-by-class field core::num* x = null;
-  covariant-by-class field core::num* y = null;
-  synthetic constructor •() → self::D*
+class D extends core::Object implements self::C<core::num> {
+  covariant-by-class field core::num? x = null;
+  covariant-by-class field core::num? y = null;
+  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
 }
-class E extends core::Object implements self::C<core::num*> {
-  synthetic constructor •() → self::E*
+class E extends core::Object implements self::C<core::num> {
+  synthetic constructor •() → self::E
     : super core::Object::•()
     ;
-  set x(covariant-by-class core::num* t) → void {}
-  get y() → core::num*
+  set x(covariant-by-class core::num? t) → void {}
+  get y() → core::num?
     return null;
-  set y(covariant-by-class core::num* 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
+  set y(covariant-by-class core::num? t) → void {}
 }
 static method main() → void {}
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 f049390..895d11f 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,22 +1,22 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 abstract class A {
-  void set x(covariant Object value);
+  void set x(covariant Object? value);
 }
 
 class B implements A {
-  void f(covariant Object x) {}
-  Object x; // covariant
+  void f(covariant Object? x) {}
+  Object? x; // covariant
 }
 
 class C<T> implements B {
-  void f(T x) {}
-  T x;
+  void f(T? x) {}
+  T? x;
 }
 
 main() {}
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 9bc6e47..b170ef9 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,18 +1,17 @@
-// @dart = 2.9
 library test;
 
 abstract class A {
-  void set x(covariant Object value);
+  void set x(covariant Object? value);
 }
 
 class B implements A {
-  void f(covariant Object x) {}
-  Object x;
+  void f(covariant Object? x) {}
+  Object? x;
 }
 
 class C<T> implements B {
-  void f(T x) {}
-  T x;
+  void f(T? x) {}
+  T? x;
 }
 
 main() {}
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 a7a82e5..c51ceda 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,18 +1,17 @@
-// @dart = 2.9
 library test;
 
 abstract class A {
-  void set x(covariant Object value);
+  void set x(covariant Object? value);
 }
 
 class B implements A {
-  Object x;
-  void f(covariant Object x) {}
+  Object? x;
+  void f(covariant Object? x) {}
 }
 
 class C<T> implements B {
-  T x;
-  void f(T x) {}
+  T? x;
+  void f(T? x) {}
 }
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.expect
index 3e9000d..ffc705f 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.expect
@@ -1,55 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  abstract set x(covariant-by-declaration core::Object* 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 set x(covariant-by-declaration core::Object? value) → void;
 }
 class B extends core::Object implements self::A {
-  covariant-by-declaration field core::Object* x = null;
-  synthetic constructor •() → self::B*
+  covariant-by-declaration field core::Object? x = null;
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(covariant-by-declaration core::Object* 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
+  method f(covariant-by-declaration core::Object? x) → void {}
 }
-class C<T extends core::Object* = dynamic> extends core::Object implements self::B {
-  covariant-by-declaration covariant-by-class field self::C::T* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object implements self::B {
+  covariant-by-declaration covariant-by-class field self::C::T? x = null;
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-declaration covariant-by-class self::C::T* 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
+  method f(covariant-by-declaration covariant-by-class self::C::T? x) → void {}
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.modular.expect
index 3e9000d..ffc705f 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.modular.expect
@@ -1,55 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  abstract set x(covariant-by-declaration core::Object* 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 set x(covariant-by-declaration core::Object? value) → void;
 }
 class B extends core::Object implements self::A {
-  covariant-by-declaration field core::Object* x = null;
-  synthetic constructor •() → self::B*
+  covariant-by-declaration field core::Object? x = null;
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(covariant-by-declaration core::Object* 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
+  method f(covariant-by-declaration core::Object? x) → void {}
 }
-class C<T extends core::Object* = dynamic> extends core::Object implements self::B {
-  covariant-by-declaration covariant-by-class field self::C::T* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object implements self::B {
+  covariant-by-declaration covariant-by-class field self::C::T? x = null;
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-declaration covariant-by-class self::C::T* 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
+  method f(covariant-by-declaration covariant-by-class self::C::T? x) → void {}
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.outline.expect
index 50fbaa0..4cc7edb 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.outline.expect
@@ -1,55 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     ;
-  abstract set x(covariant-by-declaration core::Object* 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 set x(covariant-by-declaration core::Object? value) → void;
 }
 class B extends core::Object implements self::A {
-  covariant-by-declaration field core::Object* x;
-  synthetic constructor •() → self::B*
+  covariant-by-declaration field core::Object? x;
+  synthetic constructor •() → self::B
     ;
-  method f(covariant-by-declaration core::Object* x) → void
+  method f(covariant-by-declaration core::Object? 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 C<T extends core::Object* = dynamic> extends core::Object implements self::B {
-  covariant-by-declaration covariant-by-class field self::C::T* x;
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object implements self::B {
+  covariant-by-declaration covariant-by-class field self::C::T? x;
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  method f(covariant-by-declaration covariant-by-class self::C::T* x) → void
+  method f(covariant-by-declaration covariant-by-class self::C::T? 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
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.transformed.expect
index 3e9000d..ffc705f 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.transformed.expect
@@ -1,55 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
+  synthetic constructor •() → self::A
     : super core::Object::•()
     ;
-  abstract set x(covariant-by-declaration core::Object* 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 set x(covariant-by-declaration core::Object? value) → void;
 }
 class B extends core::Object implements self::A {
-  covariant-by-declaration field core::Object* x = null;
-  synthetic constructor •() → self::B*
+  covariant-by-declaration field core::Object? x = null;
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(covariant-by-declaration core::Object* 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
+  method f(covariant-by-declaration core::Object? x) → void {}
 }
-class C<T extends core::Object* = dynamic> extends core::Object implements self::B {
-  covariant-by-declaration covariant-by-class field self::C::T* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object implements self::B {
+  covariant-by-declaration covariant-by-class field self::C::T? x = null;
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-declaration covariant-by-class self::C::T* 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
+  method f(covariant-by-declaration covariant-by-class self::C::T? x) → void {}
 }
 static method main() → dynamic {}
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 449fbe0..b27c02f 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
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 8940551..cd91c69f 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
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 c7da78b..f186aa3 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
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 4ee9d69..76015e2 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
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 617e9dd..9c92eb6 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
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 dc3b23b..84304d8 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
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 d1de7be..7810836 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
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 db3ef60..662243e 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
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 427af13..47824ee 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.textual_outline.expect
index d51e54c..84c7157 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,4 +1,3 @@
-// @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 e3df18c..168422a 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.expect
index 761e51b..546063a 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::num* 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
+  method f(core::num x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::num> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub forwarding-semi-stub method f(covariant-by-class core::num* x) → void
+  forwarding-stub forwarding-semi-stub method f(covariant-by-class core::num x) → void
     return super.{self::B::f}(x);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.modular.expect
index 761e51b..546063a 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.modular.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::num* 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
+  method f(core::num x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::num> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub forwarding-semi-stub method f(covariant-by-class core::num* x) → void
+  forwarding-stub forwarding-semi-stub method f(covariant-by-class core::num x) → void
     return super.{self::B::f}(x);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.outline.expect
index 0bf24b3..2911433 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.outline.expect
@@ -1,42 +1,22 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  method f(core::num* x) → void
+  method f(core::num 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
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::num> {
+  synthetic constructor •() → self::C
     ;
-  forwarding-stub forwarding-semi-stub method f(covariant-by-class core::num* x) → void
+  forwarding-stub forwarding-semi-stub method f(covariant-by-class core::num x) → void
     return super.{self::B::f}(x);
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.transformed.expect
index 761e51b..546063a 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.transformed.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::num* 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
+  method f(core::num x) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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
+  abstract method f(covariant-by-class self::I::T% x) → void;
 }
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::num> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub forwarding-semi-stub method f(covariant-by-class core::num* x) → void
+  forwarding-stub forwarding-semi-stub method f(covariant-by-class core::num x) → void
     return super.{self::B::f}(x);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart
index 208e734..fa5945b 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;
 
@@ -31,7 +31,7 @@
 }
 
 test() {
-  var x = new D().g4 /*@ checkReturn=(int*) ->* dynamic */ () as F<Object>;
+  var x = new D().g4 /*@checkReturn=(int) -> dynamic*/ () as F<Object>;
   x('hi');
   new E().g1(1.5);
 }
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 21fa569..6c7fe09 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,4 +1,3 @@
-// @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 ce16639..a210365 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.expect
index 1efedac..5a2aec7 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.expect
@@ -1,49 +1,39 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → dynamic;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::C::T* x) → void {}
-  method g1(covariant-by-class self::C::T* x) → void {
-    this.{self::C::f}(x){(self::C::T*) →* void};
+  method f(covariant-by-class self::C::T% x) → void {}
+  method g1(covariant-by-class self::C::T% x) → void {
+    this.{self::C::f}(x){(self::C::T%) → void};
   }
-  method g2(covariant-by-class self::C::T* x) → void {
-    this.{self::C::f}(x){(self::C::T*) →* void};
+  method g2(covariant-by-class self::C::T% x) → void {
+    this.{self::C::f}(x){(self::C::T%) → void};
   }
-  method g3(covariant-by-class self::C<self::C::T*>* c, covariant-by-class self::C::T* x) → void {
-    c.{self::C::f}(x){(self::C::T*) →* void};
+  method g3(covariant-by-class self::C<self::C::T%> c, covariant-by-class self::C::T% x) → void {
+    c.{self::C::f}(x){(self::C::T%) → void};
   }
-  method g4() → (self::C::T*) →* dynamic
-    return this.{self::C::f}{(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
+  method g4() → (self::C::T%) → dynamic
+    return this.{self::C::f}{(self::C::T%) → void};
 }
-class D extends self::C<core::int*> {
-  synthetic constructor •() → self::D*
+class D extends self::C<core::int> {
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
 }
-class E extends self::C<core::num*> {
-  synthetic constructor •() → self::E*
+class E extends self::C<core::num> {
+  synthetic constructor •() → self::E
     : super self::C::•()
     ;
-  method f(covariant-by-declaration covariant-by-class core::int* x) → void {}
+  method f(covariant-by-declaration covariant-by-class core::int x) → void {}
 }
 static method test() → dynamic {
-  (core::Object*) →* dynamic x = (new self::D::•().{self::C::g4}(){() →* (core::int*) →* dynamic} as{TypeError,CovarianceCheck} (core::int*) →* dynamic) as (core::Object*) →* dynamic;
-  x("hi"){(core::Object*) →* dynamic};
-  new self::E::•().{self::C::g1}(1.5){(core::num*) →* void};
+  (core::Object) → dynamic x = (new self::D::•().{self::C::g4}(){() → (core::int) → dynamic} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::int) → dynamic) as{ForNonNullableByDefault} (core::Object) → dynamic;
+  x("hi"){(core::Object) → dynamic};
+  new self::E::•().{self::C::g1}(1.5){(core::num) → void};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.modular.expect
index 1efedac..5a2aec7 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.modular.expect
@@ -1,49 +1,39 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → dynamic;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::C::T* x) → void {}
-  method g1(covariant-by-class self::C::T* x) → void {
-    this.{self::C::f}(x){(self::C::T*) →* void};
+  method f(covariant-by-class self::C::T% x) → void {}
+  method g1(covariant-by-class self::C::T% x) → void {
+    this.{self::C::f}(x){(self::C::T%) → void};
   }
-  method g2(covariant-by-class self::C::T* x) → void {
-    this.{self::C::f}(x){(self::C::T*) →* void};
+  method g2(covariant-by-class self::C::T% x) → void {
+    this.{self::C::f}(x){(self::C::T%) → void};
   }
-  method g3(covariant-by-class self::C<self::C::T*>* c, covariant-by-class self::C::T* x) → void {
-    c.{self::C::f}(x){(self::C::T*) →* void};
+  method g3(covariant-by-class self::C<self::C::T%> c, covariant-by-class self::C::T% x) → void {
+    c.{self::C::f}(x){(self::C::T%) → void};
   }
-  method g4() → (self::C::T*) →* dynamic
-    return this.{self::C::f}{(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
+  method g4() → (self::C::T%) → dynamic
+    return this.{self::C::f}{(self::C::T%) → void};
 }
-class D extends self::C<core::int*> {
-  synthetic constructor •() → self::D*
+class D extends self::C<core::int> {
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
 }
-class E extends self::C<core::num*> {
-  synthetic constructor •() → self::E*
+class E extends self::C<core::num> {
+  synthetic constructor •() → self::E
     : super self::C::•()
     ;
-  method f(covariant-by-declaration covariant-by-class core::int* x) → void {}
+  method f(covariant-by-declaration covariant-by-class core::int x) → void {}
 }
 static method test() → dynamic {
-  (core::Object*) →* dynamic x = (new self::D::•().{self::C::g4}(){() →* (core::int*) →* dynamic} as{TypeError,CovarianceCheck} (core::int*) →* dynamic) as (core::Object*) →* dynamic;
-  x("hi"){(core::Object*) →* dynamic};
-  new self::E::•().{self::C::g1}(1.5){(core::num*) →* void};
+  (core::Object) → dynamic x = (new self::D::•().{self::C::g4}(){() → (core::int) → dynamic} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::int) → dynamic) as{ForNonNullableByDefault} (core::Object) → dynamic;
+  x("hi"){(core::Object) → dynamic};
+  new self::E::•().{self::C::g1}(1.5){(core::num) → void};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.outline.expect
index 92a85fa..fdf2295 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.outline.expect
@@ -1,40 +1,30 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → dynamic;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  method f(covariant-by-class self::C::T* x) → void
+  method f(covariant-by-class self::C::T% x) → void
     ;
-  method g1(covariant-by-class self::C::T* x) → void
+  method g1(covariant-by-class self::C::T% x) → void
     ;
-  method g2(covariant-by-class self::C::T* x) → void
+  method g2(covariant-by-class self::C::T% x) → void
     ;
-  method g3(covariant-by-class self::C<self::C::T*>* c, covariant-by-class self::C::T* x) → void
+  method g3(covariant-by-class self::C<self::C::T%> c, covariant-by-class self::C::T% x) → void
     ;
-  method g4() → (self::C::T*) →* 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 D extends self::C<core::int*> {
-  synthetic constructor •() → self::D*
+  method g4() → (self::C::T%) → dynamic
     ;
 }
-class E extends self::C<core::num*> {
-  synthetic constructor •() → self::E*
+class D extends self::C<core::int> {
+  synthetic constructor •() → self::D
     ;
-  method f(covariant-by-declaration covariant-by-class core::int* x) → void
+}
+class E extends self::C<core::num> {
+  synthetic constructor •() → self::E
+    ;
+  method f(covariant-by-declaration covariant-by-class core::int x) → void
     ;
 }
 static method test() → dynamic
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.transformed.expect
index 1efedac..5a2aec7 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.transformed.expect
@@ -1,49 +1,39 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → dynamic;
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::C::T* x) → void {}
-  method g1(covariant-by-class self::C::T* x) → void {
-    this.{self::C::f}(x){(self::C::T*) →* void};
+  method f(covariant-by-class self::C::T% x) → void {}
+  method g1(covariant-by-class self::C::T% x) → void {
+    this.{self::C::f}(x){(self::C::T%) → void};
   }
-  method g2(covariant-by-class self::C::T* x) → void {
-    this.{self::C::f}(x){(self::C::T*) →* void};
+  method g2(covariant-by-class self::C::T% x) → void {
+    this.{self::C::f}(x){(self::C::T%) → void};
   }
-  method g3(covariant-by-class self::C<self::C::T*>* c, covariant-by-class self::C::T* x) → void {
-    c.{self::C::f}(x){(self::C::T*) →* void};
+  method g3(covariant-by-class self::C<self::C::T%> c, covariant-by-class self::C::T% x) → void {
+    c.{self::C::f}(x){(self::C::T%) → void};
   }
-  method g4() → (self::C::T*) →* dynamic
-    return this.{self::C::f}{(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
+  method g4() → (self::C::T%) → dynamic
+    return this.{self::C::f}{(self::C::T%) → void};
 }
-class D extends self::C<core::int*> {
-  synthetic constructor •() → self::D*
+class D extends self::C<core::int> {
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
 }
-class E extends self::C<core::num*> {
-  synthetic constructor •() → self::E*
+class E extends self::C<core::num> {
+  synthetic constructor •() → self::E
     : super self::C::•()
     ;
-  method f(covariant-by-declaration covariant-by-class core::int* x) → void {}
+  method f(covariant-by-declaration covariant-by-class core::int x) → void {}
 }
 static method test() → dynamic {
-  (core::Object*) →* dynamic x = (new self::D::•().{self::C::g4}(){() →* (core::int*) →* dynamic} as{TypeError,CovarianceCheck} (core::int*) →* dynamic) as (core::Object*) →* dynamic;
-  x("hi"){(core::Object*) →* dynamic};
-  new self::E::•().{self::C::g1}(1.5){(core::num*) →* void};
+  (core::Object) → dynamic x = (new self::D::•().{self::C::g4}(){() → (core::int) → dynamic} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::int) → dynamic) as{ForNonNullableByDefault} (core::Object) → dynamic;
+  x("hi"){(core::Object) → dynamic};
+  new self::E::•().{self::C::g1}(1.5){(core::num) → void};
 }
 static method main() → dynamic {}
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 282d831..1d1da45 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart
@@ -1,41 +1,41 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 typedef void F<T>(T x);
 
 class B<T, U extends F<T>> {
-  B<T, F<T>> operator +(other) => null;
+  B<T, F<T>> operator +(other) => throw '';
 }
 
 class C {
-  B<num, F<num>> x;
-  static B<num, F<num>> y;
-  B<num, F<num>> operator [](int i) => null;
+  B<num, F<num>> x = throw '';
+  static B<num, F<num>> y = throw '';
+  B<num, F<num>> operator [](int i) => throw '';
   void operator []=(int i, B<num, F<num>> v) {}
 }
 
 void test1(B<num, F<num>> b) {
-  b /*@ checkReturn=B<num*, (num*) ->* void>* */ += 1;
-  var x = b /*@ checkReturn=B<num*, (num*) ->* void>* */ += 2;
+  b /*@checkReturn=B<num, (num) -> void>*/ += 1;
+  var x = b /*@checkReturn=B<num, (num) -> void>*/ += 2;
 }
 
 void test2(C c) {
-  c[0] /*@ checkReturn=B<num*, (num*) ->* void>* */ += 1;
-  var x = c[0] /*@ checkReturn=B<num*, (num*) ->* void>* */ += 2;
+  c[0] /*@checkReturn=B<num, (num) -> void>*/ += 1;
+  var x = c[0] /*@checkReturn=B<num, (num) -> void>*/ += 2;
 }
 
 void test3(C c) {
-  c.x /*@ checkReturn=B<num*, (num*) ->* void>* */ += 1;
-  var x = c.x /*@ checkReturn=B<num*, (num*) ->* void>* */ += 2;
+  c.x /*@checkReturn=B<num, (num) -> void>*/ += 1;
+  var x = c.x /*@checkReturn=B<num, (num) -> void>*/ += 2;
 }
 
 void test4(C c) {
-  C.y /*@ checkReturn=B<num*, (num*) ->* void>* */ += 1;
-  var x = C.y /*@ checkReturn=B<num*, (num*) ->* void>* */ += 2;
+  C.y /*@checkReturn=B<num, (num) -> void>*/ += 1;
+  var x = C.y /*@checkReturn=B<num, (num) -> void>*/ += 2;
 }
 
 void main() {}
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 e5e025e..fcbbcb9 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,16 +1,15 @@
-// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
 
 class B<T, U extends F<T>> {
-  B<T, F<T>> operator +(other) => null;
+  B<T, F<T>> operator +(other) => throw '';
 }
 
 class C {
-  B<num, F<num>> x;
-  static B<num, F<num>> y;
-  B<num, F<num>> operator [](int i) => null;
+  B<num, F<num>> x = throw '';
+  static B<num, F<num>> y = throw '';
+  B<num, F<num>> operator [](int i) => throw '';
   void operator []=(int i, B<num, F<num>> v) {}
 }
 
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 68b1d9d..4a280b3 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,14 +1,13 @@
-// @dart = 2.9
 library test;
 
 class B<T, U extends F<T>> {
-  B<T, F<T>> operator +(other) => null;
+  B<T, F<T>> operator +(other) => throw '';
 }
 
 class C {
-  B<num, F<num>> operator [](int i) => null;
-  B<num, F<num>> x;
-  static B<num, F<num>> y;
+  B<num, F<num>> operator [](int i) => throw '';
+  B<num, F<num>> x = throw '';
+  static B<num, F<num>> y = throw '';
   void operator []=(int i, B<num, F<num>> v) {}
 }
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.expect
index d266b53..124f096 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.expect
@@ -1,59 +1,39 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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, U extends (self::B::T*) →* void = (Null) →* void> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*, self::B::U*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class B<T extends core::Object? = dynamic, U extends (self::B::T%) → void = (Never) → void> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%, self::B::U>
     : super core::Object::•()
     ;
-  operator +(dynamic other) → self::B<self::B::T*, (self::B::T*) →* void>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator +(dynamic other) → self::B<self::B::T%, (self::B::T%) → void>
+    return throw "";
 }
 class C extends core::Object {
-  field self::B<core::num*, (core::num*) →* void>* x = null;
-  static field self::B<core::num*, (core::num*) →* void>* y = null;
-  synthetic constructor •() → self::C*
+  field self::B<core::num, (core::num) → void> x = throw "";
+  static field self::B<core::num, (core::num) → void> y = throw "";
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  operator [](core::int* i) → self::B<core::num*, (core::num*) →* void>*
-    return null;
-  operator []=(core::int* i, self::B<core::num*, (core::num*) →* void>* v) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator [](core::int i) → self::B<core::num, (core::num) → void>
+    return throw "";
+  operator []=(core::int i, self::B<core::num, (core::num) → void> v) → void {}
 }
-static method test1(self::B<core::num*, (core::num*) →* void>* b) → void {
-  b = b.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
-  self::B<core::num*, (core::num*) →* void>* x = b = b.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+static method test1(self::B<core::num, (core::num) → void> b) → void {
+  b = b.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
+  self::B<core::num, (core::num) → void> x = b = b.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
 }
-static method test2(self::C* c) → void {
-  let final self::C* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2){(core::int*) →* self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*){(core::int*, self::B<core::num*, (core::num*) →* void>*) →* void};
-  self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t3 = c in let final core::int* #t4 = 0 in let final self::B<core::num*, (core::num*) →* void>* #t5 = #t3.{self::C::[]}(#t4){(core::int*) →* self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>* in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int*, self::B<core::num*, (core::num*) →* void>*) →* void} in #t5;
+static method test2(self::C c) → void {
+  let final self::C #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2){(core::int) → self::B<core::num, (core::num) → void>}.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>){(core::int, self::B<core::num, (core::num) → void>) → void};
+  self::B<core::num, (core::num) → void> x = let final self::C #t3 = c in let final core::int #t4 = 0 in let final self::B<core::num, (core::num) → void> #t5 = #t3.{self::C::[]}(#t4){(core::int) → self::B<core::num, (core::num) → void>}.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void> in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<core::num, (core::num) → void>) → void} in #t5;
 }
-static method test3(self::C* c) → void {
-  let final self::C* #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}{self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
-  self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}{self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+static method test3(self::C c) → void {
+  let final self::C #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}{self::B<core::num, (core::num) → void>}.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
+  self::B<core::num, (core::num) → void> x = let final self::C #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}{self::B<core::num, (core::num) → void>}.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
 }
-static method test4(self::C* c) → void {
-  self::C::y = self::C::y.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
-  self::B<core::num*, (core::num*) →* void>* x = self::C::y = self::C::y.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+static method test4(self::C c) → void {
+  self::C::y = self::C::y.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
+  self::B<core::num, (core::num) → void> x = self::C::y = self::C::y.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.modular.expect
index d266b53..124f096 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.modular.expect
@@ -1,59 +1,39 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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, U extends (self::B::T*) →* void = (Null) →* void> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*, self::B::U*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class B<T extends core::Object? = dynamic, U extends (self::B::T%) → void = (Never) → void> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%, self::B::U>
     : super core::Object::•()
     ;
-  operator +(dynamic other) → self::B<self::B::T*, (self::B::T*) →* void>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator +(dynamic other) → self::B<self::B::T%, (self::B::T%) → void>
+    return throw "";
 }
 class C extends core::Object {
-  field self::B<core::num*, (core::num*) →* void>* x = null;
-  static field self::B<core::num*, (core::num*) →* void>* y = null;
-  synthetic constructor •() → self::C*
+  field self::B<core::num, (core::num) → void> x = throw "";
+  static field self::B<core::num, (core::num) → void> y = throw "";
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  operator [](core::int* i) → self::B<core::num*, (core::num*) →* void>*
-    return null;
-  operator []=(core::int* i, self::B<core::num*, (core::num*) →* void>* v) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator [](core::int i) → self::B<core::num, (core::num) → void>
+    return throw "";
+  operator []=(core::int i, self::B<core::num, (core::num) → void> v) → void {}
 }
-static method test1(self::B<core::num*, (core::num*) →* void>* b) → void {
-  b = b.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
-  self::B<core::num*, (core::num*) →* void>* x = b = b.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+static method test1(self::B<core::num, (core::num) → void> b) → void {
+  b = b.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
+  self::B<core::num, (core::num) → void> x = b = b.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
 }
-static method test2(self::C* c) → void {
-  let final self::C* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2){(core::int*) →* self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*){(core::int*, self::B<core::num*, (core::num*) →* void>*) →* void};
-  self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t3 = c in let final core::int* #t4 = 0 in let final self::B<core::num*, (core::num*) →* void>* #t5 = #t3.{self::C::[]}(#t4){(core::int*) →* self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>* in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int*, self::B<core::num*, (core::num*) →* void>*) →* void} in #t5;
+static method test2(self::C c) → void {
+  let final self::C #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2){(core::int) → self::B<core::num, (core::num) → void>}.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>){(core::int, self::B<core::num, (core::num) → void>) → void};
+  self::B<core::num, (core::num) → void> x = let final self::C #t3 = c in let final core::int #t4 = 0 in let final self::B<core::num, (core::num) → void> #t5 = #t3.{self::C::[]}(#t4){(core::int) → self::B<core::num, (core::num) → void>}.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void> in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<core::num, (core::num) → void>) → void} in #t5;
 }
-static method test3(self::C* c) → void {
-  let final self::C* #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}{self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
-  self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}{self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+static method test3(self::C c) → void {
+  let final self::C #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}{self::B<core::num, (core::num) → void>}.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
+  self::B<core::num, (core::num) → void> x = let final self::C #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}{self::B<core::num, (core::num) → void>}.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
 }
-static method test4(self::C* c) → void {
-  self::C::y = self::C::y.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
-  self::B<core::num*, (core::num*) →* void>* x = self::C::y = self::C::y.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+static method test4(self::C c) → void {
+  self::C::y = self::C::y.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
+  self::B<core::num, (core::num) → void> x = self::C::y = self::C::y.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.outline.expect
index fcd72a0..6c23f8d 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.outline.expect
@@ -1,51 +1,31 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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, U extends (self::B::T*) →* void = (Null) →* void> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*, self::B::U*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class B<T extends core::Object? = dynamic, U extends (self::B::T%) → void = (Never) → void> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%, self::B::U>
     ;
-  operator +(dynamic other) → self::B<self::B::T*, (self::B::T*) →* void>*
+  operator +(dynamic other) → self::B<self::B::T%, (self::B::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
 }
 class C extends core::Object {
-  field self::B<core::num*, (core::num*) →* void>* x;
-  static field self::B<core::num*, (core::num*) →* void>* y;
-  synthetic constructor •() → self::C*
+  field self::B<core::num, (core::num) → void> x;
+  static field self::B<core::num, (core::num) → void> y;
+  synthetic constructor •() → self::C
     ;
-  operator [](core::int* i) → self::B<core::num*, (core::num*) →* void>*
+  operator [](core::int i) → self::B<core::num, (core::num) → void>
     ;
-  operator []=(core::int* i, self::B<core::num*, (core::num*) →* void>* v) → void
+  operator []=(core::int i, self::B<core::num, (core::num) → void> v) → 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 test1(self::B<core::num*, (core::num*) →* void>* b) → void
+static method test1(self::B<core::num, (core::num) → void> b) → void
   ;
-static method test2(self::C* c) → void
+static method test2(self::C c) → void
   ;
-static method test3(self::C* c) → void
+static method test3(self::C c) → void
   ;
-static method test4(self::C* c) → void
+static method test4(self::C c) → void
   ;
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.transformed.expect
index 28b2e93..46d6732 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.transformed.expect
@@ -1,60 +1,40 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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, U extends (self::B::T*) →* void = (Null) →* void> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*, self::B::U*>*
+typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
+class B<T extends core::Object? = dynamic, U extends (self::B::T%) → void = (Never) → void> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%, self::B::U>
     : super core::Object::•()
     ;
-  operator +(dynamic other) → self::B<self::B::T*, (self::B::T*) →* void>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator +(dynamic other) → self::B<self::B::T%, (self::B::T%) → void>
+    return throw "";
 }
 class C extends core::Object {
-  field self::B<core::num*, (core::num*) →* void>* x = null;
-  static field self::B<core::num*, (core::num*) →* void>* y = null;
-  synthetic constructor •() → self::C*
+  field self::B<core::num, (core::num) → void> x = throw "";
+  static field self::B<core::num, (core::num) → void> y = throw "";
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
-  operator [](core::int* i) → self::B<core::num*, (core::num*) →* void>*
-    return null;
-  operator []=(core::int* i, self::B<core::num*, (core::num*) →* void>* v) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator [](core::int i) → self::B<core::num, (core::num) → void>
+    return throw "";
+  operator []=(core::int i, self::B<core::num, (core::num) → void> v) → void {}
 }
-static method test1(self::B<core::num*, (core::num*) →* void>* b) → void {
-  b = b.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
-  self::B<core::num*, (core::num*) →* void>* x = b = b.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+static method test1(self::B<core::num, (core::num) → void> b) → void {
+  b = b.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
+  self::B<core::num, (core::num) → void> x = b = b.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
 }
-static method test2(self::C* c) → void {
-  let final self::C* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2){(core::int*) →* self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*){(core::int*, self::B<core::num*, (core::num*) →* void>*) →* void};
-  self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t3 = c in let final core::int* #t4 = 0 in let final self::B<core::num*, (core::num*) →* void>* #t5 = #t3.{self::C::[]}(#t4){(core::int*) →* self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>* in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int*, self::B<core::num*, (core::num*) →* void>*) →* void} in #t5;
+static method test2(self::C c) → void {
+  let final self::C #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2){(core::int) → self::B<core::num, (core::num) → void>}.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>){(core::int, self::B<core::num, (core::num) → void>) → void};
+  self::B<core::num, (core::num) → void> x = let final self::C #t3 = c in let final core::int #t4 = 0 in let final self::B<core::num, (core::num) → void> #t5 = #t3.{self::C::[]}(#t4){(core::int) → self::B<core::num, (core::num) → void>}.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void> in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<core::num, (core::num) → void>) → void} in #t5;
 }
-static method test3(self::C* c) → void {
-  let final self::C* #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}{self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
-  self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}{self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+static method test3(self::C c) → void {
+  let final self::C #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}{self::B<core::num, (core::num) → void>}.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
+  self::B<core::num, (core::num) → void> x = let final self::C #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}{self::B<core::num, (core::num) → void>}.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
 }
-static method test4(self::C* c) → void {
-  self::C::y = self::C::y.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
-  self::B<core::num*, (core::num*) →* void>* x = self::C::y = self::C::y.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+static method test4(self::C c) → void {
+  self::C::y = self::C::y.{self::B::+}(1){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
+  self::B<core::num, (core::num) → void> x = self::C::y = self::C::y.{self::B::+}(2){(dynamic) → self::B<core::num, (core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<core::num, (core::num) → void>;
 }
 static method main() → void {}
 
@@ -64,4 +44,4 @@
 Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_combiner.dart:27:5 -> IntConstant(0)
 Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_combiner.dart:28:13 -> IntConstant(0)
 Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_combiner.dart:28:13 -> IntConstant(0)
-Extra constant evaluation: evaluated: 58, effectively constant: 4
+Extra constant evaluation: evaluated: 62, effectively constant: 4
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 6efbcbc..1e248ad 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
@@ -46,11 +48,11 @@
   // But not this one:
   //   (num)->num
   D d = new D(new C(numToInt));
-  d.value /*@ checkReturn=(num*) ->* num* */ += 1;
+  d.value /*@checkReturn=(num*) ->* num**/ += 1;
   expect(d.setValue(0), 1);
   d = new D(new C(numToNum));
   expectTypeError(() {
-    d.value /*@ checkReturn=(num*) ->* num* */ += 1;
+    d.value /*@checkReturn=(num*) ->* num**/ += 1;
   });
   expect(d.setValue, null);
 }
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.expect
index edcb17e..e4fa7a2 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.expect
@@ -2,21 +2,21 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:30:14: Error: The type 'C<num>' of the getter 'D.value' is not assignable to the type 'int Function(int)' of the setter 'D.value'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:32:14: Error: The type 'C<num>' of the getter 'D.value' is not assignable to the type 'int Function(int)' of the setter 'D.value'.
 //  - 'C' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart'.
 //   C<num> get value => getValue;
 //              ^^^^^
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:32:12: Context: This is the declaration of the setter 'D.value'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:34:12: Context: This is the declaration of the setter 'D.value'.
 //   void set value(int Function(int) value) {
 //            ^^^^^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:49:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-//   d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-//                                              ^
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:51:44: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+//   d.value /*@checkReturn=(num*) ->* num**/ += 1;
+//                                            ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:53:48: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-//     d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-//                                                ^
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:55:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+//     d.value /*@checkReturn=(num*) ->* num**/ += 1;
+//                                              ^
 //
 import self as self;
 import "dart:core" as core;
@@ -80,15 +80,15 @@
   return 2;
 static method main() → void {
   self::D* d = new self::D::•(new self::C::•<core::num*>(#C1));
-  let final self::D* #t1 = d in #t1.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:49:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-  d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-                                             ^" in (#t1.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
+  let final self::D* #t1 = d in #t1.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:51:44: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+  d.value /*@checkReturn=(num*) ->* num**/ += 1;
+                                           ^" in (#t1.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
   self::expect(let final self::D* #t2 = d in let final core::int* #t3 = 0 in #t2.{self::D::setValue}{(core::int*) →* core::int*}(#t3){(core::int*) →* core::int*}, 1);
   d = new self::D::•(new self::C::•<core::num*>(#C2));
   self::expectTypeError(() → Null {
-    let final self::D* #t4 = d in #t4.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:53:48: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-    d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-                                               ^" in (#t4.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
+    let final self::D* #t4 = d in #t4.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:55:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+    d.value /*@checkReturn=(num*) ->* num**/ += 1;
+                                             ^" in (#t4.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
   });
   self::expect(d.{self::D::setValue}{(core::int*) →* core::int*}, null);
 }
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.modular.expect
index edcb17e..e4fa7a2 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.modular.expect
@@ -2,21 +2,21 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:30:14: Error: The type 'C<num>' of the getter 'D.value' is not assignable to the type 'int Function(int)' of the setter 'D.value'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:32:14: Error: The type 'C<num>' of the getter 'D.value' is not assignable to the type 'int Function(int)' of the setter 'D.value'.
 //  - 'C' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart'.
 //   C<num> get value => getValue;
 //              ^^^^^
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:32:12: Context: This is the declaration of the setter 'D.value'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:34:12: Context: This is the declaration of the setter 'D.value'.
 //   void set value(int Function(int) value) {
 //            ^^^^^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:49:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-//   d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-//                                              ^
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:51:44: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+//   d.value /*@checkReturn=(num*) ->* num**/ += 1;
+//                                            ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:53:48: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-//     d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-//                                                ^
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:55:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+//     d.value /*@checkReturn=(num*) ->* num**/ += 1;
+//                                              ^
 //
 import self as self;
 import "dart:core" as core;
@@ -80,15 +80,15 @@
   return 2;
 static method main() → void {
   self::D* d = new self::D::•(new self::C::•<core::num*>(#C1));
-  let final self::D* #t1 = d in #t1.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:49:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-  d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-                                             ^" in (#t1.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
+  let final self::D* #t1 = d in #t1.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:51:44: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+  d.value /*@checkReturn=(num*) ->* num**/ += 1;
+                                           ^" in (#t1.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
   self::expect(let final self::D* #t2 = d in let final core::int* #t3 = 0 in #t2.{self::D::setValue}{(core::int*) →* core::int*}(#t3){(core::int*) →* core::int*}, 1);
   d = new self::D::•(new self::C::•<core::num*>(#C2));
   self::expectTypeError(() → Null {
-    let final self::D* #t4 = d in #t4.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:53:48: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-    d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-                                               ^" in (#t4.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
+    let final self::D* #t4 = d in #t4.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:55:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+    d.value /*@checkReturn=(num*) ->* num**/ += 1;
+                                             ^" in (#t4.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
   });
   self::expect(d.{self::D::setValue}{(core::int*) →* core::int*}, null);
 }
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.outline.expect
index fa1259d..c3f93cc 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.outline.expect
@@ -2,11 +2,11 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:30:14: Error: The type 'C<num>' of the getter 'D.value' is not assignable to the type 'int Function(int)' of the setter 'D.value'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:32:14: Error: The type 'C<num>' of the getter 'D.value' is not assignable to the type 'int Function(int)' of the setter 'D.value'.
 //  - 'C' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart'.
 //   C<num> get value => getValue;
 //              ^^^^^
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:32:12: Context: This is the declaration of the setter 'D.value'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:34:12: Context: This is the declaration of the setter 'D.value'.
 //   void set value(int Function(int) value) {
 //            ^^^^^
 //
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.transformed.expect
index bafb1cc..d14fa8c 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.transformed.expect
@@ -2,21 +2,21 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:30:14: Error: The type 'C<num>' of the getter 'D.value' is not assignable to the type 'int Function(int)' of the setter 'D.value'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:32:14: Error: The type 'C<num>' of the getter 'D.value' is not assignable to the type 'int Function(int)' of the setter 'D.value'.
 //  - 'C' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart'.
 //   C<num> get value => getValue;
 //              ^^^^^
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:32:12: Context: This is the declaration of the setter 'D.value'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:34:12: Context: This is the declaration of the setter 'D.value'.
 //   void set value(int Function(int) value) {
 //            ^^^^^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:49:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-//   d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-//                                              ^
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:51:44: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+//   d.value /*@checkReturn=(num*) ->* num**/ += 1;
+//                                            ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:53:48: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-//     d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-//                                                ^
+// pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:55:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+//     d.value /*@checkReturn=(num*) ->* num**/ += 1;
+//                                              ^
 //
 import self as self;
 import "dart:core" as core;
@@ -80,15 +80,15 @@
   return 2;
 static method main() → void {
   self::D* d = new self::D::•(new self::C::•<core::num*>(#C1));
-  let final self::D* #t1 = d in #t1.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:49:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-  d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-                                             ^" in (#t1.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
+  let final self::D* #t1 = d in #t1.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:51:44: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+  d.value /*@checkReturn=(num*) ->* num**/ += 1;
+                                           ^" in (#t1.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
   self::expect(let final self::D* #t2 = d in let final core::int* #t3 = 0 in #t2.{self::D::setValue}{(core::int*) →* core::int*}(#t3){(core::int*) →* core::int*}, 1);
   d = new self::D::•(new self::C::•<core::num*>(#C2));
   self::expectTypeError(() → Null {
-    let final self::D* #t4 = d in #t4.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:53:48: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
-    d.value /*@ checkReturn=(num*) ->* num* */ += 1;
-                                               ^" in (#t4.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
+    let final self::D* #t4 = d in #t4.{self::D::value} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:55:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
+    d.value /*@checkReturn=(num*) ->* num**/ += 1;
+                                             ^" in (#t4.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
   });
   self::expect(d.{self::D::setValue}{(core::int*) →* core::int*}, null);
 }
@@ -99,5 +99,5 @@
 }
 
 Extra constant evaluation status:
-Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_generic_return_with_compound_assign_implicit_downcast.dart:50:21 -> IntConstant(0)
+Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_generic_return_with_compound_assign_implicit_downcast.dart:52:21 -> IntConstant(0)
 Extra constant evaluation: evaluated: 46, effectively constant: 1
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 4c8c9a7..bff2605 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
@@ -12,15 +14,15 @@
 }
 
 class C<T> {
-  B<F<T>> get x => null;
+  B<F<T>> get x => throw '';
   void set x(B<F<T>> value) {}
 }
 
 void test(C<num> c) {
-  c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-  var y = c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-  c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-  var z = c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
+  c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+  var y = c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+  c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+  var z = c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
 }
 
 main() {}
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 0b43ccc..2b0be85 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
@@ -8,7 +8,7 @@
 }
 
 class C<T> {
-  B<F<T>> get x => null;
+  B<F<T>> get x => throw '';
   void set x(B<F<T>> value) {}
 }
 
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 c0bc672..30a234a 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
@@ -6,7 +6,7 @@
 }
 
 class C<T> {
-  B<F<T>> get x => null;
+  B<F<T>> get x => throw '';
   void set x(B<F<T>> value) {}
 }
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.expect
index c730f2f..6a43f50 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.expect
@@ -2,25 +2,25 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:20:54: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-//                                                      ^
+//   c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+//                                                    ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:21:62: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   var y = c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-//                                                              ^
+//   var y = c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+//                                                            ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:55: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:24:53: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-//                                                       ^
+//   c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+//                                                     ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:63: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:25:61: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   var z = c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-//                                                               ^
+//   var z = c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+//                                                             ^
 //
 import self as self;
 import "dart:core" as core;
@@ -48,7 +48,7 @@
     : super core::Object::•()
     ;
   get x() → self::B<(self::C::T*) →* void>*
-    return null;
+    return throw "";
   set x(self::B<(self::C::T*) →* void>* 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
@@ -62,21 +62,21 @@
   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method test(self::C<core::num*>* c) → void {
-  let final self::C<core::num*>* #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:20:54: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  let final self::C<core::num*>* #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-                                                     ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
-  self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t2 = c in #t2.{self::C::x} = (#t2.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:21:62: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+                                                   ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
+  self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t2 = c in #t2.{self::C::x} = (#t2.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  var y = c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-                                                             ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
-  let final self::C<core::num*>* #t3 = c in #t3.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<core::Object*>*} #t3.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:55: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  var y = c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+                                                           ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
+  let final self::C<core::num*>* #t3 = c in #t3.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<core::Object*>*} #t3.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:24:53: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-                                                      ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : null;
-  self::B<core::Object*>* z = let final self::C<core::num*>* #t4 = c in let final self::B<(core::num*) →* void>* #t5 = #t4.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t5 == null ?{self::B<core::Object*>*} #t4.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:63: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+                                                    ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : null;
+  self::B<core::Object*>* z = let final self::C<core::num*>* #t4 = c in let final self::B<(core::num*) →* void>* #t5 = #t4.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t5 == null ?{self::B<core::Object*>*} #t4.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:25:61: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  var z = c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-                                                              ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : #t5;
+  var z = c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+                                                            ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : #t5;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.modular.expect
index c730f2f..6a43f50 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.modular.expect
@@ -2,25 +2,25 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:20:54: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-//                                                      ^
+//   c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+//                                                    ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:21:62: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   var y = c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-//                                                              ^
+//   var y = c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+//                                                            ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:55: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:24:53: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-//                                                       ^
+//   c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+//                                                     ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:63: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:25:61: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   var z = c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-//                                                               ^
+//   var z = c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+//                                                             ^
 //
 import self as self;
 import "dart:core" as core;
@@ -48,7 +48,7 @@
     : super core::Object::•()
     ;
   get x() → self::B<(self::C::T*) →* void>*
-    return null;
+    return throw "";
   set x(self::B<(self::C::T*) →* void>* 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
@@ -62,21 +62,21 @@
   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method test(self::C<core::num*>* c) → void {
-  let final self::C<core::num*>* #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:20:54: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  let final self::C<core::num*>* #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-                                                     ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
-  self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t2 = c in #t2.{self::C::x} = (#t2.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:21:62: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+                                                   ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
+  self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t2 = c in #t2.{self::C::x} = (#t2.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  var y = c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-                                                             ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
-  let final self::C<core::num*>* #t3 = c in #t3.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<core::Object*>*} #t3.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:55: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  var y = c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+                                                           ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
+  let final self::C<core::num*>* #t3 = c in #t3.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<core::Object*>*} #t3.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:24:53: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-                                                      ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : null;
-  self::B<core::Object*>* z = let final self::C<core::num*>* #t4 = c in let final self::B<(core::num*) →* void>* #t5 = #t4.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t5 == null ?{self::B<core::Object*>*} #t4.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:63: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+                                                    ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : null;
+  self::B<core::Object*>* z = let final self::C<core::num*>* #t4 = c in let final self::B<(core::num*) →* void>* #t5 = #t4.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t5 == null ?{self::B<core::Object*>*} #t4.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:25:61: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  var z = c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-                                                              ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : #t5;
+  var z = c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+                                                            ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : #t5;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.transformed.expect
index c730f2f..6a43f50 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.transformed.expect
@@ -2,25 +2,25 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:20:54: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-//                                                      ^
+//   c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+//                                                    ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:21:62: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   var y = c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-//                                                              ^
+//   var y = c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+//                                                            ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:55: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:24:53: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-//                                                       ^
+//   c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+//                                                     ^
 //
-// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:63: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:25:61: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
 //  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-//   var z = c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-//                                                               ^
+//   var z = c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+//                                                             ^
 //
 import self as self;
 import "dart:core" as core;
@@ -48,7 +48,7 @@
     : super core::Object::•()
     ;
   get x() → self::B<(self::C::T*) →* void>*
-    return null;
+    return throw "";
   set x(self::B<(self::C::T*) →* void>* 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
@@ -62,21 +62,21 @@
   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method test(self::C<core::num*>* c) → void {
-  let final self::C<core::num*>* #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:20:54: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  let final self::C<core::num*>* #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-                                                     ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
-  self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t2 = c in #t2.{self::C::x} = (#t2.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:21:62: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+                                                   ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
+  self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t2 = c in #t2.{self::C::x} = (#t2.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  var y = c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
-                                                             ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
-  let final self::C<core::num*>* #t3 = c in #t3.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<core::Object*>*} #t3.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:55: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  var y = c. /*@checkReturn=B<(num*) ->* void>**/ x += new B<num>();
+                                                           ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
+  let final self::C<core::num*>* #t3 = c in #t3.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<core::Object*>*} #t3.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:24:53: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-                                                      ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : null;
-  self::B<core::Object*>* z = let final self::C<core::num*>* #t4 = c in let final self::B<(core::num*) →* void>* #t5 = #t4.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t5 == null ?{self::B<core::Object*>*} #t4.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:63: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+  c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+                                                    ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : null;
+  self::B<core::Object*>* z = let final self::C<core::num*>* #t4 = c in let final self::B<(core::num*) →* void>* #t5 = #t4.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t5 == null ?{self::B<core::Object*>*} #t4.{self::C::x} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:25:61: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
-  var z = c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
-                                                              ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : #t5;
+  var z = c. /*@checkReturn=B<(num*) ->* void>**/ x ??= new B<num>();
+                                                            ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : #t5;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart
new file mode 100644
index 0000000..bda0153
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart
@@ -0,0 +1,28 @@
+// Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/*@testedFeatures=checks*/
+library test;
+
+typedef void F<T>(T x);
+
+class B<T> {
+  B<T> operator +(B<T> other) => throw '';
+}
+
+class C<T> {
+  B<F<T>> get x => throw '';
+  void set x(B<F<T>> value) {}
+  B<F<T>>? get x2 => null;
+  void set x2(B<F<T>>? value) {}
+}
+
+void test(C<num> c) {
+  c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+  var y = c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+  c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+  var z = c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.textual_outline.expect
new file mode 100644
index 0000000..ee91c60
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.textual_outline.expect
@@ -0,0 +1,17 @@
+library test;
+
+typedef void F<T>(T x);
+
+class B<T> {
+  B<T> operator +(B<T> other) => throw '';
+}
+
+class C<T> {
+  B<F<T>> get x => throw '';
+  void set x(B<F<T>> value) {}
+  B<F<T>>? get x2 => null;
+  void set x2(B<F<T>>? value) {}
+}
+
+void test(C<num> c) {}
+main() {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..19cfea8
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.textual_outline_modelled.expect
@@ -0,0 +1,16 @@
+library test;
+
+class B<T> {
+  B<T> operator +(B<T> other) => throw '';
+}
+
+class C<T> {
+  B<F<T>>? get x2 => null;
+  B<F<T>> get x => throw '';
+  void set x(B<F<T>> value) {}
+  void set x2(B<F<T>>? value) {}
+}
+
+main() {}
+typedef void F<T>(T x);
+void test(C<num> c) {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.expect
new file mode 100644
index 0000000..4eb28a0
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.expect
@@ -0,0 +1,65 @@
+library test /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:22:49: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+//                                                 ^
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:23:57: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   var y = c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+//                                                         ^
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:24:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+//                                                    ^
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:25:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   var z = c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+//                                                            ^
+//
+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::•()
+    ;
+  operator +(covariant-by-class self::B<self::B::T%> other) → self::B<self::B::T%>
+    return throw "";
+}
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
+    : super core::Object::•()
+    ;
+  get x() → self::B<(self::C::T%) → void>
+    return throw "";
+  set x(self::B<(self::C::T%) → void> value) → void {}
+  get x2() → self::B<(self::C::T%) → void>?
+    return null;
+  set x2(self::B<(self::C::T%) → void>? value) → void {}
+}
+static method test(self::C<core::num> c) → void {
+  let final self::C<core::num> #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:22:49: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+                                                ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>){(self::B<(core::num) → void>) → self::B<(core::num) → void>};
+  self::B<(core::num) → void> y = let final self::C<core::num> #t2 = c in #t2.{self::C::x} = (#t2.{self::C::x}{self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:23:57: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  var y = c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+                                                        ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>){(self::B<(core::num) → void>) → self::B<(core::num) → void>};
+  let final self::C<core::num> #t3 = c in #t3.{self::C::x2}{self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? == null ?{self::B<core::Object>} #t3.{self::C::x2} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:24:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+                                                   ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>? : null;
+  self::B<core::Object> z = let final self::C<core::num> #t4 = c in let final self::B<(core::num) → void>? #t5 = #t4.{self::C::x2}{self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? in #t5 == null ?{self::B<core::Object>} #t4.{self::C::x2} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:25:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  var z = c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+                                                           ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>? : #t5{self::B<(core::num) → void>};
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.modular.expect
new file mode 100644
index 0000000..4eb28a0
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.modular.expect
@@ -0,0 +1,65 @@
+library test /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:22:49: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+//                                                 ^
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:23:57: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   var y = c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+//                                                         ^
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:24:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+//                                                    ^
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:25:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   var z = c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+//                                                            ^
+//
+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::•()
+    ;
+  operator +(covariant-by-class self::B<self::B::T%> other) → self::B<self::B::T%>
+    return throw "";
+}
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
+    : super core::Object::•()
+    ;
+  get x() → self::B<(self::C::T%) → void>
+    return throw "";
+  set x(self::B<(self::C::T%) → void> value) → void {}
+  get x2() → self::B<(self::C::T%) → void>?
+    return null;
+  set x2(self::B<(self::C::T%) → void>? value) → void {}
+}
+static method test(self::C<core::num> c) → void {
+  let final self::C<core::num> #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:22:49: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+                                                ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>){(self::B<(core::num) → void>) → self::B<(core::num) → void>};
+  self::B<(core::num) → void> y = let final self::C<core::num> #t2 = c in #t2.{self::C::x} = (#t2.{self::C::x}{self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:23:57: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  var y = c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+                                                        ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>){(self::B<(core::num) → void>) → self::B<(core::num) → void>};
+  let final self::C<core::num> #t3 = c in #t3.{self::C::x2}{self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? == null ?{self::B<core::Object>} #t3.{self::C::x2} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:24:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+                                                   ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>? : null;
+  self::B<core::Object> z = let final self::C<core::num> #t4 = c in let final self::B<(core::num) → void>? #t5 = #t4.{self::C::x2}{self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? in #t5 == null ?{self::B<core::Object>} #t4.{self::C::x2} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:25:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  var z = c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+                                                           ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>? : #t5{self::B<(core::num) → void>};
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.outline.expect
new file mode 100644
index 0000000..1048571
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.outline.expect
@@ -0,0 +1,27 @@
+library test /*isNonNullableByDefault*/;
+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%>
+    ;
+  operator +(covariant-by-class self::B<self::B::T%> other) → self::B<self::B::T%>
+    ;
+}
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
+    ;
+  get x() → self::B<(self::C::T%) → void>
+    ;
+  set x(self::B<(self::C::T%) → void> value) → void
+    ;
+  get x2() → self::B<(self::C::T%) → void>?
+    ;
+  set x2(self::B<(self::C::T%) → void>? value) → void
+    ;
+}
+static method test(self::C<core::num> c) → void
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.transformed.expect
new file mode 100644
index 0000000..4eb28a0
--- /dev/null
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart.weak.transformed.expect
@@ -0,0 +1,65 @@
+library test /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:22:49: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+//                                                 ^
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:23:57: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   var y = c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+//                                                         ^
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:24:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+//                                                    ^
+//
+// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:25:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+//  - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+//   var z = c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+//                                                            ^
+//
+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::•()
+    ;
+  operator +(covariant-by-class self::B<self::B::T%> other) → self::B<self::B::T%>
+    return throw "";
+}
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
+    : super core::Object::•()
+    ;
+  get x() → self::B<(self::C::T%) → void>
+    return throw "";
+  set x(self::B<(self::C::T%) → void> value) → void {}
+  get x2() → self::B<(self::C::T%) → void>?
+    return null;
+  set x2(self::B<(self::C::T%) → void>? value) → void {}
+}
+static method test(self::C<core::num> c) → void {
+  let final self::C<core::num> #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:22:49: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+                                                ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>){(self::B<(core::num) → void>) → self::B<(core::num) → void>};
+  self::B<(core::num) → void> y = let final self::C<core::num> #t2 = c in #t2.{self::C::x} = (#t2.{self::C::x}{self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:23:57: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  var y = c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
+                                                        ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>){(self::B<(core::num) → void>) → self::B<(core::num) → void>};
+  let final self::C<core::num> #t3 = c in #t3.{self::C::x2}{self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? == null ?{self::B<core::Object>} #t3.{self::C::x2} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:24:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+                                                   ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>? : null;
+  self::B<core::Object> z = let final self::C<core::num> #t4 = c in let final self::B<(core::num) → void>? #t5 = #t4.{self::C::x2}{self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? in #t5 == null ?{self::B<core::Object>} #t4.{self::C::x2} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:25:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
+ - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
+  var z = c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
+                                                           ^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>? : #t5{self::B<(core::num) → void>};
+}
+static method main() → dynamic {}
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 e935be9..b3a63a8 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,27 +1,33 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 typedef void F<T>(T x);
 
 class B<T> {
-  B<T> operator +(B<T> other) => null;
+  B<T> operator +(B<T> other) => throw '';
 }
 
 class C<T> {
-  B<F<T>> operator [](int i) => null;
+  B<F<T>> operator [](int i) => throw '';
   void operator []=(int i, B<F<T>> x) {}
 }
 
-void test(C<num> c) {
+class C2<T> {
+  B<F<T>>? operator [](int i) => throw '';
+  void operator []=(int i, B<F<T>>? x) {}
+}
+
+void test(C<num> c, C2<num> c2) {
   c[0] = new B<F<num>>();
-  c /*@ checkReturn=B<(num*) ->* void>* */ [0] += new B<F<num>>();
-  var x = c /*@ checkReturn=B<(num*) ->* void>* */ [0] += new B<F<num>>();
-  c /*@ checkReturn=B<(num*) ->* void>* */ [0] ??= new B<F<num>>();
-  var y = c /*@ checkReturn=B<(num*) ->* void>* */ [0] ??= new B<F<num>>();
+  c2[0] = new B<F<num>>();
+  c /*@checkReturn=B<(num) -> void>*/ [0] += new B<F<num>>();
+  var x = c /*@checkReturn=B<(num) -> void>*/ [0] += new B<F<num>>();
+  c2 /*@checkReturn=B<(num) -> void>?*/ [0] ??= new B<F<num>>();
+  var y = c2 /*@checkReturn=B<(num) -> void>?*/ [0] ??= new B<F<num>>();
 }
 
 main() {}
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 25e6f2f..9a51abc 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,16 +1,20 @@
-// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
 
 class B<T> {
-  B<T> operator +(B<T> other) => null;
+  B<T> operator +(B<T> other) => throw '';
 }
 
 class C<T> {
-  B<F<T>> operator [](int i) => null;
+  B<F<T>> operator [](int i) => throw '';
   void operator []=(int i, B<F<T>> x) {}
 }
 
-void test(C<num> c) {}
+class C2<T> {
+  B<F<T>>? operator [](int i) => throw '';
+  void operator []=(int i, B<F<T>>? x) {}
+}
+
+void test(C<num> c, C2<num> c2) {}
 main() {}
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 c7d6555..00281b6 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,15 +1,19 @@
-// @dart = 2.9
 library test;
 
 class B<T> {
-  B<T> operator +(B<T> other) => null;
+  B<T> operator +(B<T> other) => throw '';
 }
 
 class C<T> {
-  B<F<T>> operator [](int i) => null;
+  B<F<T>> operator [](int i) => throw '';
   void operator []=(int i, B<F<T>> x) {}
 }
 
+class C2<T> {
+  B<F<T>>? operator [](int i) => throw '';
+  void operator []=(int i, B<F<T>>? x) {}
+}
+
 main() {}
 typedef void F<T>(T x);
-void test(C<num> c) {}
+void test(C<num> c, C2<num> c2) {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.expect
index 3769315..266a5d7 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.expect
@@ -1,48 +1,37 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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::•()
     ;
-  operator +(covariant-by-class self::B<self::B::T*>* other) → self::B<self::B::T*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator +(covariant-by-class self::B<self::B::T%> other) → self::B<self::B::T%>
+    return throw "";
 }
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  operator [](core::int* i) → self::B<(self::C::T*) →* void>*
-    return null;
-  operator []=(core::int* i, self::B<(self::C::T*) →* void>* x) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator [](core::int i) → self::B<(self::C::T%) → void>
+    return throw "";
+  operator []=(core::int i, self::B<(self::C::T%) → void> x) → void {}
 }
-static method test(self::C<core::num*>* c) → void {
-  c.{self::C::[]=}(0, new self::B::•<(core::num*) →* void>()){(core::int*, self::B<(core::num*) →* void>*) →* void};
-  let final self::C<core::num*>* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*}){(core::int*, self::B<(core::num*) →* void>*) →* void};
-  self::B<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in let final core::int* #t4 = 0 in let final self::B<(core::num*) →* void>* #t5 = (#t3.{self::C::[]}(#t4){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int*, self::B<(core::num*) →* void>*) →* void} in #t5;
-  let final self::C<core::num*>* #t7 = c in let final core::int* #t8 = 0 in #t7.{self::C::[]}(#t8){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<(core::num*) →* void>*} #t7.{self::C::[]=}(#t8, new self::B::•<(core::num*) →* void>()){(core::int*, self::B<(core::num*) →* void>*) →* void} : null;
-  self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t9 = c in let final core::int* #t10 = 0 in let final self::B<(core::num*) →* void>* #t11 = #t9.{self::C::[]}(#t10){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t11 == null ?{self::B<(core::num*) →* void>*} let final self::B<(core::num*) →* void>* #t12 = new self::B::•<(core::num*) →* void>() in let final void #t13 = #t9.{self::C::[]=}(#t10, #t12){(core::int*, self::B<(core::num*) →* void>*) →* void} in #t12 : #t11;
+class C2<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C2<self::C2::T%>
+    : super core::Object::•()
+    ;
+  operator [](core::int i) → self::B<(self::C2::T%) → void>?
+    return throw "";
+  operator []=(core::int i, self::B<(self::C2::T%) → void>? x) → void {}
+}
+static method test(self::C<core::num> c, self::C2<core::num> c2) → void {
+  c.{self::C::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>) → void};
+  c2.{self::C2::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void};
+  let final self::C<core::num> #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>}){(core::int, self::B<(core::num) → void>) → void};
+  self::B<(core::num) → void> x = let final self::C<core::num> #t3 = c in let final core::int #t4 = 0 in let final self::B<(core::num) → void> #t5 = (#t3.{self::C::[]}(#t4){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<(core::num) → void>) → void} in #t5;
+  let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
+  self::B<(core::num) → void> y = let final self::C2<core::num> #t9 = c2 in let final core::int #t10 = 0 in let final self::B<(core::num) → void>? #t11 = #t9.{self::C2::[]}(#t10){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? in #t11 == null ?{self::B<(core::num) → void>} let final self::B<(core::num) → void> #t12 = new self::B::•<(core::num) → void>() in let final void #t13 = #t9.{self::C2::[]=}(#t10, #t12){(core::int, self::B<(core::num) → void>?) → void} in #t12 : #t11{self::B<(core::num) → void>};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.modular.expect
index 3769315..266a5d7 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.modular.expect
@@ -1,48 +1,37 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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::•()
     ;
-  operator +(covariant-by-class self::B<self::B::T*>* other) → self::B<self::B::T*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator +(covariant-by-class self::B<self::B::T%> other) → self::B<self::B::T%>
+    return throw "";
 }
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  operator [](core::int* i) → self::B<(self::C::T*) →* void>*
-    return null;
-  operator []=(core::int* i, self::B<(self::C::T*) →* void>* x) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator [](core::int i) → self::B<(self::C::T%) → void>
+    return throw "";
+  operator []=(core::int i, self::B<(self::C::T%) → void> x) → void {}
 }
-static method test(self::C<core::num*>* c) → void {
-  c.{self::C::[]=}(0, new self::B::•<(core::num*) →* void>()){(core::int*, self::B<(core::num*) →* void>*) →* void};
-  let final self::C<core::num*>* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*}){(core::int*, self::B<(core::num*) →* void>*) →* void};
-  self::B<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in let final core::int* #t4 = 0 in let final self::B<(core::num*) →* void>* #t5 = (#t3.{self::C::[]}(#t4){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int*, self::B<(core::num*) →* void>*) →* void} in #t5;
-  let final self::C<core::num*>* #t7 = c in let final core::int* #t8 = 0 in #t7.{self::C::[]}(#t8){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<(core::num*) →* void>*} #t7.{self::C::[]=}(#t8, new self::B::•<(core::num*) →* void>()){(core::int*, self::B<(core::num*) →* void>*) →* void} : null;
-  self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t9 = c in let final core::int* #t10 = 0 in let final self::B<(core::num*) →* void>* #t11 = #t9.{self::C::[]}(#t10){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t11 == null ?{self::B<(core::num*) →* void>*} let final self::B<(core::num*) →* void>* #t12 = new self::B::•<(core::num*) →* void>() in let final void #t13 = #t9.{self::C::[]=}(#t10, #t12){(core::int*, self::B<(core::num*) →* void>*) →* void} in #t12 : #t11;
+class C2<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C2<self::C2::T%>
+    : super core::Object::•()
+    ;
+  operator [](core::int i) → self::B<(self::C2::T%) → void>?
+    return throw "";
+  operator []=(core::int i, self::B<(self::C2::T%) → void>? x) → void {}
+}
+static method test(self::C<core::num> c, self::C2<core::num> c2) → void {
+  c.{self::C::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>) → void};
+  c2.{self::C2::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void};
+  let final self::C<core::num> #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>}){(core::int, self::B<(core::num) → void>) → void};
+  self::B<(core::num) → void> x = let final self::C<core::num> #t3 = c in let final core::int #t4 = 0 in let final self::B<(core::num) → void> #t5 = (#t3.{self::C::[]}(#t4){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<(core::num) → void>) → void} in #t5;
+  let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
+  self::B<(core::num) → void> y = let final self::C2<core::num> #t9 = c2 in let final core::int #t10 = 0 in let final self::B<(core::num) → void>? #t11 = #t9.{self::C2::[]}(#t10){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? in #t11 == null ?{self::B<(core::num) → void>} let final self::B<(core::num) → void> #t12 = new self::B::•<(core::num) → void>() in let final void #t13 = #t9.{self::C2::[]=}(#t10, #t12){(core::int, self::B<(core::num) → void>?) → void} in #t12 : #t11{self::B<(core::num) → void>};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.outline.expect
index d74cdc8..36c8715 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.outline.expect
@@ -1,43 +1,31 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     ;
-  operator +(covariant-by-class self::B<self::B::T*>* other) → self::B<self::B::T*>*
+  operator +(covariant-by-class self::B<self::B::T%> other) → 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*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  operator [](core::int* i) → self::B<(self::C::T*) →* void>*
+  operator [](core::int i) → self::B<(self::C::T%) → void>
     ;
-  operator []=(core::int* i, self::B<(self::C::T*) →* void>* x) → void
+  operator []=(core::int i, self::B<(self::C::T%) → void> 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
 }
-static method test(self::C<core::num*>* c) → void
+class C2<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C2<self::C2::T%>
+    ;
+  operator [](core::int i) → self::B<(self::C2::T%) → void>?
+    ;
+  operator []=(core::int i, self::B<(self::C2::T%) → void>? x) → void
+    ;
+}
+static method test(self::C<core::num> c, self::C2<core::num> c2) → void
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.transformed.expect
index 6e2827f..9cbbc0b 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.transformed.expect
@@ -1,60 +1,49 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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::•()
     ;
-  operator +(covariant-by-class self::B<self::B::T*>* other) → self::B<self::B::T*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator +(covariant-by-class self::B<self::B::T%> other) → self::B<self::B::T%>
+    return throw "";
 }
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  operator [](core::int* i) → self::B<(self::C::T*) →* void>*
-    return null;
-  operator []=(core::int* i, self::B<(self::C::T*) →* void>* x) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator [](core::int i) → self::B<(self::C::T%) → void>
+    return throw "";
+  operator []=(core::int i, self::B<(self::C::T%) → void> x) → void {}
 }
-static method test(self::C<core::num*>* c) → void {
-  c.{self::C::[]=}(0, new self::B::•<(core::num*) →* void>()){(core::int*, self::B<(core::num*) →* void>*) →* void};
-  let final self::C<core::num*>* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*}){(core::int*, self::B<(core::num*) →* void>*) →* void};
-  self::B<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in let final core::int* #t4 = 0 in let final self::B<(core::num*) →* void>* #t5 = (#t3.{self::C::[]}(#t4){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int*, self::B<(core::num*) →* void>*) →* void} in #t5;
-  let final self::C<core::num*>* #t7 = c in let final core::int* #t8 = 0 in #t7.{self::C::[]}(#t8){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<(core::num*) →* void>*} #t7.{self::C::[]=}(#t8, new self::B::•<(core::num*) →* void>()){(core::int*, self::B<(core::num*) →* void>*) →* void} : null;
-  self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t9 = c in let final core::int* #t10 = 0 in let final self::B<(core::num*) →* void>* #t11 = #t9.{self::C::[]}(#t10){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t11 == null ?{self::B<(core::num*) →* void>*} let final self::B<(core::num*) →* void>* #t12 = new self::B::•<(core::num*) →* void>() in let final void #t13 = #t9.{self::C::[]=}(#t10, #t12){(core::int*, self::B<(core::num*) →* void>*) →* void} in #t12 : #t11;
+class C2<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C2<self::C2::T%>
+    : super core::Object::•()
+    ;
+  operator [](core::int i) → self::B<(self::C2::T%) → void>?
+    return throw "";
+  operator []=(core::int i, self::B<(self::C2::T%) → void>? x) → void {}
+}
+static method test(self::C<core::num> c, self::C2<core::num> c2) → void {
+  c.{self::C::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>) → void};
+  c2.{self::C2::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void};
+  let final self::C<core::num> #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>}){(core::int, self::B<(core::num) → void>) → void};
+  self::B<(core::num) → void> x = let final self::C<core::num> #t3 = c in let final core::int #t4 = 0 in let final self::B<(core::num) → void> #t5 = (#t3.{self::C::[]}(#t4){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<(core::num) → void>) → void} in #t5;
+  let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
+  self::B<(core::num) → void> y = let final self::C2<core::num> #t9 = c2 in let final core::int #t10 = 0 in let final self::B<(core::num) → void>? #t11 = #t9.{self::C2::[]}(#t10){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? in #t11 == null ?{self::B<(core::num) → void>} let final self::B<(core::num) → void> #t12 = new self::B::•<(core::num) → void>() in let final void #t13 = #t9.{self::C2::[]=}(#t10, #t12){(core::int, self::B<(core::num) → void>?) → void} in #t12 : #t11{self::B<(core::num) → void>};
 }
 static method main() → dynamic {}
 
 
 Extra constant evaluation status:
-Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:21:45 -> IntConstant(0)
-Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:21:45 -> IntConstant(0)
-Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:22:53 -> IntConstant(0)
-Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:22:53 -> IntConstant(0)
-Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:23:45 -> IntConstant(0)
-Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:23:45 -> IntConstant(0)
-Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:24:53 -> IntConstant(0)
-Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:24:53 -> IntConstant(0)
-Extra constant evaluation: evaluated: 64, effectively constant: 8
+Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:27:40 -> IntConstant(0)
+Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:27:40 -> IntConstant(0)
+Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:28:48 -> IntConstant(0)
+Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:28:48 -> IntConstant(0)
+Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:29:42 -> IntConstant(0)
+Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:29:42 -> IntConstant(0)
+Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:30:50 -> IntConstant(0)
+Evaluated: VariableGet @ org-dartlang-testcase:///contravariant_index_assign.dart:30:50 -> IntConstant(0)
+Extra constant evaluation: evaluated: 70, effectively constant: 8
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 dfab294..7c3ebc8 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,18 +1,18 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  F<T> operator [](int i) => null;
+  F<T> operator [](int i) => throw '';
 }
 
 F<num> test(C<num> c) {
-  return c /*@ checkReturn=(num*) ->* void */ [0];
+  return c /*@checkReturn=(num) -> void*/ [0];
 }
 
 main() {}
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 800ea5e..69e660e 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,10 +1,9 @@
-// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
 
 class C<T> {
-  F<T> operator [](int i) => null;
+  F<T> operator [](int i) => throw '';
 }
 
 F<num> test(C<num> c) {}
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 ee7266a..f3b356a 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,10 +1,9 @@
-// @dart = 2.9
 library test;
 
 F<num> test(C<num> c) {}
 
 class C<T> {
-  F<T> operator [](int i) => null;
+  F<T> operator [](int i) => throw '';
 }
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.expect
index 906d2cb..d10e5c2 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.expect
@@ -1,26 +1,16 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  operator [](core::int* i) → (self::C::T*) →* void
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator [](core::int i) → (self::C::T%) → void
+    return throw "";
 }
-static method test(self::C<core::num*>* c) → (core::num*) →* void {
-  return c.{self::C::[]}(0){(core::int*) →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method test(self::C<core::num> c) → (core::num) → void {
+  return c.{self::C::[]}(0){(core::int) → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.modular.expect
index 906d2cb..d10e5c2 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.modular.expect
@@ -1,26 +1,16 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  operator [](core::int* i) → (self::C::T*) →* void
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator [](core::int i) → (self::C::T%) → void
+    return throw "";
 }
-static method test(self::C<core::num*>* c) → (core::num*) →* void {
-  return c.{self::C::[]}(0){(core::int*) →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method test(self::C<core::num> c) → (core::num) → void {
+  return c.{self::C::[]}(0){(core::int) → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.outline.expect
index 305e8fb..93eab98 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.outline.expect
@@ -1,25 +1,15 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     ;
-  operator [](core::int* i) → (self::C::T*) →* void
+  operator [](core::int i) → (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 test(self::C<core::num*>* c) → (core::num*) →* void
+static method test(self::C<core::num> c) → (core::num) → void
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.transformed.expect
index 906d2cb..d10e5c2 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.transformed.expect
@@ -1,26 +1,16 @@
-library test;
+library test /*isNonNullableByDefault*/;
 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*>*
+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%>
     : super core::Object::•()
     ;
-  operator [](core::int* i) → (self::C::T*) →* void
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  operator [](core::int i) → (self::C::T%) → void
+    return throw "";
 }
-static method test(self::C<core::num*>* c) → (core::num*) →* void {
-  return c.{self::C::[]}(0){(core::int*) →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+static method test(self::C<core::num> c) → (core::num) → void {
+  return c.{self::C::[]}(0){(core::int) → (core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
 }
 static method main() → dynamic {}
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 b194037..e859580 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,13 +1,13 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class B<T> {
   void f(T x) {}
-  void g({T x}) {}
+  void g({required T x}) {}
   void h<U extends T>() {}
 }
 
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 17a00a3..68bef4a 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,9 +1,8 @@
-// @dart = 2.9
 library test;
 
 class B<T> {
   void f(T x) {}
-  void g({T x}) {}
+  void g({required T x}) {}
   void h<U extends 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 fc92324..aff3c3f 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,9 +1,8 @@
-// @dart = 2.9
 library test;
 
 class B<T> {
   void f(T x) {}
-  void g({T x}) {}
+  void g({required T x}) {}
   void h<U extends T>() {}
 }
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.expect
index 80e45ff..e03c9a3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.expect
@@ -1,35 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::B::T* x) → void {}
-  method g({covariant-by-class self::B::T* x = #C1}) → void {}
-  method h<covariant-by-class U extends self::B::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
+  method f(covariant-by-class self::B::T% x) → void {}
+  method g({required covariant-by-class self::B::T% x = #C1}) → void {}
+  method h<covariant-by-class U extends self::B::T%>() → void {}
 }
-class C extends self::B<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
 }
-static method g1(self::B<core::num*>* b) → void {
-  b.{self::B::f}(1.5){(core::num*) →* void};
+static method g1(self::B<core::num> b) → void {
+  b.{self::B::f}(1.5){(core::num) → void};
 }
-static method g2(self::C* c) → void {
-  c.{self::B::f}(1){(core::int*) →* void};
+static method g2(self::C c) → void {
+  c.{self::B::f}(1){(core::int) → void};
 }
 static method test() → void {
   self::g1(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.modular.expect
index 80e45ff..e03c9a3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.modular.expect
@@ -1,35 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::B::T* x) → void {}
-  method g({covariant-by-class self::B::T* x = #C1}) → void {}
-  method h<covariant-by-class U extends self::B::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
+  method f(covariant-by-class self::B::T% x) → void {}
+  method g({required covariant-by-class self::B::T% x = #C1}) → void {}
+  method h<covariant-by-class U extends self::B::T%>() → void {}
 }
-class C extends self::B<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
 }
-static method g1(self::B<core::num*>* b) → void {
-  b.{self::B::f}(1.5){(core::num*) →* void};
+static method g1(self::B<core::num> b) → void {
+  b.{self::B::f}(1.5){(core::num) → void};
 }
-static method g2(self::C* c) → void {
-  c.{self::B::f}(1){(core::int*) →* void};
+static method g2(self::C c) → void {
+  c.{self::B::f}(1){(core::int) → void};
 }
 static method test() → void {
   self::g1(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.outline.expect
index 3139116..22337b5 100644
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.outline.expect
@@ -1,34 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%>
     ;
-  method f(covariant-by-class self::B::T* x) → void
+  method f(covariant-by-class self::B::T% x) → void
     ;
-  method g({covariant-by-class self::B::T* x = null}) → void
+  method g({required covariant-by-class self::B::T% x = null}) → void
     ;
-  method h<covariant-by-class U extends self::B::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
-}
-class C extends self::B<core::int*> {
-  synthetic constructor •() → self::C*
+  method h<covariant-by-class U extends self::B::T%>() → void
     ;
 }
-static method g1(self::B<core::num*>* b) → void
+class C extends self::B<core::int> {
+  synthetic constructor •() → self::C
+    ;
+}
+static method g1(self::B<core::num> b) → void
   ;
-static method g2(self::C* c) → void
+static method g2(self::C c) → void
   ;
 static method test() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.transformed.expect
index 80e45ff..e03c9a3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.transformed.expect
@@ -1,35 +1,25 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::B::T* x) → void {}
-  method g({covariant-by-class self::B::T* x = #C1}) → void {}
-  method h<covariant-by-class U extends self::B::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
+  method f(covariant-by-class self::B::T% x) → void {}
+  method g({required covariant-by-class self::B::T% x = #C1}) → void {}
+  method h<covariant-by-class U extends self::B::T%>() → void {}
 }
-class C extends self::B<core::int*> {
-  synthetic constructor •() → self::C*
+class C extends self::B<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
 }
-static method g1(self::B<core::num*>* b) → void {
-  b.{self::B::f}(1.5){(core::num*) →* void};
+static method g1(self::B<core::num> b) → void {
+  b.{self::B::f}(1.5){(core::num) → void};
 }
-static method g2(self::C* c) → void {
-  c.{self::B::f}(1){(core::int*) →* void};
+static method g2(self::C c) → void {
+  c.{self::B::f}(1){(core::int) → void};
 }
 static method test() → void {
   self::g1(new self::C::•());
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 73be4e2..0ca96ab 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,12 +1,12 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class B<T> {
-  T x;
+  T x = throw '';
 }
 
 class C extends B<num> {}
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 c2a9e1e..9b3ed2f 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,8 +1,7 @@
-// @dart = 2.9
 library test;
 
 class B<T> {
-  T x;
+  T x = throw '';
 }
 
 class C extends B<num> {}
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 c2a9e1e..9b3ed2f 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,8 +1,7 @@
-// @dart = 2.9
 library test;
 
 class B<T> {
-  T x;
+  T x = throw '';
 }
 
 class C extends B<num> {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.expect
index 985b00d..a85121e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.expect
@@ -1,25 +1,15 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T% x = throw "";
+  synthetic constructor •() → self::B<self::B::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 C extends self::B<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B<core::num> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
 }
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.modular.expect
index 985b00d..a85121e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.modular.expect
@@ -1,25 +1,15 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T% x = throw "";
+  synthetic constructor •() → self::B<self::B::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 C extends self::B<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B<core::num> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
 }
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.outline.expect
index 07175fc..c34aba7 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.outline.expect
@@ -1,24 +1,14 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T% x;
+  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 C extends self::B<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B<core::num> {
+  synthetic constructor •() → self::C
     ;
 }
 static method main() → void
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.transformed.expect
index 985b00d..a85121e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.transformed.expect
@@ -1,25 +1,15 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T% x = throw "";
+  synthetic constructor •() → self::B<self::B::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 C extends self::B<core::num*> {
-  synthetic constructor •() → self::C*
+class C extends self::B<core::num> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
 }
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 de25e30..f3c119d 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,16 +1,16 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class B {
-  covariant num x;
+  covariant num x = 0;
 }
 
 class C {
-  int x;
+  int x = 0;
 }
 
 class D extends C implements B {}
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 84550a3..e4c7222 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,12 +1,11 @@
-// @dart = 2.9
 library test;
 
 class B {
-  covariant num x;
+  covariant num x = 0;
 }
 
 class C {
-  int x;
+  int x = 0;
 }
 
 class D extends C implements 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 84550a3..e4c7222 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,12 +1,11 @@
-// @dart = 2.9
 library test;
 
 class B {
-  covariant num x;
+  covariant num x = 0;
 }
 
 class C {
-  int x;
+  int x = 0;
 }
 
 class D extends C implements B {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.expect
index ec01d37..f775d70 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -6,7 +6,7 @@
 // class D extends C implements B {}
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart:13:7: Context: The field 'C.x' has type 'int', which does not match the corresponding type, 'num', in the overridden setter, 'D.x'.
-//   int x;
+//   int x = 0;
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart:16:7: Context: This is the overridden method ('x').
 // class D extends C implements B {}
@@ -16,42 +16,22 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  covariant-by-declaration field core::num* x = null;
-  synthetic constructor •() → self::B*
+  covariant-by-declaration field core::num x = 0;
+  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 C extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
+  field core::int x = 0;
+  synthetic 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
 }
 class D extends self::C implements self::B {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  forwarding-stub set x(covariant-by-declaration core::num* value) → void
-    return super.{self::C::x} = value as core::int*;
+  forwarding-stub set x(covariant-by-declaration core::num value) → void
+    return super.{self::C::x} = value as core::int;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.modular.expect
index ec01d37..f775d70 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -6,7 +6,7 @@
 // class D extends C implements B {}
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart:13:7: Context: The field 'C.x' has type 'int', which does not match the corresponding type, 'num', in the overridden setter, 'D.x'.
-//   int x;
+//   int x = 0;
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart:16:7: Context: This is the overridden method ('x').
 // class D extends C implements B {}
@@ -16,42 +16,22 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  covariant-by-declaration field core::num* x = null;
-  synthetic constructor •() → self::B*
+  covariant-by-declaration field core::num x = 0;
+  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 C extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
+  field core::int x = 0;
+  synthetic 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
 }
 class D extends self::C implements self::B {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  forwarding-stub set x(covariant-by-declaration core::num* value) → void
-    return super.{self::C::x} = value as core::int*;
+  forwarding-stub set x(covariant-by-declaration core::num value) → void
+    return super.{self::C::x} = value as core::int;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.outline.expect
index 64b0707..9aebbf6 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -6,7 +6,7 @@
 // class D extends C implements B {}
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart:13:7: Context: The field 'C.x' has type 'int', which does not match the corresponding type, 'num', in the overridden setter, 'D.x'.
-//   int x;
+//   int x = 0;
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart:16:7: Context: This is the overridden method ('x').
 // class D extends C implements B {}
@@ -16,40 +16,20 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  covariant-by-declaration field core::num* x;
-  synthetic constructor •() → self::B*
+  covariant-by-declaration field core::num 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
 }
 class C extends core::Object {
-  field core::int* x;
-  synthetic constructor •() → self::C*
+  field core::int 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
 }
 class D extends self::C implements self::B {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     ;
-  forwarding-stub set x(covariant-by-declaration core::num* value) → void
-    return super.{self::C::x} = value as core::int*;
+  forwarding-stub set x(covariant-by-declaration core::num value) → void
+    return super.{self::C::x} = value as core::int;
 }
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.transformed.expect
index ec01d37..f775d70 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -6,7 +6,7 @@
 // class D extends C implements B {}
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart:13:7: Context: The field 'C.x' has type 'int', which does not match the corresponding type, 'num', in the overridden setter, 'D.x'.
-//   int x;
+//   int x = 0;
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart:16:7: Context: This is the overridden method ('x').
 // class D extends C implements B {}
@@ -16,42 +16,22 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  covariant-by-declaration field core::num* x = null;
-  synthetic constructor •() → self::B*
+  covariant-by-declaration field core::num x = 0;
+  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 C extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
+  field core::int x = 0;
+  synthetic 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
 }
 class D extends self::C implements self::B {
-  synthetic constructor •() → self::D*
+  synthetic constructor •() → self::D
     : super self::C::•()
     ;
-  forwarding-stub set x(covariant-by-declaration core::num* value) → void
-    return super.{self::C::x} = value as core::int*;
+  forwarding-stub set x(covariant-by-declaration core::num value) → void
+    return super.{self::C::x} = value as core::int;
 }
 static method main() → void {}
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 e3b91c9..fcb5d83 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.textual_outline.expect
index cc05471..f3282d1 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,4 +1,3 @@
-// @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 755828d..5b85754 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.expect
index 05fc7de..42e8443 100644
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.expect
@@ -1,11 +1,11 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   static field dynamic staticField = null;
   field dynamic instanceField = null;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   static set staticSetter(dynamic x) → void {}
@@ -34,16 +34,6 @@
       localVar = #t7;
     }
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 topLevel;
 static set topLevelSetter(dynamic x) → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.modular.expect
index 05fc7de..42e8443 100644
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.modular.expect
@@ -1,11 +1,11 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   static field dynamic staticField = null;
   field dynamic instanceField = null;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   static set staticSetter(dynamic x) → void {}
@@ -34,16 +34,6 @@
       localVar = #t7;
     }
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 topLevel;
 static set topLevelSetter(dynamic x) → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.outline.expect
index 5e578da..06bd1ff 100644
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.outline.expect
@@ -1,11 +1,11 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   static field dynamic staticField;
   field dynamic instanceField;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   static set staticSetter(dynamic x) → void
     ;
@@ -13,16 +13,6 @@
     ;
   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 field dynamic topLevel;
 static set topLevelSetter(dynamic x) → void
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.transformed.expect
index db63c41..14be1ca 100644
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.transformed.expect
@@ -1,11 +1,11 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class C extends core::Object {
   static field dynamic staticField = null;
   field dynamic instanceField = null;
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   static set staticSetter(dynamic x) → void {}
@@ -13,7 +13,7 @@
   method test() → void {
     dynamic localVar;
     {
-      core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -22,7 +22,7 @@
       }
     }
     {
-      core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -31,7 +31,7 @@
       }
     }
     {
-      core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t3 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -40,7 +40,7 @@
       }
     }
     {
-      core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -49,7 +49,7 @@
       }
     }
     {
-      core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -58,7 +58,7 @@
       }
     }
     {
-      core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -67,7 +67,7 @@
       }
     }
     {
-      core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -76,16 +76,6 @@
       }
     }
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 topLevel;
 static set topLevelSetter(dynamic x) → void {}
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 d082c68..b2204f1 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,20 +1,20 @@
 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. 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;
 
 class B<T> {
-  T x;
-  T y;
+  T x = throw '';
+  T y = throw '';
 }
 
 // This class inherits genericImpl annotations from its superclass, but doesn't
 // have any members marked genericInterface because the inferred types of x and
 // y do not depend on the type parameter T.
 abstract class C<T> implements B<num> {
-  var x;
+  var x = throw '';
   get y;
   set y(value);
 }
@@ -22,7 +22,7 @@
 // This class also has members marked genericInterface, since the inferred types
 // of x and y *do* depend on the type parameter T.
 abstract class D<T> implements B<T> {
-  var x;
+  var x = throw '';
   get y;
   set y(value);
 }
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 672a0499..8fa0688 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,19 +1,18 @@
-// @dart = 2.9
 library test;
 
 class B<T> {
-  T x;
-  T y;
+  T x = throw '';
+  T y = throw '';
 }
 
 abstract class C<T> implements B<num> {
-  var x;
+  var x = throw '';
   get y;
   set y(value);
 }
 
 abstract class D<T> implements B<T> {
-  var x;
+  var x = throw '';
   get y;
   set y(value);
 }
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 4497bc5..07f880e 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,21 +1,20 @@
-// @dart = 2.9
 library test;
 
 abstract class C<T> implements B<num> {
   get y;
   set y(value);
-  var x;
+  var x = throw '';
 }
 
 abstract class D<T> implements B<T> {
   get y;
   set y(value);
-  var x;
+  var x = throw '';
 }
 
 class B<T> {
-  T x;
-  T y;
+  T x = throw '';
+  T y = throw '';
 }
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.expect
index 7bfe030..96749f6 100644
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.expect
@@ -1,58 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x = null;
-  covariant-by-class field self::B::T* y = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T% x = throw "";
+  covariant-by-class field self::B::T% y = throw "";
+  synthetic constructor •() → self::B<self::B::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 C<T extends core::Object* = dynamic> extends core::Object implements self::B<core::num*> {
-  covariant-by-class field core::num* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+abstract class C<T extends core::Object? = dynamic> extends core::Object implements self::B<core::num> {
+  covariant-by-class field core::num x = throw "";
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  abstract get y() → core::num*;
-  abstract set y(covariant-by-class core::num* 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 get y() → core::num;
+  abstract set y(covariant-by-class core::num value) → void;
 }
-abstract class D<T extends core::Object* = dynamic> extends core::Object implements self::B<self::D::T*> {
-  covariant-by-class field self::D::T* x = null;
-  synthetic constructor •() → self::D<self::D::T*>*
+abstract class D<T extends core::Object? = dynamic> extends core::Object implements self::B<self::D::T%> {
+  covariant-by-class field self::D::T% x = throw "";
+  synthetic constructor •() → self::D<self::D::T%>
     : super core::Object::•()
     ;
-  abstract get y() → self::D::T*;
-  abstract set y(covariant-by-class self::D::T* 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 get y() → self::D::T%;
+  abstract set y(covariant-by-class self::D::T% value) → void;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.modular.expect
index 7bfe030..96749f6 100644
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.modular.expect
@@ -1,58 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x = null;
-  covariant-by-class field self::B::T* y = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T% x = throw "";
+  covariant-by-class field self::B::T% y = throw "";
+  synthetic constructor •() → self::B<self::B::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 C<T extends core::Object* = dynamic> extends core::Object implements self::B<core::num*> {
-  covariant-by-class field core::num* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+abstract class C<T extends core::Object? = dynamic> extends core::Object implements self::B<core::num> {
+  covariant-by-class field core::num x = throw "";
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  abstract get y() → core::num*;
-  abstract set y(covariant-by-class core::num* 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 get y() → core::num;
+  abstract set y(covariant-by-class core::num value) → void;
 }
-abstract class D<T extends core::Object* = dynamic> extends core::Object implements self::B<self::D::T*> {
-  covariant-by-class field self::D::T* x = null;
-  synthetic constructor •() → self::D<self::D::T*>*
+abstract class D<T extends core::Object? = dynamic> extends core::Object implements self::B<self::D::T%> {
+  covariant-by-class field self::D::T% x = throw "";
+  synthetic constructor •() → self::D<self::D::T%>
     : super core::Object::•()
     ;
-  abstract get y() → self::D::T*;
-  abstract set y(covariant-by-class self::D::T* 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 get y() → self::D::T%;
+  abstract set y(covariant-by-class self::D::T% value) → void;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.outline.expect
index 6e07a6c..29cc1f7 100644
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.outline.expect
@@ -1,56 +1,26 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x;
-  covariant-by-class field self::B::T* y;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T% x;
+  covariant-by-class field self::B::T% y;
+  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
 }
-abstract class C<T extends core::Object* = dynamic> extends core::Object implements self::B<core::num*> {
-  covariant-by-class field core::num* x;
-  synthetic constructor •() → self::C<self::C::T*>*
+abstract class C<T extends core::Object? = dynamic> extends core::Object implements self::B<core::num> {
+  covariant-by-class field core::num x;
+  synthetic constructor •() → self::C<self::C::T%>
     ;
-  abstract get y() → core::num*;
-  abstract set y(covariant-by-class core::num* 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 get y() → core::num;
+  abstract set y(covariant-by-class core::num value) → void;
 }
-abstract class D<T extends core::Object* = dynamic> extends core::Object implements self::B<self::D::T*> {
-  covariant-by-class field self::D::T* x;
-  synthetic constructor •() → self::D<self::D::T*>*
+abstract class D<T extends core::Object? = dynamic> extends core::Object implements self::B<self::D::T%> {
+  covariant-by-class field self::D::T% x;
+  synthetic constructor •() → self::D<self::D::T%>
     ;
-  abstract get y() → self::D::T*;
-  abstract set y(covariant-by-class self::D::T* 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 get y() → self::D::T%;
+  abstract set y(covariant-by-class self::D::T% value) → void;
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.transformed.expect
index 7bfe030..96749f6 100644
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.transformed.expect
@@ -1,58 +1,28 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  covariant-by-class field self::B::T* x = null;
-  covariant-by-class field self::B::T* y = null;
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  covariant-by-class field self::B::T% x = throw "";
+  covariant-by-class field self::B::T% y = throw "";
+  synthetic constructor •() → self::B<self::B::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 C<T extends core::Object* = dynamic> extends core::Object implements self::B<core::num*> {
-  covariant-by-class field core::num* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
+abstract class C<T extends core::Object? = dynamic> extends core::Object implements self::B<core::num> {
+  covariant-by-class field core::num x = throw "";
+  synthetic constructor •() → self::C<self::C::T%>
     : super core::Object::•()
     ;
-  abstract get y() → core::num*;
-  abstract set y(covariant-by-class core::num* 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 get y() → core::num;
+  abstract set y(covariant-by-class core::num value) → void;
 }
-abstract class D<T extends core::Object* = dynamic> extends core::Object implements self::B<self::D::T*> {
-  covariant-by-class field self::D::T* x = null;
-  synthetic constructor •() → self::D<self::D::T*>*
+abstract class D<T extends core::Object? = dynamic> extends core::Object implements self::B<self::D::T%> {
+  covariant-by-class field self::D::T% x = throw "";
+  synthetic constructor •() → self::D<self::D::T%>
     : super core::Object::•()
     ;
-  abstract get y() → self::D::T*;
-  abstract set y(covariant-by-class self::D::T* 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 get y() → self::D::T%;
+  abstract set y(covariant-by-class self::D::T% value) → void;
 }
 static method main() → dynamic {}
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 2a1a47e..0da29312c 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,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
+
 /*@testedFeatures=checks*/
 library test;
 
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 c13bc20..bfda104 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;
 
@@ -44,8 +44,8 @@
 }
 
 class M {
-  int x;
-  int y;
+  int x = 0;
+  int y = 0;
 }
 
 class C = B with M implements I<int>;
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 0765c2b..80b1933 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 void expectTypeError(void callback()) {}
@@ -19,8 +18,8 @@
 }
 
 class M {
-  int x;
-  int y;
+  int x = 0;
+  int y = 0;
 }
 
 class C = B with M implements I<int>;
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 5cec6be..204e623 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 abstract class I<T> {
@@ -18,8 +17,8 @@
 class C = B with M implements I<int>;
 
 class M {
-  int x;
-  int y;
+  int x = 0;
+  int y = 0;
 }
 
 void expect(Object value, Object expected) {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.expect
index 99c30ab..4313fc3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -7,7 +7,7 @@
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart:48:7: Context: The field 'M.y' has type 'int', which does not match the corresponding type, 'Object', in the overridden setter, 'I.y'.
 //  - 'Object' is from 'dart:core'.
-//   int y;
+//   int y = 0;
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart:43:12: Context: This is the overridden method ('y').
 //   void set y(covariant Object value);
@@ -17,105 +17,75 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  get x() → core::int* {
+  get x() → core::int {
     throw "Should not be reached";
   }
-  set x(core::int* value) → void {
+  set x(core::int value) → void {
     throw "Should not be reached";
   }
-  get y() → core::int* {
+  get y() → core::int {
     throw "Should not be reached";
   }
-  set y(core::int* value) → void {
+  set y(core::int value) → void {
     throw "Should not be reached";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract get x() → self::I::T*;
-  abstract set x(covariant-by-class self::I::T* value) → void;
-  abstract get y() → core::Object*;
-  abstract set y(covariant-by-declaration core::Object* 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 get x() → self::I::T%;
+  abstract set x(covariant-by-class self::I::T% value) → void;
+  abstract get y() → core::Object;
+  abstract set y(covariant-by-declaration core::Object value) → void;
 }
 class M extends core::Object {
-  field core::int* x = null;
-  field core::int* y = null;
-  synthetic constructor •() → self::M*
+  field core::int x = 0;
+  field core::int y = 0;
+  synthetic constructor •() → self::M
     : 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 = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  mixin-super-stub get x() → core::int*
+  mixin-super-stub get x() → core::int
     return super.{self::M::x};
-  forwarding-stub set x(covariant-by-class core::int* value) → void
+  forwarding-stub set x(covariant-by-class core::int value) → void
     return super.{self::M::x} = value;
-  mixin-super-stub get y() → core::int*
+  mixin-super-stub get y() → core::int
     return super.{self::M::y};
-  forwarding-stub set y(covariant-by-declaration core::int* value) → void
+  forwarding-stub set y(covariant-by-declaration core::int value) → void
     return super.{self::M::y} = value;
 }
-static method expectTypeError(() →* void callback) → void {
+static method expectTypeError(() → void callback) → void {
   try {
-    callback(){() →* void};
+    callback(){() → void};
     throw "Expected TypeError, did not occur";
   }
-  on core::TypeError* catch(no-exception-var) {
+  on core::TypeError catch(no-exception-var) {
   }
 }
-static method expect(core::Object* value, core::Object* expected) → void {
-  if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
+static method expect(core::Object value, core::Object expected) → void {
+  if(!(value =={core::Object::==}{(core::Object) → core::bool} expected)) {
     throw "Expected ${expected}, got ${value}";
   }
 }
-static method test(self::I<core::Object*>* i) → void {
-  self::expectTypeError(() → Null {
+static method test(self::I<core::Object> i) → void {
+  self::expectTypeError(() → void {
     i.{self::I::x} = "hello";
   });
   i.{self::I::x} = 1;
-  self::expect(i.{self::I::x}{core::Object*}, 1);
-  self::expectTypeError(() → Null {
+  self::expect(i.{self::I::x}{core::Object}, 1);
+  self::expectTypeError(() → void {
     i.{self::I::y} = "hello";
   });
   i.{self::I::y} = 2;
-  self::expect(i.{self::I::y}{core::Object*}, 2);
+  self::expect(i.{self::I::y}{core::Object}, 2);
 }
 static method main() → void {
   self::test(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.modular.expect
index 99c30ab..4313fc3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -7,7 +7,7 @@
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart:48:7: Context: The field 'M.y' has type 'int', which does not match the corresponding type, 'Object', in the overridden setter, 'I.y'.
 //  - 'Object' is from 'dart:core'.
-//   int y;
+//   int y = 0;
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart:43:12: Context: This is the overridden method ('y').
 //   void set y(covariant Object value);
@@ -17,105 +17,75 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  get x() → core::int* {
+  get x() → core::int {
     throw "Should not be reached";
   }
-  set x(core::int* value) → void {
+  set x(core::int value) → void {
     throw "Should not be reached";
   }
-  get y() → core::int* {
+  get y() → core::int {
     throw "Should not be reached";
   }
-  set y(core::int* value) → void {
+  set y(core::int value) → void {
     throw "Should not be reached";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract get x() → self::I::T*;
-  abstract set x(covariant-by-class self::I::T* value) → void;
-  abstract get y() → core::Object*;
-  abstract set y(covariant-by-declaration core::Object* 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 get x() → self::I::T%;
+  abstract set x(covariant-by-class self::I::T% value) → void;
+  abstract get y() → core::Object;
+  abstract set y(covariant-by-declaration core::Object value) → void;
 }
 class M extends core::Object {
-  field core::int* x = null;
-  field core::int* y = null;
-  synthetic constructor •() → self::M*
+  field core::int x = 0;
+  field core::int y = 0;
+  synthetic constructor •() → self::M
     : 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 = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  mixin-super-stub get x() → core::int*
+  mixin-super-stub get x() → core::int
     return super.{self::M::x};
-  forwarding-stub set x(covariant-by-class core::int* value) → void
+  forwarding-stub set x(covariant-by-class core::int value) → void
     return super.{self::M::x} = value;
-  mixin-super-stub get y() → core::int*
+  mixin-super-stub get y() → core::int
     return super.{self::M::y};
-  forwarding-stub set y(covariant-by-declaration core::int* value) → void
+  forwarding-stub set y(covariant-by-declaration core::int value) → void
     return super.{self::M::y} = value;
 }
-static method expectTypeError(() →* void callback) → void {
+static method expectTypeError(() → void callback) → void {
   try {
-    callback(){() →* void};
+    callback(){() → void};
     throw "Expected TypeError, did not occur";
   }
-  on core::TypeError* catch(no-exception-var) {
+  on core::TypeError catch(no-exception-var) {
   }
 }
-static method expect(core::Object* value, core::Object* expected) → void {
-  if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
+static method expect(core::Object value, core::Object expected) → void {
+  if(!(value =={core::Object::==}{(core::Object) → core::bool} expected)) {
     throw "Expected ${expected}, got ${value}";
   }
 }
-static method test(self::I<core::Object*>* i) → void {
-  self::expectTypeError(() → Null {
+static method test(self::I<core::Object> i) → void {
+  self::expectTypeError(() → void {
     i.{self::I::x} = "hello";
   });
   i.{self::I::x} = 1;
-  self::expect(i.{self::I::x}{core::Object*}, 1);
-  self::expectTypeError(() → Null {
+  self::expect(i.{self::I::x}{core::Object}, 1);
+  self::expectTypeError(() → void {
     i.{self::I::y} = "hello";
   });
   i.{self::I::y} = 2;
-  self::expect(i.{self::I::y}{core::Object*}, 2);
+  self::expect(i.{self::I::y}{core::Object}, 2);
 }
 static method main() → void {
   self::test(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.outline.expect
index 637dc58..2840136 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -7,7 +7,7 @@
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart:48:7: Context: The field 'M.y' has type 'int', which does not match the corresponding type, 'Object', in the overridden setter, 'I.y'.
 //  - 'Object' is from 'dart:core'.
-//   int y;
+//   int y = 0;
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart:43:12: Context: This is the overridden method ('y').
 //   void set y(covariant Object value);
@@ -17,79 +17,49 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  get x() → core::int*
+  get x() → core::int
     ;
-  set x(core::int* value) → void
+  set x(core::int value) → void
     ;
-  get y() → core::int*
+  get y() → core::int
     ;
-  set y(core::int* value) → void
+  set y(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 I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     ;
-  abstract get x() → self::I::T*;
-  abstract set x(covariant-by-class self::I::T* value) → void;
-  abstract get y() → core::Object*;
-  abstract set y(covariant-by-declaration core::Object* 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 get x() → self::I::T%;
+  abstract set x(covariant-by-class self::I::T% value) → void;
+  abstract get y() → core::Object;
+  abstract set y(covariant-by-declaration core::Object value) → void;
 }
 class M extends core::Object {
-  field core::int* x;
-  field core::int* y;
-  synthetic constructor •() → self::M*
+  field core::int x;
+  field core::int y;
+  synthetic constructor •() → self::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 C = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  mixin-super-stub get x() → core::int*
+  mixin-super-stub get x() → core::int
     return super.{self::M::x};
-  forwarding-stub set x(covariant-by-class core::int* value) → void
+  forwarding-stub set x(covariant-by-class core::int value) → void
     return super.{self::M::x} = value;
-  mixin-super-stub get y() → core::int*
+  mixin-super-stub get y() → core::int
     return super.{self::M::y};
-  forwarding-stub set y(covariant-by-declaration core::int* value) → void
+  forwarding-stub set y(covariant-by-declaration core::int value) → void
     return super.{self::M::y} = value;
 }
-static method expectTypeError(() →* void callback) → void
+static method expectTypeError(() → void callback) → void
   ;
-static method expect(core::Object* value, core::Object* expected) → void
+static method expect(core::Object value, core::Object expected) → void
   ;
-static method test(self::I<core::Object*>* i) → void
+static method test(self::I<core::Object> i) → void
   ;
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.transformed.expect
index b49f3d7..40e6994 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -7,7 +7,7 @@
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart:48:7: Context: The field 'M.y' has type 'int', which does not match the corresponding type, 'Object', in the overridden setter, 'I.y'.
 //  - 'Object' is from 'dart:core'.
-//   int y;
+//   int y = 0;
 //       ^
 // pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart:43:12: Context: This is the overridden method ('y').
 //   void set y(covariant Object value);
@@ -17,99 +17,69 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  get x() → core::int* {
+  get x() → core::int {
     throw "Should not be reached";
   }
-  set x(core::int* value) → void {
+  set x(core::int value) → void {
     throw "Should not be reached";
   }
-  get y() → core::int* {
+  get y() → core::int {
     throw "Should not be reached";
   }
-  set y(core::int* value) → void {
+  set y(core::int value) → void {
     throw "Should not be reached";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract get x() → self::I::T*;
-  abstract set x(covariant-by-class self::I::T* value) → void;
-  abstract get y() → core::Object*;
-  abstract set y(covariant-by-declaration core::Object* 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 get x() → self::I::T%;
+  abstract set x(covariant-by-class self::I::T% value) → void;
+  abstract get y() → core::Object;
+  abstract set y(covariant-by-declaration core::Object value) → void;
 }
 class M extends core::Object {
-  field core::int* x = null;
-  field core::int* y = null;
-  synthetic constructor •() → self::M*
+  field core::int x = 0;
+  field core::int y = 0;
+  synthetic constructor •() → self::M
     : 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 self::B implements self::I<core::int*>, self::M /*isEliminatedMixin*/  {
-  covariant-by-class field core::int* x = null;
-  covariant-by-declaration field core::int* y = null;
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int>, self::M /*isEliminatedMixin*/  {
+  covariant-by-class field core::int x = 0;
+  covariant-by-declaration field core::int y = 0;
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
 }
-static method expectTypeError(() →* void callback) → void {
+static method expectTypeError(() → void callback) → void {
   try {
-    callback(){() →* void};
+    callback(){() → void};
     throw "Expected TypeError, did not occur";
   }
-  on core::TypeError* catch(no-exception-var) {
+  on core::TypeError catch(no-exception-var) {
   }
 }
-static method expect(core::Object* value, core::Object* expected) → void {
-  if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
+static method expect(core::Object value, core::Object expected) → void {
+  if(!(value =={core::Object::==}{(core::Object) → core::bool} expected)) {
     throw "Expected ${expected}, got ${value}";
   }
 }
-static method test(self::I<core::Object*>* i) → void {
-  self::expectTypeError(() → Null {
+static method test(self::I<core::Object> i) → void {
+  self::expectTypeError(() → void {
     i.{self::I::x} = "hello";
   });
   i.{self::I::x} = 1;
-  self::expect(i.{self::I::x}{core::Object*}, 1);
-  self::expectTypeError(() → Null {
+  self::expect(i.{self::I::x}{core::Object}, 1);
+  self::expectTypeError(() → void {
     i.{self::I::y} = "hello";
   });
   i.{self::I::y} = 2;
-  self::expect(i.{self::I::y}{core::Object*}, 2);
+  self::expect(i.{self::I::y}{core::Object}, 2);
 }
 static method main() → void {
   self::test(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart
index 479bc2b..574153f 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.textual_outline.expect
index c5e0532..7b50e59 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,4 +1,3 @@
-// @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 fe4e746..7bcde01 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.expect
index 83a8031..69135ff 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,113 +18,83 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  get x() → core::int* {
+  get x() → core::int {
     throw "Should not be reached";
   }
-  set x(core::int* value) → void {
+  set x(core::int value) → void {
     throw "Should not be reached";
   }
-  get y() → core::int* {
+  get y() → core::int {
     throw "Should not be reached";
   }
-  set y(core::int* value) → void {
+  set y(core::int value) → void {
     throw "Should not be reached";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract get x() → self::I::T*;
-  abstract set x(covariant-by-class self::I::T* value) → void;
-  abstract get y() → core::Object*;
-  abstract set y(covariant-by-declaration core::Object* 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 get x() → self::I::T%;
+  abstract set x(covariant-by-class self::I::T% value) → void;
+  abstract get y() → core::Object;
+  abstract set y(covariant-by-declaration core::Object value) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : super core::Object::•()
     ;
-  get x() → core::int*
+  get x() → core::int
     return 1;
-  set x(core::int* value) → void {
+  set x(core::int value) → void {
     self::expect(value, 2);
   }
-  get y() → core::int*
+  get y() → core::int
     return 3;
-  set y(core::int* value) → void {
+  set y(core::int value) → void {
     self::expect(value, 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 = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  mixin-super-stub get x() → core::int*
+  mixin-super-stub get x() → core::int
     return super.{self::M::x};
-  forwarding-stub set x(covariant-by-class core::int* value) → void
+  forwarding-stub set x(covariant-by-class core::int value) → void
     return super.{self::M::x} = value;
-  mixin-super-stub get y() → core::int*
+  mixin-super-stub get y() → core::int
     return super.{self::M::y};
-  forwarding-stub set y(covariant-by-declaration core::int* value) → void
+  forwarding-stub set y(covariant-by-declaration core::int value) → void
     return super.{self::M::y} = value;
 }
-static method expectTypeError(() →* void callback) → void {
+static method expectTypeError(() → void callback) → void {
   try {
-    callback(){() →* void};
+    callback(){() → void};
     throw "Expected TypeError, did not occur";
   }
-  on core::TypeError* catch(no-exception-var) {
+  on core::TypeError catch(no-exception-var) {
   }
 }
-static method expect(core::Object* value, core::Object* expected) → void {
-  if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
+static method expect(core::Object value, core::Object expected) → void {
+  if(!(value =={core::Object::==}{(core::Object) → core::bool} expected)) {
     throw "Expected ${expected}, got ${value}";
   }
 }
-static method test(self::I<core::Object*>* i) → void {
-  self::expectTypeError(() → Null {
+static method test(self::I<core::Object> i) → void {
+  self::expectTypeError(() → void {
     i.{self::I::x} = "hello";
   });
   i.{self::I::x} = 2;
-  self::expect(i.{self::I::x}{core::Object*}, 1);
-  self::expectTypeError(() → Null {
+  self::expect(i.{self::I::x}{core::Object}, 1);
+  self::expectTypeError(() → void {
     i.{self::I::y} = "hello";
   });
   i.{self::I::y} = 4;
-  self::expect(i.{self::I::y}{core::Object*}, 3);
+  self::expect(i.{self::I::y}{core::Object}, 3);
 }
 static method main() → void {
   self::test(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.modular.expect
index 83a8031..69135ff 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,113 +18,83 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  get x() → core::int* {
+  get x() → core::int {
     throw "Should not be reached";
   }
-  set x(core::int* value) → void {
+  set x(core::int value) → void {
     throw "Should not be reached";
   }
-  get y() → core::int* {
+  get y() → core::int {
     throw "Should not be reached";
   }
-  set y(core::int* value) → void {
+  set y(core::int value) → void {
     throw "Should not be reached";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract get x() → self::I::T*;
-  abstract set x(covariant-by-class self::I::T* value) → void;
-  abstract get y() → core::Object*;
-  abstract set y(covariant-by-declaration core::Object* 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 get x() → self::I::T%;
+  abstract set x(covariant-by-class self::I::T% value) → void;
+  abstract get y() → core::Object;
+  abstract set y(covariant-by-declaration core::Object value) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : super core::Object::•()
     ;
-  get x() → core::int*
+  get x() → core::int
     return 1;
-  set x(core::int* value) → void {
+  set x(core::int value) → void {
     self::expect(value, 2);
   }
-  get y() → core::int*
+  get y() → core::int
     return 3;
-  set y(core::int* value) → void {
+  set y(core::int value) → void {
     self::expect(value, 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 = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  mixin-super-stub get x() → core::int*
+  mixin-super-stub get x() → core::int
     return super.{self::M::x};
-  forwarding-stub set x(covariant-by-class core::int* value) → void
+  forwarding-stub set x(covariant-by-class core::int value) → void
     return super.{self::M::x} = value;
-  mixin-super-stub get y() → core::int*
+  mixin-super-stub get y() → core::int
     return super.{self::M::y};
-  forwarding-stub set y(covariant-by-declaration core::int* value) → void
+  forwarding-stub set y(covariant-by-declaration core::int value) → void
     return super.{self::M::y} = value;
 }
-static method expectTypeError(() →* void callback) → void {
+static method expectTypeError(() → void callback) → void {
   try {
-    callback(){() →* void};
+    callback(){() → void};
     throw "Expected TypeError, did not occur";
   }
-  on core::TypeError* catch(no-exception-var) {
+  on core::TypeError catch(no-exception-var) {
   }
 }
-static method expect(core::Object* value, core::Object* expected) → void {
-  if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
+static method expect(core::Object value, core::Object expected) → void {
+  if(!(value =={core::Object::==}{(core::Object) → core::bool} expected)) {
     throw "Expected ${expected}, got ${value}";
   }
 }
-static method test(self::I<core::Object*>* i) → void {
-  self::expectTypeError(() → Null {
+static method test(self::I<core::Object> i) → void {
+  self::expectTypeError(() → void {
     i.{self::I::x} = "hello";
   });
   i.{self::I::x} = 2;
-  self::expect(i.{self::I::x}{core::Object*}, 1);
-  self::expectTypeError(() → Null {
+  self::expect(i.{self::I::x}{core::Object}, 1);
+  self::expectTypeError(() → void {
     i.{self::I::y} = "hello";
   });
   i.{self::I::y} = 4;
-  self::expect(i.{self::I::y}{core::Object*}, 3);
+  self::expect(i.{self::I::y}{core::Object}, 3);
 }
 static method main() → void {
   self::test(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.outline.expect
index 349493c..640d9af 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,85 +18,55 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  get x() → core::int*
+  get x() → core::int
     ;
-  set x(core::int* value) → void
+  set x(core::int value) → void
     ;
-  get y() → core::int*
+  get y() → core::int
     ;
-  set y(core::int* value) → void
+  set y(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 I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     ;
-  abstract get x() → self::I::T*;
-  abstract set x(covariant-by-class self::I::T* value) → void;
-  abstract get y() → core::Object*;
-  abstract set y(covariant-by-declaration core::Object* 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 get x() → self::I::T%;
+  abstract set x(covariant-by-class self::I::T% value) → void;
+  abstract get y() → core::Object;
+  abstract set y(covariant-by-declaration core::Object value) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     ;
-  get x() → core::int*
+  get x() → core::int
     ;
-  set x(core::int* value) → void
+  set x(core::int value) → void
     ;
-  get y() → core::int*
+  get y() → core::int
     ;
-  set y(core::int* value) → void
+  set y(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 C = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+class C = self::B with self::M implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  mixin-super-stub get x() → core::int*
+  mixin-super-stub get x() → core::int
     return super.{self::M::x};
-  forwarding-stub set x(covariant-by-class core::int* value) → void
+  forwarding-stub set x(covariant-by-class core::int value) → void
     return super.{self::M::x} = value;
-  mixin-super-stub get y() → core::int*
+  mixin-super-stub get y() → core::int
     return super.{self::M::y};
-  forwarding-stub set y(covariant-by-declaration core::int* value) → void
+  forwarding-stub set y(covariant-by-declaration core::int value) → void
     return super.{self::M::y} = value;
 }
-static method expectTypeError(() →* void callback) → void
+static method expectTypeError(() → void callback) → void
   ;
-static method expect(core::Object* value, core::Object* expected) → void
+static method expect(core::Object value, core::Object expected) → void
   ;
-static method test(self::I<core::Object*>* i) → void
+static method test(self::I<core::Object> i) → void
   ;
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.transformed.expect
index 894f787..fea9c96 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library test;
+library test /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -18,115 +18,85 @@
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  get x() → core::int* {
+  get x() → core::int {
     throw "Should not be reached";
   }
-  set x(core::int* value) → void {
+  set x(core::int value) → void {
     throw "Should not be reached";
   }
-  get y() → core::int* {
+  get y() → core::int {
     throw "Should not be reached";
   }
-  set y(core::int* value) → void {
+  set y(core::int value) → void {
     throw "Should not be reached";
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::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 class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract get x() → self::I::T*;
-  abstract set x(covariant-by-class self::I::T* value) → void;
-  abstract get y() → core::Object*;
-  abstract set y(covariant-by-declaration core::Object* 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 get x() → self::I::T%;
+  abstract set x(covariant-by-class self::I::T% value) → void;
+  abstract get y() → core::Object;
+  abstract set y(covariant-by-declaration core::Object value) → void;
 }
 class M extends core::Object {
-  synthetic constructor •() → self::M*
+  synthetic constructor •() → self::M
     : super core::Object::•()
     ;
-  get x() → core::int*
+  get x() → core::int
     return 1;
-  set x(core::int* value) → void {
+  set x(core::int value) → void {
     self::expect(value, 2);
   }
-  get y() → core::int*
+  get y() → core::int
     return 3;
-  set y(core::int* value) → void {
+  set y(core::int value) → void {
     self::expect(value, 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 extends self::B implements self::I<core::int*>, self::M /*isEliminatedMixin*/  {
-  synthetic constructor •() → self::C*
+class C extends self::B implements self::I<core::int>, self::M /*isEliminatedMixin*/  {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  get x() → core::int*
+  get x() → core::int
     return 1;
-  set x(covariant-by-class core::int* value) → void {
+  set x(covariant-by-class core::int value) → void {
     self::expect(value, 2);
   }
-  get y() → core::int*
+  get y() → core::int
     return 3;
-  set y(covariant-by-declaration core::int* value) → void {
+  set y(covariant-by-declaration core::int value) → void {
     self::expect(value, 4);
   }
 }
-static method expectTypeError(() →* void callback) → void {
+static method expectTypeError(() → void callback) → void {
   try {
-    callback(){() →* void};
+    callback(){() → void};
     throw "Expected TypeError, did not occur";
   }
-  on core::TypeError* catch(no-exception-var) {
+  on core::TypeError catch(no-exception-var) {
   }
 }
-static method expect(core::Object* value, core::Object* expected) → void {
-  if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
+static method expect(core::Object value, core::Object expected) → void {
+  if(!(value =={core::Object::==}{(core::Object) → core::bool} expected)) {
     throw "Expected ${expected}, got ${value}";
   }
 }
-static method test(self::I<core::Object*>* i) → void {
-  self::expectTypeError(() → Null {
+static method test(self::I<core::Object> i) → void {
+  self::expectTypeError(() → void {
     i.{self::I::x} = "hello";
   });
   i.{self::I::x} = 2;
-  self::expect(i.{self::I::x}{core::Object*}, 1);
-  self::expectTypeError(() → Null {
+  self::expect(i.{self::I::x}{core::Object}, 1);
+  self::expectTypeError(() → void {
     i.{self::I::y} = "hello";
   });
   i.{self::I::y} = 4;
-  self::expect(i.{self::I::y}{core::Object*}, 3);
+  self::expect(i.{self::I::y}{core::Object}, 3);
 }
 static method main() → void {
   self::test(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart
index 71c3912..a4fc889 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.textual_outline.expect
index 26c3afd..c474b44 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,4 +1,3 @@
-// @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 1b0c9b8..d49ed63 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,4 +1,3 @@
-// @dart = 2.9
 library test;
 
 abstract class I {
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.expect
index 0fc6d13..a6fa707 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.expect
@@ -1,76 +1,56 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* x) → core::int* {
+  method f(core::int x) → core::int {
     self::expect(x, 1);
     return 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
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-declaration core::Object* x) → 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
+  abstract method f(covariant-by-declaration core::Object x) → core::int;
 }
 class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-declaration core::Object* x) → core::int*
-    return super.{self::B::f}(x as core::int*);
+  forwarding-stub method f(covariant-by-declaration core::Object x) → core::int
+    return super.{self::B::f}(x as core::int);
 }
-static method expectTypeError(() →* void callback) → void {
+static method expectTypeError(() → void callback) → void {
   try {
-    callback(){() →* void};
+    callback(){() → void};
     throw "Expected TypeError, did not occur";
   }
-  on core::TypeError* catch(no-exception-var) {
+  on core::TypeError catch(no-exception-var) {
   }
 }
-static method expect(core::Object* value, core::Object* expected) → void {
-  if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
+static method expect(core::Object value, core::Object expected) → void {
+  if(!(value =={core::Object::==}{(core::Object) → core::bool} expected)) {
     throw "Expected ${expected}, got ${value}";
   }
 }
-static method g(self::C* c) → void {
-  c.{self::C::f}("hello"){(core::Object*) →* core::int*};
+static method g(self::C c) → void {
+  c.{self::C::f}("hello"){(core::Object) → core::int};
 }
-static method test(self::C* c, self::I* i) → void {
-  self::expectTypeError(() → Null {
-    i.{self::I::f}("hello"){(core::Object*) →* core::int*};
+static method test(self::C c, self::I i) → void {
+  self::expectTypeError(() → void {
+    i.{self::I::f}("hello"){(core::Object) → core::int};
   });
-  self::expect(i.{self::I::f}(1){(core::Object*) →* core::int*}, 2);
-  self::expectTypeError(() → Null {
-    c.{self::C::f}("hello"){(core::Object*) →* core::int*};
+  self::expect(i.{self::I::f}(1){(core::Object) → core::int}, 2);
+  self::expectTypeError(() → void {
+    c.{self::C::f}("hello"){(core::Object) → core::int};
   });
-  self::expect(c.{self::C::f}(1){(core::Object*) →* core::int*}, 2);
+  self::expect(c.{self::C::f}(1){(core::Object) → core::int}, 2);
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
+  self::C c = new self::C::•();
   self::test(c, c);
 }
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.modular.expect
index 0fc6d13..a6fa707 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.modular.expect
@@ -1,76 +1,56 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* x) → core::int* {
+  method f(core::int x) → core::int {
     self::expect(x, 1);
     return 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
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-declaration core::Object* x) → 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
+  abstract method f(covariant-by-declaration core::Object x) → core::int;
 }
 class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-declaration core::Object* x) → core::int*
-    return super.{self::B::f}(x as core::int*);
+  forwarding-stub method f(covariant-by-declaration core::Object x) → core::int
+    return super.{self::B::f}(x as core::int);
 }
-static method expectTypeError(() →* void callback) → void {
+static method expectTypeError(() → void callback) → void {
   try {
-    callback(){() →* void};
+    callback(){() → void};
     throw "Expected TypeError, did not occur";
   }
-  on core::TypeError* catch(no-exception-var) {
+  on core::TypeError catch(no-exception-var) {
   }
 }
-static method expect(core::Object* value, core::Object* expected) → void {
-  if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
+static method expect(core::Object value, core::Object expected) → void {
+  if(!(value =={core::Object::==}{(core::Object) → core::bool} expected)) {
     throw "Expected ${expected}, got ${value}";
   }
 }
-static method g(self::C* c) → void {
-  c.{self::C::f}("hello"){(core::Object*) →* core::int*};
+static method g(self::C c) → void {
+  c.{self::C::f}("hello"){(core::Object) → core::int};
 }
-static method test(self::C* c, self::I* i) → void {
-  self::expectTypeError(() → Null {
-    i.{self::I::f}("hello"){(core::Object*) →* core::int*};
+static method test(self::C c, self::I i) → void {
+  self::expectTypeError(() → void {
+    i.{self::I::f}("hello"){(core::Object) → core::int};
   });
-  self::expect(i.{self::I::f}(1){(core::Object*) →* core::int*}, 2);
-  self::expectTypeError(() → Null {
-    c.{self::C::f}("hello"){(core::Object*) →* core::int*};
+  self::expect(i.{self::I::f}(1){(core::Object) → core::int}, 2);
+  self::expectTypeError(() → void {
+    c.{self::C::f}("hello"){(core::Object) → core::int};
   });
-  self::expect(c.{self::C::f}(1){(core::Object*) →* core::int*}, 2);
+  self::expect(c.{self::C::f}(1){(core::Object) → core::int}, 2);
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
+  self::C c = new self::C::•();
   self::test(c, c);
 }
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.outline.expect
index 7b52144..516c6bd 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.outline.expect
@@ -1,51 +1,31 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  method f(core::int* x) → core::int*
+  method f(core::int x) → 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
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     ;
-  abstract method f(covariant-by-declaration core::Object* x) → 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
+  abstract method f(covariant-by-declaration core::Object x) → core::int;
 }
 class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
-  forwarding-stub method f(covariant-by-declaration core::Object* x) → core::int*
-    return super.{self::B::f}(x as core::int*);
+  forwarding-stub method f(covariant-by-declaration core::Object x) → core::int
+    return super.{self::B::f}(x as core::int);
 }
-static method expectTypeError(() →* void callback) → void
+static method expectTypeError(() → void callback) → void
   ;
-static method expect(core::Object* value, core::Object* expected) → void
+static method expect(core::Object value, core::Object expected) → void
   ;
-static method g(self::C* c) → void
+static method g(self::C c) → void
   ;
-static method test(self::C* c, self::I* i) → void
+static method test(self::C c, self::I i) → void
   ;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.transformed.expect
index 0fc6d13..a6fa707 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.transformed.expect
@@ -1,76 +1,56 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* x) → core::int* {
+  method f(core::int x) → core::int {
     self::expect(x, 1);
     return 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
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-declaration core::Object* x) → 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
+  abstract method f(covariant-by-declaration core::Object x) → core::int;
 }
 class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-declaration core::Object* x) → core::int*
-    return super.{self::B::f}(x as core::int*);
+  forwarding-stub method f(covariant-by-declaration core::Object x) → core::int
+    return super.{self::B::f}(x as core::int);
 }
-static method expectTypeError(() →* void callback) → void {
+static method expectTypeError(() → void callback) → void {
   try {
-    callback(){() →* void};
+    callback(){() → void};
     throw "Expected TypeError, did not occur";
   }
-  on core::TypeError* catch(no-exception-var) {
+  on core::TypeError catch(no-exception-var) {
   }
 }
-static method expect(core::Object* value, core::Object* expected) → void {
-  if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
+static method expect(core::Object value, core::Object expected) → void {
+  if(!(value =={core::Object::==}{(core::Object) → core::bool} expected)) {
     throw "Expected ${expected}, got ${value}";
   }
 }
-static method g(self::C* c) → void {
-  c.{self::C::f}("hello"){(core::Object*) →* core::int*};
+static method g(self::C c) → void {
+  c.{self::C::f}("hello"){(core::Object) → core::int};
 }
-static method test(self::C* c, self::I* i) → void {
-  self::expectTypeError(() → Null {
-    i.{self::I::f}("hello"){(core::Object*) →* core::int*};
+static method test(self::C c, self::I i) → void {
+  self::expectTypeError(() → void {
+    i.{self::I::f}("hello"){(core::Object) → core::int};
   });
-  self::expect(i.{self::I::f}(1){(core::Object*) →* core::int*}, 2);
-  self::expectTypeError(() → Null {
-    c.{self::C::f}("hello"){(core::Object*) →* core::int*};
+  self::expect(i.{self::I::f}(1){(core::Object) → core::int}, 2);
+  self::expectTypeError(() → void {
+    c.{self::C::f}("hello"){(core::Object) → core::int};
   });
-  self::expect(c.{self::C::f}(1){(core::Object*) →* core::int*}, 2);
+  self::expect(c.{self::C::f}(1){(core::Object) → core::int}, 2);
 }
 static method main() → dynamic {
-  self::C* c = new self::C::•();
+  self::C c = new self::C::•();
   self::test(c, c);
 }
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart
index f08c5bf..ef67155 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.textual_outline.expect
index c2382d9..83b6b0f 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,4 +1,3 @@
-// @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 aba7ead..90a097c 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.expect
index 9aacb53..721f671 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x, core::int y) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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 method f(covariant-by-class self::I::T% x, core::Object y) → void;
 }
-abstract class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+abstract class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y as core::int*);
+  forwarding-stub method f(covariant-by-class core::int x, core::Object y) → void
+    return super.{self::B::f}(x, y as core::int);
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.modular.expect
index 9aacb53..721f671 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.modular.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x, core::int y) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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 method f(covariant-by-class self::I::T% x, core::Object y) → void;
 }
-abstract class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+abstract class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y as core::int*);
+  forwarding-stub method f(covariant-by-class core::int x, core::Object y) → void
+    return super.{self::B::f}(x, y as core::int);
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.outline.expect
index 97cd268..0780aea 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.outline.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  method f(core::int* x, core::int* y) → void
+  method f(core::int 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 class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     ;
-  abstract method f(covariant-by-class self::I::T* 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 method f(covariant-by-class self::I::T% x, core::Object y) → void;
 }
-abstract class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+abstract class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     ;
-  forwarding-stub method f(covariant-by-class core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y as core::int*);
+  forwarding-stub method f(covariant-by-class core::int x, core::Object y) → void
+    return super.{self::B::f}(x, y as core::int);
 }
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.transformed.expect
index 9aacb53..721f671 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.transformed.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x, core::int y) → void {}
 }
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
+abstract class I<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T%>
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-class self::I::T* 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 method f(covariant-by-class self::I::T% x, core::Object y) → void;
 }
-abstract class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
+abstract class C extends self::B implements self::I<core::int> {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-class core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y as core::int*);
+  forwarding-stub method f(covariant-by-class core::int x, core::Object y) → void
+    return super.{self::B::f}(x, y as core::int);
 }
 static method main() → void {}
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 543f895..4d1e82d 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.textual_outline.expect
index 84472ae..ac08d82 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,4 +1,3 @@
-// @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 bf8a304..22c5f69 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.expect
index f0e4b8e..aeb82fe 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::B::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
+  method f(covariant-by-class self::B::T% x, core::int y) → void {}
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(core::int* 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 method f(core::int x, core::Object y) → void;
 }
-abstract class C extends self::B<core::int*> implements self::I {
-  synthetic constructor •() → self::C*
+abstract class C extends self::B<core::int> implements self::I {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  abstract forwarding-stub method f(covariant-by-class core::int* x, core::Object* y) → void;
+  abstract forwarding-stub method f(covariant-by-class core::int x, core::Object y) → void;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.modular.expect
index f0e4b8e..aeb82fe 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.modular.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::B::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
+  method f(covariant-by-class self::B::T% x, core::int y) → void {}
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(core::int* 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 method f(core::int x, core::Object y) → void;
 }
-abstract class C extends self::B<core::int*> implements self::I {
-  synthetic constructor •() → self::C*
+abstract class C extends self::B<core::int> implements self::I {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  abstract forwarding-stub method f(covariant-by-class core::int* x, core::Object* y) → void;
+  abstract forwarding-stub method f(covariant-by-class core::int x, core::Object y) → void;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.outline.expect
index 6ea1a07..5b96560 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.outline.expect
@@ -1,42 +1,22 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%>
     ;
-  method f(covariant-by-class self::B::T* x, core::int* y) → void
+  method f(covariant-by-class self::B::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
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     ;
-  abstract method f(core::int* 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 method f(core::int x, core::Object y) → void;
 }
-abstract class C extends self::B<core::int*> implements self::I {
-  synthetic constructor •() → self::C*
+abstract class C extends self::B<core::int> implements self::I {
+  synthetic constructor •() → self::C
     ;
-  abstract forwarding-stub method f(covariant-by-class core::int* x, core::Object* y) → void;
+  abstract forwarding-stub method f(covariant-by-class core::int x, core::Object y) → void;
 }
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.transformed.expect
index f0e4b8e..aeb82fe 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.transformed.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T%>
     : super core::Object::•()
     ;
-  method f(covariant-by-class self::B::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
+  method f(covariant-by-class self::B::T% x, core::int y) → void {}
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(core::int* 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 method f(core::int x, core::Object y) → void;
 }
-abstract class C extends self::B<core::int*> implements self::I {
-  synthetic constructor •() → self::C*
+abstract class C extends self::B<core::int> implements self::I {
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  abstract forwarding-stub method f(covariant-by-class core::int* x, core::Object* y) → void;
+  abstract forwarding-stub method f(covariant-by-class core::int x, core::Object y) → void;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart
index a782521..57a9f99 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.textual_outline.expect
index 6905d9d..d453753 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,4 +1,3 @@
-// @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 1eb2ff4..f722096 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.expect
index 8f7a060..821c346 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x, core::int y) → void {}
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-declaration core::int* 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 method f(covariant-by-declaration core::int x, core::Object y) → void;
 }
 abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-declaration core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y as core::int*);
+  forwarding-stub method f(covariant-by-declaration core::int x, core::Object y) → void
+    return super.{self::B::f}(x, y as core::int);
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.modular.expect
index 8f7a060..821c346 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.modular.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x, core::int y) → void {}
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-declaration core::int* 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 method f(covariant-by-declaration core::int x, core::Object y) → void;
 }
 abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-declaration core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y as core::int*);
+  forwarding-stub method f(covariant-by-declaration core::int x, core::Object y) → void
+    return super.{self::B::f}(x, y as core::int);
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.outline.expect
index b2910572..1f1becf 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.outline.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  method f(core::int* x, core::int* y) → void
+  method f(core::int 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 extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     ;
-  abstract method f(covariant-by-declaration core::int* 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 method f(covariant-by-declaration core::int x, core::Object y) → void;
 }
 abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
-  forwarding-stub method f(covariant-by-declaration core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y as core::int*);
+  forwarding-stub method f(covariant-by-declaration core::int x, core::Object y) → void
+    return super.{self::B::f}(x, y as core::int);
 }
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.transformed.expect
index 8f7a060..821c346 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.transformed.expect
@@ -1,44 +1,24 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(core::int* 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
+  method f(core::int x, core::int y) → void {}
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(covariant-by-declaration core::int* 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 method f(covariant-by-declaration core::int x, core::Object y) → void;
 }
 abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  forwarding-stub method f(covariant-by-declaration core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y as core::int*);
+  forwarding-stub method f(covariant-by-declaration core::int x, core::Object y) → void
+    return super.{self::B::f}(x, y as core::int);
 }
 static method main() → void {}
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 7a96d67..3daf251 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.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.textual_outline.expect
index b63fd0c..e101817 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,4 +1,3 @@
-// @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 11118cd..5bade16 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,4 +1,3 @@
-// @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.weak.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.expect
index d4b9b44..d57d598 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(covariant-by-declaration core::int* 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
+  method f(covariant-by-declaration core::int x, core::int y) → void {}
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(core::int* 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 method f(core::int x, core::Object y) → void;
 }
 abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  abstract forwarding-stub method f(covariant-by-declaration core::int* x, core::Object* y) → void;
+  abstract forwarding-stub method f(covariant-by-declaration core::int x, core::Object y) → void;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.modular.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.modular.expect
index d4b9b44..d57d598 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.modular.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(covariant-by-declaration core::int* 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
+  method f(covariant-by-declaration core::int x, core::int y) → void {}
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(core::int* 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 method f(core::int x, core::Object y) → void;
 }
 abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  abstract forwarding-stub method f(covariant-by-declaration core::int* x, core::Object* y) → void;
+  abstract forwarding-stub method f(covariant-by-declaration core::int x, core::Object y) → void;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.outline.expect
index 156233f..12160f9 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.outline.expect
@@ -1,42 +1,22 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
-  method f(covariant-by-declaration core::int* x, core::int* y) → void
+  method f(covariant-by-declaration core::int 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 extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     ;
-  abstract method f(core::int* 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 method f(core::int x, core::Object y) → void;
 }
 abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
-  abstract forwarding-stub method f(covariant-by-declaration core::int* x, core::Object* y) → void;
+  abstract forwarding-stub method f(covariant-by-declaration core::int x, core::Object y) → void;
 }
 static method main() → void
   ;
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.transformed.expect
index d4b9b44..d57d598 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.transformed.expect
@@ -1,43 +1,23 @@
-library test;
+library test /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class B extends core::Object {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super core::Object::•()
     ;
-  method f(covariant-by-declaration core::int* 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
+  method f(covariant-by-declaration core::int x, core::int y) → void {}
 }
 abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
+  synthetic constructor •() → self::I
     : super core::Object::•()
     ;
-  abstract method f(core::int* 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 method f(core::int x, core::Object y) → void;
 }
 abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::B::•()
     ;
-  abstract forwarding-stub method f(covariant-by-declaration core::int* x, core::Object* y) → void;
+  abstract forwarding-stub method f(covariant-by-declaration core::int x, core::Object y) → void;
 }
 static method main() → void {}
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart
index eede9ad..09b3b86 100644
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart
@@ -1,7 +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
+
 import 'dart:async' show FutureOr;
 
 import 'dart:collection' show LinkedHashMap, LinkedHashSet;
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.expect
index 358bace..a5d89cf 100644
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.expect
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.expect
@@ -2,21 +2,21 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:13:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:15:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
 //  - 'Set' is from 'dart:core'.
 //  - 'LinkedHashSet' is from 'dart:collection'.
 // Change the type of the set literal or the context in which it is used.
 //   LinkedHashSet<int> lhs = {};
 //                            ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:14:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:16:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
 //  - 'Map' is from 'dart:core'.
 //  - 'LinkedHashMap' is from 'dart:collection'.
 // Change the type of the map literal or the context in which it is used.
 //   LinkedHashMap<int, bool> lhm = {};
 //                                  ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:32:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:34:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
 //  - 'Future' is from 'dart:async'.
 //  - 'Set' is from 'dart:core'.
 //  - 'LinkedHashSet' is from 'dart:collection'.
@@ -24,7 +24,7 @@
 // Future<LinkedHashSet<int>> lhsfun() async => {};
 //                                              ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:33:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:35:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
 //  - 'Future' is from 'dart:async'.
 //  - 'Map' is from 'dart:core'.
 //  - 'LinkedHashMap' is from 'dart:collection'.
@@ -32,13 +32,13 @@
 // Future<LinkedHashMap<int, bool>> lhmfun() async => {};
 //                                                    ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:38:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:40:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
 //  - 'Set' is from 'dart:core'.
 //  - 'LinkedHashSet' is from 'dart:collection'.
 // FutureOr<LinkedHashSet<int>> lhsfun2() => {};
 //                                           ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:41:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
 //  - 'Map' is from 'dart:core'.
 //  - 'LinkedHashMap' is from 'dart:collection'.
 // FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
@@ -60,7 +60,7 @@
   core::Iterable<core::int*>* i = block {
     final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
   } =>#t2;
-  col::LinkedHashSet<core::int*>* lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:13:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
+  col::LinkedHashSet<core::int*>* lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:15:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
  - 'Set' is from 'dart:core'.
  - 'LinkedHashSet' is from 'dart:collection'.
 Change the type of the set literal or the context in which it is used.
@@ -68,7 +68,7 @@
                            ^" in block {
     final core::Set<dynamic>* #t3 = col::LinkedHashSet::•<dynamic>();
   } =>#t3;
-  col::LinkedHashMap<core::int*, core::bool*>* lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:14:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
+  col::LinkedHashMap<core::int*, core::bool*>* lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:16:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
  - 'Map' is from 'dart:core'.
  - 'LinkedHashMap' is from 'dart:collection'.
 Change the type of the map literal or the context in which it is used.
@@ -96,7 +96,7 @@
     final core::Set<core::int*>* #t5 = col::LinkedHashSet::•<core::int*>();
   } =>#t5;
 static method lhsfun() → asy::Future<col::LinkedHashSet<core::int*>*>* async /* futureValueType= col::LinkedHashSet<core::int*>* */ 
-  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:32:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:34:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
  - 'Future' is from 'dart:async'.
  - 'Set' is from 'dart:core'.
  - 'LinkedHashSet' is from 'dart:collection'.
@@ -106,7 +106,7 @@
     final core::Set<dynamic>* #t6 = col::LinkedHashSet::•<dynamic>();
   } =>#t6;
 static method lhmfun() → asy::Future<col::LinkedHashMap<core::int*, core::bool*>*>* async /* futureValueType= col::LinkedHashMap<core::int*, core::bool*>* */ 
-  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:33:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:35:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
  - 'Future' is from 'dart:async'.
  - 'Map' is from 'dart:core'.
  - 'LinkedHashMap' is from 'dart:collection'.
@@ -124,7 +124,7 @@
     final core::Set<core::int*>* #t8 = col::LinkedHashSet::•<core::int*>();
   } =>#t8;
 static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int*>*>*
-  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:38:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:40:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
  - 'Set' is from 'dart:core'.
  - 'LinkedHashSet' is from 'dart:collection'.
 FutureOr<LinkedHashSet<int>> lhsfun2() => {};
@@ -132,7 +132,7 @@
     final core::Set<dynamic>* #t9 = col::LinkedHashSet::•<dynamic>();
   } =>#t9) as{TypeError} FutureOr<col::LinkedHashSet<core::int*>*>*;
 static method lhmfun2() → FutureOr<col::LinkedHashMap<core::int*, core::bool*>*>*
-  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:41:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
  - 'Map' is from 'dart:core'.
  - 'LinkedHashMap' is from 'dart:collection'.
 FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.modular.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.modular.expect
index 358bace..a5d89cf 100644
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.modular.expect
@@ -2,21 +2,21 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:13:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:15:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
 //  - 'Set' is from 'dart:core'.
 //  - 'LinkedHashSet' is from 'dart:collection'.
 // Change the type of the set literal or the context in which it is used.
 //   LinkedHashSet<int> lhs = {};
 //                            ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:14:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:16:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
 //  - 'Map' is from 'dart:core'.
 //  - 'LinkedHashMap' is from 'dart:collection'.
 // Change the type of the map literal or the context in which it is used.
 //   LinkedHashMap<int, bool> lhm = {};
 //                                  ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:32:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:34:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
 //  - 'Future' is from 'dart:async'.
 //  - 'Set' is from 'dart:core'.
 //  - 'LinkedHashSet' is from 'dart:collection'.
@@ -24,7 +24,7 @@
 // Future<LinkedHashSet<int>> lhsfun() async => {};
 //                                              ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:33:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:35:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
 //  - 'Future' is from 'dart:async'.
 //  - 'Map' is from 'dart:core'.
 //  - 'LinkedHashMap' is from 'dart:collection'.
@@ -32,13 +32,13 @@
 // Future<LinkedHashMap<int, bool>> lhmfun() async => {};
 //                                                    ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:38:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:40:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
 //  - 'Set' is from 'dart:core'.
 //  - 'LinkedHashSet' is from 'dart:collection'.
 // FutureOr<LinkedHashSet<int>> lhsfun2() => {};
 //                                           ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:41:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
 //  - 'Map' is from 'dart:core'.
 //  - 'LinkedHashMap' is from 'dart:collection'.
 // FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
@@ -60,7 +60,7 @@
   core::Iterable<core::int*>* i = block {
     final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
   } =>#t2;
-  col::LinkedHashSet<core::int*>* lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:13:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
+  col::LinkedHashSet<core::int*>* lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:15:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
  - 'Set' is from 'dart:core'.
  - 'LinkedHashSet' is from 'dart:collection'.
 Change the type of the set literal or the context in which it is used.
@@ -68,7 +68,7 @@
                            ^" in block {
     final core::Set<dynamic>* #t3 = col::LinkedHashSet::•<dynamic>();
   } =>#t3;
-  col::LinkedHashMap<core::int*, core::bool*>* lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:14:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
+  col::LinkedHashMap<core::int*, core::bool*>* lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:16:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
  - 'Map' is from 'dart:core'.
  - 'LinkedHashMap' is from 'dart:collection'.
 Change the type of the map literal or the context in which it is used.
@@ -96,7 +96,7 @@
     final core::Set<core::int*>* #t5 = col::LinkedHashSet::•<core::int*>();
   } =>#t5;
 static method lhsfun() → asy::Future<col::LinkedHashSet<core::int*>*>* async /* futureValueType= col::LinkedHashSet<core::int*>* */ 
-  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:32:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:34:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
  - 'Future' is from 'dart:async'.
  - 'Set' is from 'dart:core'.
  - 'LinkedHashSet' is from 'dart:collection'.
@@ -106,7 +106,7 @@
     final core::Set<dynamic>* #t6 = col::LinkedHashSet::•<dynamic>();
   } =>#t6;
 static method lhmfun() → asy::Future<col::LinkedHashMap<core::int*, core::bool*>*>* async /* futureValueType= col::LinkedHashMap<core::int*, core::bool*>* */ 
-  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:33:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:35:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
  - 'Future' is from 'dart:async'.
  - 'Map' is from 'dart:core'.
  - 'LinkedHashMap' is from 'dart:collection'.
@@ -124,7 +124,7 @@
     final core::Set<core::int*>* #t8 = col::LinkedHashSet::•<core::int*>();
   } =>#t8;
 static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int*>*>*
-  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:38:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:40:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
  - 'Set' is from 'dart:core'.
  - 'LinkedHashSet' is from 'dart:collection'.
 FutureOr<LinkedHashSet<int>> lhsfun2() => {};
@@ -132,7 +132,7 @@
     final core::Set<dynamic>* #t9 = col::LinkedHashSet::•<dynamic>();
   } =>#t9) as{TypeError} FutureOr<col::LinkedHashSet<core::int*>*>*;
 static method lhmfun2() → FutureOr<col::LinkedHashMap<core::int*, core::bool*>*>*
-  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:41:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
  - 'Map' is from 'dart:core'.
  - 'LinkedHashMap' is from 'dart:collection'.
 FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
index b7585e0..4e4dd22 100644
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
@@ -2,21 +2,21 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:13:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:15:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
 //  - 'Set' is from 'dart:core'.
 //  - 'LinkedHashSet' is from 'dart:collection'.
 // Change the type of the set literal or the context in which it is used.
 //   LinkedHashSet<int> lhs = {};
 //                            ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:14:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:16:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
 //  - 'Map' is from 'dart:core'.
 //  - 'LinkedHashMap' is from 'dart:collection'.
 // Change the type of the map literal or the context in which it is used.
 //   LinkedHashMap<int, bool> lhm = {};
 //                                  ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:32:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:34:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
 //  - 'Future' is from 'dart:async'.
 //  - 'Set' is from 'dart:core'.
 //  - 'LinkedHashSet' is from 'dart:collection'.
@@ -24,7 +24,7 @@
 // Future<LinkedHashSet<int>> lhsfun() async => {};
 //                                              ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:33:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:35:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
 //  - 'Future' is from 'dart:async'.
 //  - 'Map' is from 'dart:core'.
 //  - 'LinkedHashMap' is from 'dart:collection'.
@@ -32,13 +32,13 @@
 // Future<LinkedHashMap<int, bool>> lhmfun() async => {};
 //                                                    ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:38:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:40:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
 //  - 'Set' is from 'dart:core'.
 //  - 'LinkedHashSet' is from 'dart:collection'.
 // FutureOr<LinkedHashSet<int>> lhsfun2() => {};
 //                                           ^
 //
-// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
+// pkg/front_end/testcases/set_literals/disambiguation_rule.dart:41:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
 //  - 'Map' is from 'dart:core'.
 //  - 'LinkedHashMap' is from 'dart:collection'.
 // FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
@@ -73,7 +73,7 @@
         core::Iterable<core::int*>* i = block {
           final core::Set<core::int*>* #t2 = new col::_CompactLinkedHashSet::•<core::int*>();
         } =>#t2;
-        col::LinkedHashSet<core::int*>* lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:13:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
+        col::LinkedHashSet<core::int*>* lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:15:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
  - 'Set' is from 'dart:core'.
  - 'LinkedHashSet' is from 'dart:collection'.
 Change the type of the set literal or the context in which it is used.
@@ -81,7 +81,7 @@
                            ^" in block {
           final core::Set<dynamic>* #t3 = new col::_CompactLinkedHashSet::•<dynamic>();
         } =>#t3;
-        col::LinkedHashMap<core::int*, core::bool*>* lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:14:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
+        col::LinkedHashMap<core::int*, core::bool*>* lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:16:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
  - 'Map' is from 'dart:core'.
  - 'LinkedHashMap' is from 'dart:collection'.
 Change the type of the map literal or the context in which it is used.
@@ -217,7 +217,7 @@
     try {
       #L5:
       {
-        :return_value = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:32:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
+        :return_value = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:34:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
  - 'Future' is from 'dart:async'.
  - 'Set' is from 'dart:core'.
  - 'LinkedHashSet' is from 'dart:collection'.
@@ -252,7 +252,7 @@
     try {
       #L6:
       {
-        :return_value = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:33:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
+        :return_value = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:35:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
  - 'Future' is from 'dart:async'.
  - 'Map' is from 'dart:core'.
  - 'LinkedHashMap' is from 'dart:collection'.
@@ -284,7 +284,7 @@
     final core::Set<core::int*>* #t18 = new col::_CompactLinkedHashSet::•<core::int*>();
   } =>#t18;
 static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int*>*>*
-  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:38:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:40:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
  - 'Set' is from 'dart:core'.
  - 'LinkedHashSet' is from 'dart:collection'.
 FutureOr<LinkedHashSet<int>> lhsfun2() => {};
@@ -292,7 +292,7 @@
     final core::Set<dynamic>* #t19 = new col::_CompactLinkedHashSet::•<dynamic>();
   } =>#t19) as{TypeError} FutureOr<col::LinkedHashSet<core::int*>*>*;
 static method lhmfun2() → FutureOr<col::LinkedHashMap<core::int*, core::bool*>*>*
-  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:41:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
  - 'Map' is from 'dart:core'.
  - 'LinkedHashMap' is from 'dart:collection'.
 FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart
new file mode 100644
index 0000000..15f76e8
--- /dev/null
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart
@@ -0,0 +1,39 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'dart:async' show FutureOr;
+
+import 'dart:collection' show LinkedHashMap, LinkedHashSet;
+
+main() async {
+  Map<int, bool> m = {};
+  Set<int> s = {};
+  Iterable<int> i = {};
+  LinkedHashSet<int> lhs = {};
+  LinkedHashMap<int, bool> lhm = {};
+
+  Map<int, bool> fm = await mapfun();
+  Set<int> fs = await setfun();
+  Iterable<int> fi = await iterablefun();
+  LinkedHashSet<int> flhs = await lhsfun();
+  LinkedHashMap<int, bool> flhm = await lhmfun();
+
+  Map<int, bool> fm2 = await mapfun2();
+  Set<int> fs2 = await setfun2();
+  Iterable<int> fi2 = await iterablefun2();
+  LinkedHashSet<int> flhs2 = await lhsfun2();
+  LinkedHashMap<int, bool> flhm2 = await lhmfun2();
+}
+
+Future<Map<int, bool>> mapfun() async => {};
+Future<Set<int>> setfun() async => {};
+Future<Iterable<int>> iterablefun() async => {};
+Future<LinkedHashSet<int>> lhsfun() async => {};
+Future<LinkedHashMap<int, bool>> lhmfun() async => {};
+
+FutureOr<Map<int, bool>> mapfun2() => {};
+FutureOr<Set<int>> setfun2() => {};
+FutureOr<Iterable<int>> iterablefun2() => {};
+FutureOr<LinkedHashSet<int>> lhsfun2() => {};
+FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.textual_outline.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.textual_outline.expect
new file mode 100644
index 0000000..183ae0c
--- /dev/null
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.textual_outline.expect
@@ -0,0 +1,14 @@
+import 'dart:async' show FutureOr;
+import 'dart:collection' show LinkedHashMap, LinkedHashSet;
+
+main() async {}
+Future<Map<int, bool>> mapfun() async => {};
+Future<Set<int>> setfun() async => {};
+Future<Iterable<int>> iterablefun() async => {};
+Future<LinkedHashSet<int>> lhsfun() async => {};
+Future<LinkedHashMap<int, bool>> lhmfun() async => {};
+FutureOr<Map<int, bool>> mapfun2() => {};
+FutureOr<Set<int>> setfun2() => {};
+FutureOr<Iterable<int>> iterablefun2() => {};
+FutureOr<LinkedHashSet<int>> lhsfun2() => {};
+FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..cd5d4f6
--- /dev/null
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.textual_outline_modelled.expect
@@ -0,0 +1,14 @@
+import 'dart:async' show FutureOr;
+import 'dart:collection' show LinkedHashMap, LinkedHashSet;
+
+Future<Iterable<int>> iterablefun() async => {};
+Future<LinkedHashMap<int, bool>> lhmfun() async => {};
+Future<LinkedHashSet<int>> lhsfun() async => {};
+Future<Map<int, bool>> mapfun() async => {};
+Future<Set<int>> setfun() async => {};
+FutureOr<Iterable<int>> iterablefun2() => {};
+FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
+FutureOr<LinkedHashSet<int>> lhsfun2() => {};
+FutureOr<Map<int, bool>> mapfun2() => {};
+FutureOr<Set<int>> setfun2() => {};
+main() async {}
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.expect
new file mode 100644
index 0000000..c167af0
--- /dev/null
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.expect
@@ -0,0 +1,131 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:13:28: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'LinkedHashSet<int>'.
+//  - 'Set' is from 'dart:core'.
+//  - 'LinkedHashSet' is from 'dart:collection'.
+//   LinkedHashSet<int> lhs = {};
+//                            ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:14:34: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'LinkedHashMap<int, bool>'.
+//  - 'Map' is from 'dart:core'.
+//  - 'LinkedHashMap' is from 'dart:collection'.
+//   LinkedHashMap<int, bool> lhm = {};
+//                                  ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:32:46: Error: A value of type 'Set<dynamic>' can't be returned from an async function with return type 'Future<LinkedHashSet<int>>'.
+//  - 'Set' is from 'dart:core'.
+//  - 'Future' is from 'dart:async'.
+//  - 'LinkedHashSet' is from 'dart:collection'.
+// Future<LinkedHashSet<int>> lhsfun() async => {};
+//                                              ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:33:52: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from an async function with return type 'Future<LinkedHashMap<int, bool>>'.
+//  - 'Map' is from 'dart:core'.
+//  - 'Future' is from 'dart:async'.
+//  - 'LinkedHashMap' is from 'dart:collection'.
+// Future<LinkedHashMap<int, bool>> lhmfun() async => {};
+//                                                    ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:38:43: Error: A value of type 'Set<dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashSet<int>>'.
+//  - 'Set' is from 'dart:core'.
+//  - 'LinkedHashSet' is from 'dart:collection'.
+// FutureOr<LinkedHashSet<int>> lhsfun2() => {};
+//                                           ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashMap<int, bool>>'.
+//  - 'Map' is from 'dart:core'.
+//  - 'LinkedHashMap' is from 'dart:collection'.
+// FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
+//                                                 ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+import "dart:async" as asy;
+
+import "dart:async" show FutureOr;
+import "dart:collection" show LinkedHashMap, LinkedHashSet;
+
+static method main() → dynamic async /* futureValueType= dynamic */ {
+  core::Map<core::int, core::bool> m = <core::int, core::bool>{};
+  core::Set<core::int> s = block {
+    final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
+  } =>#t1;
+  core::Iterable<core::int> i = block {
+    final core::Set<core::int> #t2 = col::LinkedHashSet::•<core::int>();
+  } =>#t2;
+  col::LinkedHashSet<core::int> lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:13:28: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'LinkedHashSet<int>'.
+ - 'Set' is from 'dart:core'.
+ - 'LinkedHashSet' is from 'dart:collection'.
+  LinkedHashSet<int> lhs = {};
+                           ^" in ( block {
+    final core::Set<dynamic> #t3 = col::LinkedHashSet::•<dynamic>();
+  } =>#t3) as{TypeError,ForNonNullableByDefault} col::LinkedHashSet<core::int>;
+  col::LinkedHashMap<core::int, core::bool> lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:14:34: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'LinkedHashMap<int, bool>'.
+ - 'Map' is from 'dart:core'.
+ - 'LinkedHashMap' is from 'dart:collection'.
+  LinkedHashMap<int, bool> lhm = {};
+                                 ^" in <dynamic, dynamic>{} as{TypeError,ForNonNullableByDefault} col::LinkedHashMap<core::int, core::bool>;
+  core::Map<core::int, core::bool> fm = await self::mapfun();
+  core::Set<core::int> fs = await self::setfun();
+  core::Iterable<core::int> fi = await self::iterablefun();
+  col::LinkedHashSet<core::int> flhs = await self::lhsfun();
+  col::LinkedHashMap<core::int, core::bool> flhm = await self::lhmfun();
+  core::Map<core::int, core::bool> fm2 = await self::mapfun2();
+  core::Set<core::int> fs2 = await self::setfun2();
+  core::Iterable<core::int> fi2 = await self::iterablefun2();
+  col::LinkedHashSet<core::int> flhs2 = await self::lhsfun2();
+  col::LinkedHashMap<core::int, core::bool> flhm2 = await self::lhmfun2();
+}
+static method mapfun() → asy::Future<core::Map<core::int, core::bool>> async /* futureValueType= core::Map<core::int, core::bool> */ 
+  return <core::int, core::bool>{};
+static method setfun() → asy::Future<core::Set<core::int>> async /* futureValueType= core::Set<core::int> */ 
+  return block {
+    final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
+  } =>#t4;
+static method iterablefun() → asy::Future<core::Iterable<core::int>> async /* futureValueType= core::Iterable<core::int> */ 
+  return block {
+    final core::Set<core::int> #t5 = col::LinkedHashSet::•<core::int>();
+  } =>#t5;
+static method lhsfun() → asy::Future<col::LinkedHashSet<core::int>> async /* futureValueType= col::LinkedHashSet<core::int> */ 
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:32:46: Error: A value of type 'Set<dynamic>' can't be returned from an async function with return type 'Future<LinkedHashSet<int>>'.
+ - 'Set' is from 'dart:core'.
+ - 'Future' is from 'dart:async'.
+ - 'LinkedHashSet' is from 'dart:collection'.
+Future<LinkedHashSet<int>> lhsfun() async => {};
+                                             ^" in ( block {
+    final core::Set<dynamic> #t6 = col::LinkedHashSet::•<dynamic>();
+  } =>#t6) as{TypeError,ForNonNullableByDefault} col::LinkedHashSet<core::int>;
+static method lhmfun() → asy::Future<col::LinkedHashMap<core::int, core::bool>> async /* futureValueType= col::LinkedHashMap<core::int, core::bool> */ 
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:33:52: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from an async function with return type 'Future<LinkedHashMap<int, bool>>'.
+ - 'Map' is from 'dart:core'.
+ - 'Future' is from 'dart:async'.
+ - 'LinkedHashMap' is from 'dart:collection'.
+Future<LinkedHashMap<int, bool>> lhmfun() async => {};
+                                                   ^" in <dynamic, dynamic>{} as{TypeError,ForNonNullableByDefault} col::LinkedHashMap<core::int, core::bool>;
+static method mapfun2() → FutureOr<core::Map<core::int, core::bool>>
+  return <core::int, core::bool>{};
+static method setfun2() → FutureOr<core::Set<core::int>>
+  return block {
+    final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
+  } =>#t7;
+static method iterablefun2() → FutureOr<core::Iterable<core::int>>
+  return block {
+    final core::Set<core::int> #t8 = col::LinkedHashSet::•<core::int>();
+  } =>#t8;
+static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int>>
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:38:43: Error: A value of type 'Set<dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashSet<int>>'.
+ - 'Set' is from 'dart:core'.
+ - 'LinkedHashSet' is from 'dart:collection'.
+FutureOr<LinkedHashSet<int>> lhsfun2() => {};
+                                          ^" in ( block {
+    final core::Set<dynamic> #t9 = col::LinkedHashSet::•<dynamic>();
+  } =>#t9) as{TypeError,ForNonNullableByDefault} FutureOr<col::LinkedHashSet<core::int>>;
+static method lhmfun2() → FutureOr<col::LinkedHashMap<core::int, core::bool>>
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashMap<int, bool>>'.
+ - 'Map' is from 'dart:core'.
+ - 'LinkedHashMap' is from 'dart:collection'.
+FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
+                                                ^" in <dynamic, dynamic>{} as{TypeError,ForNonNullableByDefault} FutureOr<col::LinkedHashMap<core::int, core::bool>>;
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.modular.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.modular.expect
new file mode 100644
index 0000000..c167af0
--- /dev/null
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.modular.expect
@@ -0,0 +1,131 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:13:28: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'LinkedHashSet<int>'.
+//  - 'Set' is from 'dart:core'.
+//  - 'LinkedHashSet' is from 'dart:collection'.
+//   LinkedHashSet<int> lhs = {};
+//                            ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:14:34: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'LinkedHashMap<int, bool>'.
+//  - 'Map' is from 'dart:core'.
+//  - 'LinkedHashMap' is from 'dart:collection'.
+//   LinkedHashMap<int, bool> lhm = {};
+//                                  ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:32:46: Error: A value of type 'Set<dynamic>' can't be returned from an async function with return type 'Future<LinkedHashSet<int>>'.
+//  - 'Set' is from 'dart:core'.
+//  - 'Future' is from 'dart:async'.
+//  - 'LinkedHashSet' is from 'dart:collection'.
+// Future<LinkedHashSet<int>> lhsfun() async => {};
+//                                              ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:33:52: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from an async function with return type 'Future<LinkedHashMap<int, bool>>'.
+//  - 'Map' is from 'dart:core'.
+//  - 'Future' is from 'dart:async'.
+//  - 'LinkedHashMap' is from 'dart:collection'.
+// Future<LinkedHashMap<int, bool>> lhmfun() async => {};
+//                                                    ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:38:43: Error: A value of type 'Set<dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashSet<int>>'.
+//  - 'Set' is from 'dart:core'.
+//  - 'LinkedHashSet' is from 'dart:collection'.
+// FutureOr<LinkedHashSet<int>> lhsfun2() => {};
+//                                           ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashMap<int, bool>>'.
+//  - 'Map' is from 'dart:core'.
+//  - 'LinkedHashMap' is from 'dart:collection'.
+// FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
+//                                                 ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+import "dart:async" as asy;
+
+import "dart:async" show FutureOr;
+import "dart:collection" show LinkedHashMap, LinkedHashSet;
+
+static method main() → dynamic async /* futureValueType= dynamic */ {
+  core::Map<core::int, core::bool> m = <core::int, core::bool>{};
+  core::Set<core::int> s = block {
+    final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
+  } =>#t1;
+  core::Iterable<core::int> i = block {
+    final core::Set<core::int> #t2 = col::LinkedHashSet::•<core::int>();
+  } =>#t2;
+  col::LinkedHashSet<core::int> lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:13:28: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'LinkedHashSet<int>'.
+ - 'Set' is from 'dart:core'.
+ - 'LinkedHashSet' is from 'dart:collection'.
+  LinkedHashSet<int> lhs = {};
+                           ^" in ( block {
+    final core::Set<dynamic> #t3 = col::LinkedHashSet::•<dynamic>();
+  } =>#t3) as{TypeError,ForNonNullableByDefault} col::LinkedHashSet<core::int>;
+  col::LinkedHashMap<core::int, core::bool> lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:14:34: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'LinkedHashMap<int, bool>'.
+ - 'Map' is from 'dart:core'.
+ - 'LinkedHashMap' is from 'dart:collection'.
+  LinkedHashMap<int, bool> lhm = {};
+                                 ^" in <dynamic, dynamic>{} as{TypeError,ForNonNullableByDefault} col::LinkedHashMap<core::int, core::bool>;
+  core::Map<core::int, core::bool> fm = await self::mapfun();
+  core::Set<core::int> fs = await self::setfun();
+  core::Iterable<core::int> fi = await self::iterablefun();
+  col::LinkedHashSet<core::int> flhs = await self::lhsfun();
+  col::LinkedHashMap<core::int, core::bool> flhm = await self::lhmfun();
+  core::Map<core::int, core::bool> fm2 = await self::mapfun2();
+  core::Set<core::int> fs2 = await self::setfun2();
+  core::Iterable<core::int> fi2 = await self::iterablefun2();
+  col::LinkedHashSet<core::int> flhs2 = await self::lhsfun2();
+  col::LinkedHashMap<core::int, core::bool> flhm2 = await self::lhmfun2();
+}
+static method mapfun() → asy::Future<core::Map<core::int, core::bool>> async /* futureValueType= core::Map<core::int, core::bool> */ 
+  return <core::int, core::bool>{};
+static method setfun() → asy::Future<core::Set<core::int>> async /* futureValueType= core::Set<core::int> */ 
+  return block {
+    final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
+  } =>#t4;
+static method iterablefun() → asy::Future<core::Iterable<core::int>> async /* futureValueType= core::Iterable<core::int> */ 
+  return block {
+    final core::Set<core::int> #t5 = col::LinkedHashSet::•<core::int>();
+  } =>#t5;
+static method lhsfun() → asy::Future<col::LinkedHashSet<core::int>> async /* futureValueType= col::LinkedHashSet<core::int> */ 
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:32:46: Error: A value of type 'Set<dynamic>' can't be returned from an async function with return type 'Future<LinkedHashSet<int>>'.
+ - 'Set' is from 'dart:core'.
+ - 'Future' is from 'dart:async'.
+ - 'LinkedHashSet' is from 'dart:collection'.
+Future<LinkedHashSet<int>> lhsfun() async => {};
+                                             ^" in ( block {
+    final core::Set<dynamic> #t6 = col::LinkedHashSet::•<dynamic>();
+  } =>#t6) as{TypeError,ForNonNullableByDefault} col::LinkedHashSet<core::int>;
+static method lhmfun() → asy::Future<col::LinkedHashMap<core::int, core::bool>> async /* futureValueType= col::LinkedHashMap<core::int, core::bool> */ 
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:33:52: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from an async function with return type 'Future<LinkedHashMap<int, bool>>'.
+ - 'Map' is from 'dart:core'.
+ - 'Future' is from 'dart:async'.
+ - 'LinkedHashMap' is from 'dart:collection'.
+Future<LinkedHashMap<int, bool>> lhmfun() async => {};
+                                                   ^" in <dynamic, dynamic>{} as{TypeError,ForNonNullableByDefault} col::LinkedHashMap<core::int, core::bool>;
+static method mapfun2() → FutureOr<core::Map<core::int, core::bool>>
+  return <core::int, core::bool>{};
+static method setfun2() → FutureOr<core::Set<core::int>>
+  return block {
+    final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
+  } =>#t7;
+static method iterablefun2() → FutureOr<core::Iterable<core::int>>
+  return block {
+    final core::Set<core::int> #t8 = col::LinkedHashSet::•<core::int>();
+  } =>#t8;
+static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int>>
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:38:43: Error: A value of type 'Set<dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashSet<int>>'.
+ - 'Set' is from 'dart:core'.
+ - 'LinkedHashSet' is from 'dart:collection'.
+FutureOr<LinkedHashSet<int>> lhsfun2() => {};
+                                          ^" in ( block {
+    final core::Set<dynamic> #t9 = col::LinkedHashSet::•<dynamic>();
+  } =>#t9) as{TypeError,ForNonNullableByDefault} FutureOr<col::LinkedHashSet<core::int>>;
+static method lhmfun2() → FutureOr<col::LinkedHashMap<core::int, core::bool>>
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashMap<int, bool>>'.
+ - 'Map' is from 'dart:core'.
+ - 'LinkedHashMap' is from 'dart:collection'.
+FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
+                                                ^" in <dynamic, dynamic>{} as{TypeError,ForNonNullableByDefault} FutureOr<col::LinkedHashMap<core::int, core::bool>>;
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.outline.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.outline.expect
new file mode 100644
index 0000000..132e0ad
--- /dev/null
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.outline.expect
@@ -0,0 +1,31 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:async" as asy;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+import "dart:async" show FutureOr;
+import "dart:collection" show LinkedHashMap, LinkedHashSet;
+
+static method main() → dynamic async 
+  ;
+static method mapfun() → asy::Future<core::Map<core::int, core::bool>> async 
+  ;
+static method setfun() → asy::Future<core::Set<core::int>> async 
+  ;
+static method iterablefun() → asy::Future<core::Iterable<core::int>> async 
+  ;
+static method lhsfun() → asy::Future<col::LinkedHashSet<core::int>> async 
+  ;
+static method lhmfun() → asy::Future<col::LinkedHashMap<core::int, core::bool>> async 
+  ;
+static method mapfun2() → FutureOr<core::Map<core::int, core::bool>>
+  ;
+static method setfun2() → FutureOr<core::Set<core::int>>
+  ;
+static method iterablefun2() → FutureOr<core::Iterable<core::int>>
+  ;
+static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int>>
+  ;
+static method lhmfun2() → FutureOr<col::LinkedHashMap<core::int, core::bool>>
+  ;
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.transformed.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.transformed.expect
new file mode 100644
index 0000000..621dcc5
--- /dev/null
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule2.dart.weak.transformed.expect
@@ -0,0 +1,291 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:13:28: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'LinkedHashSet<int>'.
+//  - 'Set' is from 'dart:core'.
+//  - 'LinkedHashSet' is from 'dart:collection'.
+//   LinkedHashSet<int> lhs = {};
+//                            ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:14:34: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'LinkedHashMap<int, bool>'.
+//  - 'Map' is from 'dart:core'.
+//  - 'LinkedHashMap' is from 'dart:collection'.
+//   LinkedHashMap<int, bool> lhm = {};
+//                                  ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:32:46: Error: A value of type 'Set<dynamic>' can't be returned from an async function with return type 'Future<LinkedHashSet<int>>'.
+//  - 'Set' is from 'dart:core'.
+//  - 'Future' is from 'dart:async'.
+//  - 'LinkedHashSet' is from 'dart:collection'.
+// Future<LinkedHashSet<int>> lhsfun() async => {};
+//                                              ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:33:52: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from an async function with return type 'Future<LinkedHashMap<int, bool>>'.
+//  - 'Map' is from 'dart:core'.
+//  - 'Future' is from 'dart:async'.
+//  - 'LinkedHashMap' is from 'dart:collection'.
+// Future<LinkedHashMap<int, bool>> lhmfun() async => {};
+//                                                    ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:38:43: Error: A value of type 'Set<dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashSet<int>>'.
+//  - 'Set' is from 'dart:core'.
+//  - 'LinkedHashSet' is from 'dart:collection'.
+// FutureOr<LinkedHashSet<int>> lhsfun2() => {};
+//                                           ^
+//
+// pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashMap<int, bool>>'.
+//  - 'Map' is from 'dart:core'.
+//  - 'LinkedHashMap' is from 'dart:collection'.
+// FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
+//                                                 ^
+//
+import self as self;
+import "dart:async" as asy;
+import "dart:core" as core;
+import "dart:collection" as col;
+import "dart:_internal" as _in;
+
+import "dart:async" show FutureOr;
+import "dart:collection" show LinkedHashMap, LinkedHashSet;
+
+static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
+  final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
+  core::bool* :is_sync = false;
+  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;
+  function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding 
+    try {
+      #L1:
+      {
+        core::Map<core::int, core::bool> m = <core::int, core::bool>{};
+        core::Set<core::int> s = block {
+          final core::Set<core::int> #t1 = new col::_CompactLinkedHashSet::•<core::int>();
+        } =>#t1;
+        core::Iterable<core::int> i = block {
+          final core::Set<core::int> #t2 = new col::_CompactLinkedHashSet::•<core::int>();
+        } =>#t2;
+        col::LinkedHashSet<core::int> lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:13:28: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'LinkedHashSet<int>'.
+ - 'Set' is from 'dart:core'.
+ - 'LinkedHashSet' is from 'dart:collection'.
+  LinkedHashSet<int> lhs = {};
+                           ^" in ( block {
+          final core::Set<dynamic> #t3 = new col::_CompactLinkedHashSet::•<dynamic>();
+        } =>#t3) as{TypeError,ForNonNullableByDefault} col::LinkedHashSet<core::int>;
+        col::LinkedHashMap<core::int, core::bool> lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:14:34: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'LinkedHashMap<int, bool>'.
+ - 'Map' is from 'dart:core'.
+ - 'LinkedHashMap' is from 'dart:collection'.
+  LinkedHashMap<int, bool> lhm = {};
+                                 ^" in <dynamic, dynamic>{} as{TypeError,ForNonNullableByDefault} col::LinkedHashMap<core::int, core::bool>;
+        [yield] let dynamic #t4 = asy::_awaitHelper(self::mapfun(), :async_op_then, :async_op_error) in null;
+        core::Map<core::int, core::bool> fm = _in::unsafeCast<core::Map<core::int, core::bool>>(:result_or_exception);
+        [yield] let dynamic #t5 = asy::_awaitHelper(self::setfun(), :async_op_then, :async_op_error) in null;
+        core::Set<core::int> fs = _in::unsafeCast<core::Set<core::int>>(:result_or_exception);
+        [yield] let dynamic #t6 = asy::_awaitHelper(self::iterablefun(), :async_op_then, :async_op_error) in null;
+        core::Iterable<core::int> fi = _in::unsafeCast<core::Iterable<core::int>>(:result_or_exception);
+        [yield] let dynamic #t7 = asy::_awaitHelper(self::lhsfun(), :async_op_then, :async_op_error) in null;
+        col::LinkedHashSet<core::int> flhs = _in::unsafeCast<col::LinkedHashSet<core::int>>(:result_or_exception);
+        [yield] let dynamic #t8 = asy::_awaitHelper(self::lhmfun(), :async_op_then, :async_op_error) in null;
+        col::LinkedHashMap<core::int, core::bool> flhm = _in::unsafeCast<col::LinkedHashMap<core::int, core::bool>>(:result_or_exception);
+        [yield] let dynamic #t9 = asy::_awaitHelper(self::mapfun2(), :async_op_then, :async_op_error) in null;
+        core::Map<core::int, core::bool> fm2 = _in::unsafeCast<core::Map<core::int, core::bool>>(:result_or_exception);
+        [yield] let dynamic #t10 = asy::_awaitHelper(self::setfun2(), :async_op_then, :async_op_error) in null;
+        core::Set<core::int> fs2 = _in::unsafeCast<core::Set<core::int>>(:result_or_exception);
+        [yield] let dynamic #t11 = asy::_awaitHelper(self::iterablefun2(), :async_op_then, :async_op_error) in null;
+        core::Iterable<core::int> fi2 = _in::unsafeCast<core::Iterable<core::int>>(:result_or_exception);
+        [yield] let dynamic #t12 = asy::_awaitHelper(self::lhsfun2(), :async_op_then, :async_op_error) in null;
+        col::LinkedHashSet<core::int> flhs2 = _in::unsafeCast<col::LinkedHashSet<core::int>>(:result_or_exception);
+        [yield] let dynamic #t13 = asy::_awaitHelper(self::lhmfun2(), :async_op_then, :async_op_error) in null;
+        col::LinkedHashMap<core::int, core::bool> flhm2 = _in::unsafeCast<col::LinkedHashMap<core::int, core::bool>>(:result_or_exception);
+      }
+      asy::_completeWithNoFutureOnAsyncReturn(: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(null, null){() → dynamic};
+  :is_sync = true;
+  return :async_future;
+}
+static method mapfun() → asy::Future<core::Map<core::int, core::bool>> /* futureValueType= core::Map<core::int, core::bool> */ /* originally async */ {
+  final asy::_Future<core::Map<core::int, core::bool>> :async_future = new asy::_Future::•<core::Map<core::int, core::bool>>();
+  core::bool* :is_sync = false;
+  core::Map<core::int, core::bool>? :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;
+  function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding 
+    try {
+      #L2:
+      {
+        :return_value = <core::int, core::bool>{};
+        break #L2;
+      }
+      asy::_completeWithNoFutureOnAsyncReturn(: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(null, null){() → dynamic};
+  :is_sync = true;
+  return :async_future;
+}
+static method setfun() → asy::Future<core::Set<core::int>> /* futureValueType= core::Set<core::int> */ /* originally async */ {
+  final asy::_Future<core::Set<core::int>> :async_future = new asy::_Future::•<core::Set<core::int>>();
+  core::bool* :is_sync = false;
+  core::Set<core::int>? :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;
+  function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding 
+    try {
+      #L3:
+      {
+        :return_value = block {
+          final core::Set<core::int> #t14 = new col::_CompactLinkedHashSet::•<core::int>();
+        } =>#t14;
+        break #L3;
+      }
+      asy::_completeWithNoFutureOnAsyncReturn(: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(null, null){() → dynamic};
+  :is_sync = true;
+  return :async_future;
+}
+static method iterablefun() → asy::Future<core::Iterable<core::int>> /* futureValueType= core::Iterable<core::int> */ /* originally async */ {
+  final asy::_Future<core::Iterable<core::int>> :async_future = new asy::_Future::•<core::Iterable<core::int>>();
+  core::bool* :is_sync = false;
+  core::Iterable<core::int>? :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;
+  function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding 
+    try {
+      #L4:
+      {
+        :return_value = block {
+          final core::Set<core::int> #t15 = new col::_CompactLinkedHashSet::•<core::int>();
+        } =>#t15;
+        break #L4;
+      }
+      asy::_completeWithNoFutureOnAsyncReturn(: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(null, null){() → dynamic};
+  :is_sync = true;
+  return :async_future;
+}
+static method lhsfun() → asy::Future<col::LinkedHashSet<core::int>> /* futureValueType= col::LinkedHashSet<core::int> */ /* originally async */ {
+  final asy::_Future<col::LinkedHashSet<core::int>> :async_future = new asy::_Future::•<col::LinkedHashSet<core::int>>();
+  core::bool* :is_sync = false;
+  FutureOr<col::LinkedHashSet<core::int>>? :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;
+  function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding 
+    try {
+      #L5:
+      {
+        :return_value = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:32:46: Error: A value of type 'Set<dynamic>' can't be returned from an async function with return type 'Future<LinkedHashSet<int>>'.
+ - 'Set' is from 'dart:core'.
+ - 'Future' is from 'dart:async'.
+ - 'LinkedHashSet' is from 'dart:collection'.
+Future<LinkedHashSet<int>> lhsfun() async => {};
+                                             ^" in ( block {
+          final core::Set<dynamic> #t16 = new col::_CompactLinkedHashSet::•<dynamic>();
+        } =>#t16) as{TypeError,ForNonNullableByDefault} col::LinkedHashSet<core::int>;
+        break #L5;
+      }
+      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(null, null){() → dynamic};
+  :is_sync = true;
+  return :async_future;
+}
+static method lhmfun() → asy::Future<col::LinkedHashMap<core::int, core::bool>> /* futureValueType= col::LinkedHashMap<core::int, core::bool> */ /* originally async */ {
+  final asy::_Future<col::LinkedHashMap<core::int, core::bool>> :async_future = new asy::_Future::•<col::LinkedHashMap<core::int, core::bool>>();
+  core::bool* :is_sync = false;
+  FutureOr<col::LinkedHashMap<core::int, core::bool>>? :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;
+  function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding 
+    try {
+      #L6:
+      {
+        :return_value = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:33:52: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from an async function with return type 'Future<LinkedHashMap<int, bool>>'.
+ - 'Map' is from 'dart:core'.
+ - 'Future' is from 'dart:async'.
+ - 'LinkedHashMap' is from 'dart:collection'.
+Future<LinkedHashMap<int, bool>> lhmfun() async => {};
+                                                   ^" in <dynamic, dynamic>{} as{TypeError,ForNonNullableByDefault} col::LinkedHashMap<core::int, core::bool>;
+        break #L6;
+      }
+      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(null, null){() → dynamic};
+  :is_sync = true;
+  return :async_future;
+}
+static method mapfun2() → FutureOr<core::Map<core::int, core::bool>>
+  return <core::int, core::bool>{};
+static method setfun2() → FutureOr<core::Set<core::int>>
+  return block {
+    final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t17;
+static method iterablefun2() → FutureOr<core::Iterable<core::int>>
+  return block {
+    final core::Set<core::int> #t18 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t18;
+static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int>>
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:38:43: Error: A value of type 'Set<dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashSet<int>>'.
+ - 'Set' is from 'dart:core'.
+ - 'LinkedHashSet' is from 'dart:collection'.
+FutureOr<LinkedHashSet<int>> lhsfun2() => {};
+                                          ^" in ( block {
+    final core::Set<dynamic> #t19 = new col::_CompactLinkedHashSet::•<dynamic>();
+  } =>#t19) as{TypeError,ForNonNullableByDefault} FutureOr<col::LinkedHashSet<core::int>>;
+static method lhmfun2() → FutureOr<col::LinkedHashMap<core::int, core::bool>>
+  return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashMap<int, bool>>'.
+ - 'Map' is from 'dart:core'.
+ - 'LinkedHashMap' is from 'dart:collection'.
+FutureOr<LinkedHashMap<int, bool>> lhmfun2() => {};
+                                                ^" in <dynamic, dynamic>{} as{TypeError,ForNonNullableByDefault} FutureOr<col::LinkedHashMap<core::int, core::bool>>;
diff --git a/pkg/front_end/testcases/text_serialization.status b/pkg/front_end/testcases/text_serialization.status
index 889ec70..93f5cae 100644
--- a/pkg/front_end/testcases/text_serialization.status
+++ b/pkg/front_end/testcases/text_serialization.status
@@ -152,7 +152,6 @@
 rasta/issue_000041: RuntimeError
 rasta/issue_000042: RuntimeError
 rasta/issue_000044: RuntimeError
-rasta/issue_000081: RuntimeError
 rasta/malformed_const_constructor: RuntimeError
 rasta/malformed_function: RuntimeError
 rasta/mixin_library: TypeCheckError
@@ -170,11 +169,11 @@
 regress/issue_29976: RuntimeError
 regress/issue_29982: RuntimeError
 regress/issue_31180: TypeCheckError
+regress/issue_31180_2: TypeCheckError
 regress/issue_32972: RuntimeError
 regress/issue_33452: RuntimeError
 regress/issue_34225: RuntimeError
 regress/issue_34563: RuntimeError
-regress/issue_35177: RuntimeError
 regress/issue_35258: RuntimeError
 regress/issue_35259: RuntimeError
 regress/issue_35260: RuntimeError
@@ -183,6 +182,7 @@
 regress/issue_39091_2: RuntimeError
 runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast: RuntimeError
 set_literals/disambiguation_rule: RuntimeError
+set_literals/disambiguation_rule2: RuntimeError
 value_class/copy_with_call_sites: RuntimeError # Expected
 value_class/simple: RuntimeError # Expected
 value_class/value_extends_non_value: RuntimeError # Expected
diff --git a/pkg/front_end/testcases/unified_collections/fold_initial2.dart b/pkg/front_end/testcases/unified_collections/fold_initial2.dart
new file mode 100644
index 0000000..034f35d
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/fold_initial2.dart
@@ -0,0 +1,113 @@
+// 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.
+
+void foldInitialElements() {
+  dynamic element0 = 0;
+  int? element1 = 1;
+  int element2 = 2;
+  var list = <int?>[element0, element1, element2, if (true) 3, 4, 5, 6];
+
+  expect(new List<int?>.generate(7, (int? i) => i), list);
+
+  var set = <int?>{element0, element1, element2, if (true) 3, 4, 5, 6};
+
+  expect(new List<int?>.generate(7, (int? i) => i), set.toList());
+}
+
+void foldInitialSpread1() {
+  dynamic initial = [0, 1, 2];
+  var list = <int>[...initial, if (true) 3, 4, 5, 6];
+
+  expect(new List<int>.generate(7, (int i) => i), list);
+
+  var set = <int>{...initial, if (true) 3, 4, 5, 6};
+
+  expect(new List<int>.generate(7, (int i) => i), set.toList());
+}
+
+void foldInitialSpread2([bool c = false]) {
+  Iterable<int?> initial = [0, 1, 2];
+  if (c) {
+    initial = [null];
+  }
+  var list = <int?>[...initial, if (true) 3, 4, 5, 6];
+
+  expect(new List<int?>.generate(7, (int? i) => i), list);
+
+  var set = <int?>{...initial, if (true) 3, 4, 5, 6};
+
+  expect(new List<int?>.generate(7, (int? i) => i), set.toList());
+}
+
+void foldInitialSpread3([bool c = false]) {
+  List<int?> initial = [0, 1, 2];
+  if (c) {
+    initial = [null];
+  }
+  var list = <int?>[...initial, if (true) 3, 4, 5, 6];
+
+  expect(new List<int?>.generate(7, (int? i) => i), list);
+
+  var set = <int?>{...initial, if (true) 3, 4, 5, 6};
+
+  expect(new List<int?>.generate(7, (int? i) => i), set.toList());
+}
+
+void foldInitialSpread4([bool c = false]) {
+  Iterable<int> initial = [0, 1, 2];
+  var list = <int>[...initial, if (true) 3, 4, 5, 6];
+
+  expect(new List<int>.generate(7, (int i) => i), list);
+
+  var set = <int>{...initial, if (true) 3, 4, 5, 6};
+
+  expect(new List<int>.generate(7, (int i) => i), set.toList());
+}
+
+void foldInitialSpread5([bool c = false]) {
+  List<int> initial = [0, 1, 2];
+  var list = <int>[...initial, if (true) 3, 4, 5, 6];
+
+  expect(new List<int>.generate(7, (int i) => i), list);
+
+  var set = <int>{...initial, if (true) 3, 4, 5, 6};
+
+  expect(new List<int>.generate(7, (int i) => i), set.toList());
+}
+
+void foldInitialSpread6([bool c = false]) {
+  List<int>? initial = [0, 1, 2];
+  if (c) {
+    initial = null;
+  }
+  var list = <int>[...?initial, if (true) 3, 4, 5, 6];
+
+  expect(new List<int>.generate(7, (int i) => i), list);
+
+  var set = <int>{...?initial, if (true) 3, 4, 5, 6};
+
+  expect(new List<int>.generate(7, (int i) => i), set.toList());
+}
+
+main() {
+  foldInitialElements();
+  foldInitialSpread1();
+  foldInitialSpread2();
+  foldInitialSpread3();
+  foldInitialSpread4();
+  foldInitialSpread5();
+  foldInitialSpread6();
+}
+
+void expect(List list1, List list2) {
+  if (list1.length != list2.length) {
+    throw 'Unexpected length. Expected ${list1.length}, actual ${list2.length}.';
+  }
+  for (int i = 0; i < list1.length; i++) {
+    if (list1[i] != list2[i]) {
+      throw 'Unexpected element at index $i. '
+          'Expected ${list1[i]}, actual ${list2[i]}.';
+    }
+  }
+}
diff --git a/pkg/front_end/testcases/unified_collections/fold_initial2.dart.textual_outline.expect b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.textual_outline.expect
new file mode 100644
index 0000000..9615248
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.textual_outline.expect
@@ -0,0 +1,9 @@
+void foldInitialElements() {}
+void foldInitialSpread1() {}
+void foldInitialSpread2([bool c = false]) {}
+void foldInitialSpread3([bool c = false]) {}
+void foldInitialSpread4([bool c = false]) {}
+void foldInitialSpread5([bool c = false]) {}
+void foldInitialSpread6([bool c = false]) {}
+main() {}
+void expect(List list1, List list2) {}
diff --git a/pkg/front_end/testcases/unified_collections/fold_initial2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..61f14e7
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.textual_outline_modelled.expect
@@ -0,0 +1,9 @@
+main() {}
+void expect(List list1, List list2) {}
+void foldInitialElements() {}
+void foldInitialSpread1() {}
+void foldInitialSpread2([bool c = false]) {}
+void foldInitialSpread3([bool c = false]) {}
+void foldInitialSpread4([bool c = false]) {}
+void foldInitialSpread5([bool c = false]) {}
+void foldInitialSpread6([bool c = false]) {}
diff --git a/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.expect b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.expect
new file mode 100644
index 0000000..8bf896b
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.expect
@@ -0,0 +1,203 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method foldInitialElements() → void {
+  dynamic element0 = 0;
+  core::int? element1 = 1;
+  core::int element2 = 2;
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t1 = <core::int?>[element0 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?, element1{core::int}, element2];
+    if(true)
+      #t1.{core::List::add}{Invariant}(3){(core::int?) → void};
+    #t1.{core::List::add}{Invariant}(4){(core::int?) → void};
+    #t1.{core::List::add}{Invariant}(5){(core::int?) → void};
+    #t1.{core::List::add}{Invariant}(6){(core::int?) → void};
+  } =>#t1;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), list);
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t2 = col::LinkedHashSet::•<core::int?>();
+    #t2.{core::Set::add}{Invariant}(element0 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(element1{core::int}){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(element2){(core::int?) → core::bool};
+    if(true)
+      #t2.{core::Set::add}{Invariant}(3){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(4){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(5){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+  } =>#t2;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int?>});
+}
+static method foldInitialSpread1() → void {
+  dynamic initial = <core::int>[0, 1, 2];
+  core::List<core::int> list = block {
+    final core::List<core::int> #t3 = <core::int>[];
+    for (final has-declared-initializer dynamic #t4 in initial as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t5 = #t4 as{TypeError,ForNonNullableByDefault} core::int;
+      #t3.{core::List::add}{Invariant}(#t5){(core::int) → void};
+    }
+    if(true)
+      #t3.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t3.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t3.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t3.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t3;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t6 = col::LinkedHashSet::•<core::int>();
+    for (final has-declared-initializer dynamic #t7 in initial as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t8 = #t7 as{TypeError,ForNonNullableByDefault} core::int;
+      #t6.{core::Set::add}{Invariant}(#t8){(core::int) → core::bool};
+    }
+    if(true)
+      #t6.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t6.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t6.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t6.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t6;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method foldInitialSpread2([core::bool c = #C1]) → void {
+  core::Iterable<core::int?> initial = <core::int?>[0, 1, 2];
+  if(c) {
+    initial = <core::int?>[null];
+  }
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t9 = core::List::of<core::int?>(initial);
+    if(true)
+      #t9.{core::List::add}{Invariant}(3){(core::int?) → void};
+    #t9.{core::List::add}{Invariant}(4){(core::int?) → void};
+    #t9.{core::List::add}{Invariant}(5){(core::int?) → void};
+    #t9.{core::List::add}{Invariant}(6){(core::int?) → void};
+  } =>#t9;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), list);
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t10 = col::LinkedHashSet::of<core::int?>(initial);
+    if(true)
+      #t10.{core::Set::add}{Invariant}(3){(core::int?) → core::bool};
+    #t10.{core::Set::add}{Invariant}(4){(core::int?) → core::bool};
+    #t10.{core::Set::add}{Invariant}(5){(core::int?) → core::bool};
+    #t10.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+  } =>#t10;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int?>});
+}
+static method foldInitialSpread3([core::bool c = #C1]) → void {
+  core::List<core::int?> initial = <core::int?>[0, 1, 2];
+  if(c) {
+    initial = <core::int?>[null];
+  }
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t11 = core::List::of<core::int?>(initial);
+    if(true)
+      #t11.{core::List::add}{Invariant}(3){(core::int?) → void};
+    #t11.{core::List::add}{Invariant}(4){(core::int?) → void};
+    #t11.{core::List::add}{Invariant}(5){(core::int?) → void};
+    #t11.{core::List::add}{Invariant}(6){(core::int?) → void};
+  } =>#t11;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), list);
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t12 = col::LinkedHashSet::of<core::int?>(initial);
+    if(true)
+      #t12.{core::Set::add}{Invariant}(3){(core::int?) → core::bool};
+    #t12.{core::Set::add}{Invariant}(4){(core::int?) → core::bool};
+    #t12.{core::Set::add}{Invariant}(5){(core::int?) → core::bool};
+    #t12.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+  } =>#t12;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int?>});
+}
+static method foldInitialSpread4([core::bool c = #C1]) → void {
+  core::Iterable<core::int> initial = <core::int>[0, 1, 2];
+  core::List<core::int> list = block {
+    final core::List<core::int> #t13 = core::List::of<core::int>(initial);
+    if(true)
+      #t13.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t13.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t13.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t13.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t13;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t14 = col::LinkedHashSet::of<core::int>(initial);
+    if(true)
+      #t14.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t14.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t14.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t14.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t14;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method foldInitialSpread5([core::bool c = #C1]) → void {
+  core::List<core::int> initial = <core::int>[0, 1, 2];
+  core::List<core::int> list = block {
+    final core::List<core::int> #t15 = core::List::of<core::int>(initial);
+    if(true)
+      #t15.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t15.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t15.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t15.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t15;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t16 = col::LinkedHashSet::of<core::int>(initial);
+    if(true)
+      #t16.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t16.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t16.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t16.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t16;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method foldInitialSpread6([core::bool c = #C1]) → void {
+  core::List<core::int>? initial = <core::int>[0, 1, 2];
+  if(c) {
+    initial = null;
+  }
+  core::List<core::int> list = block {
+    final core::List<core::int> #t17 = <core::int>[];
+    final core::Iterable<core::int>? #t18 = initial;
+    if(!(#t18 == null))
+      #t17.{core::List::addAll}{Invariant}(#t18{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    if(true)
+      #t17.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t17.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t17.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t17.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t17;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t19 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t20 = initial;
+    if(!(#t20 == null))
+      #t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    if(true)
+      #t19.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t19;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method main() → dynamic {
+  self::foldInitialElements();
+  self::foldInitialSpread1();
+  self::foldInitialSpread2();
+  self::foldInitialSpread3();
+  self::foldInitialSpread4();
+  self::foldInitialSpread5();
+  self::foldInitialSpread6();
+}
+static method expect(core::List<dynamic> list1, core::List<dynamic> list2) → void {
+  if(!(list1.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} list2.{core::List::length}{core::int})) {
+    throw "Unexpected length. Expected ${list1.{core::List::length}{core::int}}, actual ${list2.{core::List::length}{core::int}}.";
+  }
+  for (core::int i = 0; i.{core::num::<}(list1.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+    if(!(list1.{core::List::[]}(i){(core::int) → dynamic} =={core::Object::==}{(core::Object) → core::bool} list2.{core::List::[]}(i){(core::int) → dynamic})) {
+      throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int) → dynamic}}, actual ${list2.{core::List::[]}(i){(core::int) → dynamic}}.";
+    }
+  }
+}
+
+constants  {
+  #C1 = false
+}
diff --git a/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.modular.expect
new file mode 100644
index 0000000..8bf896b
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.modular.expect
@@ -0,0 +1,203 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method foldInitialElements() → void {
+  dynamic element0 = 0;
+  core::int? element1 = 1;
+  core::int element2 = 2;
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t1 = <core::int?>[element0 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?, element1{core::int}, element2];
+    if(true)
+      #t1.{core::List::add}{Invariant}(3){(core::int?) → void};
+    #t1.{core::List::add}{Invariant}(4){(core::int?) → void};
+    #t1.{core::List::add}{Invariant}(5){(core::int?) → void};
+    #t1.{core::List::add}{Invariant}(6){(core::int?) → void};
+  } =>#t1;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), list);
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t2 = col::LinkedHashSet::•<core::int?>();
+    #t2.{core::Set::add}{Invariant}(element0 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(element1{core::int}){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(element2){(core::int?) → core::bool};
+    if(true)
+      #t2.{core::Set::add}{Invariant}(3){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(4){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(5){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+  } =>#t2;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int?>});
+}
+static method foldInitialSpread1() → void {
+  dynamic initial = <core::int>[0, 1, 2];
+  core::List<core::int> list = block {
+    final core::List<core::int> #t3 = <core::int>[];
+    for (final has-declared-initializer dynamic #t4 in initial as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t5 = #t4 as{TypeError,ForNonNullableByDefault} core::int;
+      #t3.{core::List::add}{Invariant}(#t5){(core::int) → void};
+    }
+    if(true)
+      #t3.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t3.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t3.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t3.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t3;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t6 = col::LinkedHashSet::•<core::int>();
+    for (final has-declared-initializer dynamic #t7 in initial as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t8 = #t7 as{TypeError,ForNonNullableByDefault} core::int;
+      #t6.{core::Set::add}{Invariant}(#t8){(core::int) → core::bool};
+    }
+    if(true)
+      #t6.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t6.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t6.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t6.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t6;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method foldInitialSpread2([core::bool c = #C1]) → void {
+  core::Iterable<core::int?> initial = <core::int?>[0, 1, 2];
+  if(c) {
+    initial = <core::int?>[null];
+  }
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t9 = core::List::of<core::int?>(initial);
+    if(true)
+      #t9.{core::List::add}{Invariant}(3){(core::int?) → void};
+    #t9.{core::List::add}{Invariant}(4){(core::int?) → void};
+    #t9.{core::List::add}{Invariant}(5){(core::int?) → void};
+    #t9.{core::List::add}{Invariant}(6){(core::int?) → void};
+  } =>#t9;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), list);
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t10 = col::LinkedHashSet::of<core::int?>(initial);
+    if(true)
+      #t10.{core::Set::add}{Invariant}(3){(core::int?) → core::bool};
+    #t10.{core::Set::add}{Invariant}(4){(core::int?) → core::bool};
+    #t10.{core::Set::add}{Invariant}(5){(core::int?) → core::bool};
+    #t10.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+  } =>#t10;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int?>});
+}
+static method foldInitialSpread3([core::bool c = #C1]) → void {
+  core::List<core::int?> initial = <core::int?>[0, 1, 2];
+  if(c) {
+    initial = <core::int?>[null];
+  }
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t11 = core::List::of<core::int?>(initial);
+    if(true)
+      #t11.{core::List::add}{Invariant}(3){(core::int?) → void};
+    #t11.{core::List::add}{Invariant}(4){(core::int?) → void};
+    #t11.{core::List::add}{Invariant}(5){(core::int?) → void};
+    #t11.{core::List::add}{Invariant}(6){(core::int?) → void};
+  } =>#t11;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), list);
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t12 = col::LinkedHashSet::of<core::int?>(initial);
+    if(true)
+      #t12.{core::Set::add}{Invariant}(3){(core::int?) → core::bool};
+    #t12.{core::Set::add}{Invariant}(4){(core::int?) → core::bool};
+    #t12.{core::Set::add}{Invariant}(5){(core::int?) → core::bool};
+    #t12.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+  } =>#t12;
+  self::expect(core::List::generate<core::int?>(7, (core::int? i) → core::int? => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int?>});
+}
+static method foldInitialSpread4([core::bool c = #C1]) → void {
+  core::Iterable<core::int> initial = <core::int>[0, 1, 2];
+  core::List<core::int> list = block {
+    final core::List<core::int> #t13 = core::List::of<core::int>(initial);
+    if(true)
+      #t13.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t13.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t13.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t13.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t13;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t14 = col::LinkedHashSet::of<core::int>(initial);
+    if(true)
+      #t14.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t14.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t14.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t14.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t14;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method foldInitialSpread5([core::bool c = #C1]) → void {
+  core::List<core::int> initial = <core::int>[0, 1, 2];
+  core::List<core::int> list = block {
+    final core::List<core::int> #t15 = core::List::of<core::int>(initial);
+    if(true)
+      #t15.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t15.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t15.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t15.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t15;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t16 = col::LinkedHashSet::of<core::int>(initial);
+    if(true)
+      #t16.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t16.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t16.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t16.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t16;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method foldInitialSpread6([core::bool c = #C1]) → void {
+  core::List<core::int>? initial = <core::int>[0, 1, 2];
+  if(c) {
+    initial = null;
+  }
+  core::List<core::int> list = block {
+    final core::List<core::int> #t17 = <core::int>[];
+    final core::Iterable<core::int>? #t18 = initial;
+    if(!(#t18 == null))
+      #t17.{core::List::addAll}{Invariant}(#t18{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    if(true)
+      #t17.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t17.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t17.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t17.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t17;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t19 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t20 = initial;
+    if(!(#t20 == null))
+      #t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    if(true)
+      #t19.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t19;
+  self::expect(core::List::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method main() → dynamic {
+  self::foldInitialElements();
+  self::foldInitialSpread1();
+  self::foldInitialSpread2();
+  self::foldInitialSpread3();
+  self::foldInitialSpread4();
+  self::foldInitialSpread5();
+  self::foldInitialSpread6();
+}
+static method expect(core::List<dynamic> list1, core::List<dynamic> list2) → void {
+  if(!(list1.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} list2.{core::List::length}{core::int})) {
+    throw "Unexpected length. Expected ${list1.{core::List::length}{core::int}}, actual ${list2.{core::List::length}{core::int}}.";
+  }
+  for (core::int i = 0; i.{core::num::<}(list1.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+    if(!(list1.{core::List::[]}(i){(core::int) → dynamic} =={core::Object::==}{(core::Object) → core::bool} list2.{core::List::[]}(i){(core::int) → dynamic})) {
+      throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int) → dynamic}}, actual ${list2.{core::List::[]}(i){(core::int) → dynamic}}.";
+    }
+  }
+}
+
+constants  {
+  #C1 = false
+}
diff --git a/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.outline.expect
new file mode 100644
index 0000000..39dbeec
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.outline.expect
@@ -0,0 +1,22 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method foldInitialElements() → void
+  ;
+static method foldInitialSpread1() → void
+  ;
+static method foldInitialSpread2([has-declared-initializer core::bool c]) → void
+  ;
+static method foldInitialSpread3([has-declared-initializer core::bool c]) → void
+  ;
+static method foldInitialSpread4([has-declared-initializer core::bool c]) → void
+  ;
+static method foldInitialSpread5([has-declared-initializer core::bool c]) → void
+  ;
+static method foldInitialSpread6([has-declared-initializer core::bool c]) → 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/fold_initial2.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.transformed.expect
new file mode 100644
index 0000000..a52dccb
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/fold_initial2.dart.weak.transformed.expect
@@ -0,0 +1,215 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method foldInitialElements() → void {
+  dynamic element0 = 0;
+  core::int? element1 = 1;
+  core::int element2 = 2;
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t1 = core::_GrowableList::_literal3<core::int?>(element0 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?, element1{core::int}, element2);
+    if(true)
+      #t1.{core::List::add}{Invariant}(3){(core::int?) → void};
+    #t1.{core::List::add}{Invariant}(4){(core::int?) → void};
+    #t1.{core::List::add}{Invariant}(5){(core::int?) → void};
+    #t1.{core::List::add}{Invariant}(6){(core::int?) → void};
+  } =>#t1;
+  self::expect(core::_GrowableList::generate<core::int?>(7, (core::int? i) → core::int? => i), list);
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t2 = new col::_CompactLinkedHashSet::•<core::int?>();
+    #t2.{core::Set::add}{Invariant}(element0 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(element1{core::int}){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(element2){(core::int?) → core::bool};
+    if(true)
+      #t2.{core::Set::add}{Invariant}(3){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(4){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(5){(core::int?) → core::bool};
+    #t2.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+  } =>#t2;
+  self::expect(core::_GrowableList::generate<core::int?>(7, (core::int? i) → core::int? => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int?>});
+}
+static method foldInitialSpread1() → void {
+  dynamic initial = core::_GrowableList::_literal3<core::int>(0, 1, 2);
+  core::List<core::int> list = block {
+    final core::List<core::int> #t3 = core::_GrowableList::•<core::int>(0);
+    {
+      core::Iterator<dynamic> :sync-for-iterator = (initial as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t5 = #t4 as{TypeError,ForNonNullableByDefault} core::int;
+          #t3.{core::List::add}{Invariant}(#t5){(core::int) → void};
+        }
+      }
+    }
+    if(true)
+      #t3.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t3.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t3.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t3.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t3;
+  self::expect(core::_GrowableList::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t6 = new col::_CompactLinkedHashSet::•<core::int>();
+    {
+      core::Iterator<dynamic> :sync-for-iterator = (initial as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t8 = #t7 as{TypeError,ForNonNullableByDefault} core::int;
+          #t6.{core::Set::add}{Invariant}(#t8){(core::int) → core::bool};
+        }
+      }
+    }
+    if(true)
+      #t6.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t6.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t6.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t6.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t6;
+  self::expect(core::_GrowableList::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method foldInitialSpread2([core::bool c = #C1]) → void {
+  core::Iterable<core::int?> initial = core::_GrowableList::_literal3<core::int?>(0, 1, 2);
+  if(c) {
+    initial = core::_GrowableList::_literal1<core::int?>(null);
+  }
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t9 = core::List::of<core::int?>(initial);
+    if(true)
+      #t9.{core::List::add}{Invariant}(3){(core::int?) → void};
+    #t9.{core::List::add}{Invariant}(4){(core::int?) → void};
+    #t9.{core::List::add}{Invariant}(5){(core::int?) → void};
+    #t9.{core::List::add}{Invariant}(6){(core::int?) → void};
+  } =>#t9;
+  self::expect(core::_GrowableList::generate<core::int?>(7, (core::int? i) → core::int? => i), list);
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t10 = col::LinkedHashSet::of<core::int?>(initial);
+    if(true)
+      #t10.{core::Set::add}{Invariant}(3){(core::int?) → core::bool};
+    #t10.{core::Set::add}{Invariant}(4){(core::int?) → core::bool};
+    #t10.{core::Set::add}{Invariant}(5){(core::int?) → core::bool};
+    #t10.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+  } =>#t10;
+  self::expect(core::_GrowableList::generate<core::int?>(7, (core::int? i) → core::int? => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int?>});
+}
+static method foldInitialSpread3([core::bool c = #C1]) → void {
+  core::List<core::int?> initial = core::_GrowableList::_literal3<core::int?>(0, 1, 2);
+  if(c) {
+    initial = core::_GrowableList::_literal1<core::int?>(null);
+  }
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t11 = core::List::of<core::int?>(initial);
+    if(true)
+      #t11.{core::List::add}{Invariant}(3){(core::int?) → void};
+    #t11.{core::List::add}{Invariant}(4){(core::int?) → void};
+    #t11.{core::List::add}{Invariant}(5){(core::int?) → void};
+    #t11.{core::List::add}{Invariant}(6){(core::int?) → void};
+  } =>#t11;
+  self::expect(core::_GrowableList::generate<core::int?>(7, (core::int? i) → core::int? => i), list);
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t12 = col::LinkedHashSet::of<core::int?>(initial);
+    if(true)
+      #t12.{core::Set::add}{Invariant}(3){(core::int?) → core::bool};
+    #t12.{core::Set::add}{Invariant}(4){(core::int?) → core::bool};
+    #t12.{core::Set::add}{Invariant}(5){(core::int?) → core::bool};
+    #t12.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+  } =>#t12;
+  self::expect(core::_GrowableList::generate<core::int?>(7, (core::int? i) → core::int? => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int?>});
+}
+static method foldInitialSpread4([core::bool c = #C1]) → void {
+  core::Iterable<core::int> initial = core::_GrowableList::_literal3<core::int>(0, 1, 2);
+  core::List<core::int> list = block {
+    final core::List<core::int> #t13 = core::List::of<core::int>(initial);
+    if(true)
+      #t13.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t13.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t13.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t13.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t13;
+  self::expect(core::_GrowableList::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t14 = col::LinkedHashSet::of<core::int>(initial);
+    if(true)
+      #t14.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t14.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t14.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t14.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t14;
+  self::expect(core::_GrowableList::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method foldInitialSpread5([core::bool c = #C1]) → void {
+  core::List<core::int> initial = core::_GrowableList::_literal3<core::int>(0, 1, 2);
+  core::List<core::int> list = block {
+    final core::List<core::int> #t15 = core::List::of<core::int>(initial);
+    if(true)
+      #t15.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t15.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t15.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t15.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t15;
+  self::expect(core::_GrowableList::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t16 = col::LinkedHashSet::of<core::int>(initial);
+    if(true)
+      #t16.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t16.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t16.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t16.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t16;
+  self::expect(core::_GrowableList::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method foldInitialSpread6([core::bool c = #C1]) → void {
+  core::List<core::int>? initial = core::_GrowableList::_literal3<core::int>(0, 1, 2);
+  if(c) {
+    initial = null;
+  }
+  core::List<core::int> list = block {
+    final core::List<core::int> #t17 = core::_GrowableList::•<core::int>(0);
+    final core::Iterable<core::int>? #t18 = initial;
+    if(!(#t18 == null))
+      #t17.{core::List::addAll}{Invariant}(#t18{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    if(true)
+      #t17.{core::List::add}{Invariant}(3){(core::int) → void};
+    #t17.{core::List::add}{Invariant}(4){(core::int) → void};
+    #t17.{core::List::add}{Invariant}(5){(core::int) → void};
+    #t17.{core::List::add}{Invariant}(6){(core::int) → void};
+  } =>#t17;
+  self::expect(core::_GrowableList::generate<core::int>(7, (core::int i) → core::int => i), list);
+  core::Set<core::int> set = block {
+    final core::Set<core::int> #t19 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t20 = initial;
+    if(!(#t20 == null))
+      #t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    if(true)
+      #t19.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(6){(core::int) → core::bool};
+  } =>#t19;
+  self::expect(core::_GrowableList::generate<core::int>(7, (core::int i) → core::int => i), set.{core::Iterable::toList}(){({growable: core::bool}) → core::List<core::int>});
+}
+static method main() → dynamic {
+  self::foldInitialElements();
+  self::foldInitialSpread1();
+  self::foldInitialSpread2();
+  self::foldInitialSpread3();
+  self::foldInitialSpread4();
+  self::foldInitialSpread5();
+  self::foldInitialSpread6();
+}
+static method expect(core::List<dynamic> list1, core::List<dynamic> list2) → void {
+  if(!(list1.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} list2.{core::List::length}{core::int})) {
+    throw "Unexpected length. Expected ${list1.{core::List::length}{core::int}}, actual ${list2.{core::List::length}{core::int}}.";
+  }
+  for (core::int i = 0; i.{core::num::<}(list1.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+    if(!(list1.{core::List::[]}(i){(core::int) → dynamic} =={core::Object::==}{(core::Object) → core::bool} list2.{core::List::[]}(i){(core::int) → dynamic})) {
+      throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int) → dynamic}}, actual ${list2.{core::List::[]}(i){(core::int) → dynamic}}.";
+    }
+  }
+}
+
+constants  {
+  #C1 = false
+}
diff --git a/pkg/front_end/testcases/unified_collections/invariance2.dart b/pkg/front_end/testcases/unified_collections/invariance2.dart
new file mode 100644
index 0000000..a4c812f
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance2.dart
@@ -0,0 +1,26 @@
+// 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.
+
+main() {
+  var list1 = <int>[0];
+  var list2 = <int?>[0];
+  dynamic list3 = <int>[0];
+  var list = <int?>[0, ...list1, ...list2, ...list3, if (true) 2];
+
+  var set1 = <int>{0};
+  var set2 = <int?>{0};
+  dynamic set3 = <int>{0};
+  var set = <int?>{0, ...set1, ...set2, ...set3, if (true) 2};
+
+  var map1 = <int, String>{0: 'foo'};
+  var map2 = <int?, String?>{0: 'bar'};
+  dynamic map3 = <int, String>{0: 'baz'};
+  var map = <int?, String?>{
+    0: 'foo',
+    ...map1,
+    ...map2,
+    ...map3,
+    if (true) 2: 'baz'
+  };
+}
diff --git a/pkg/front_end/testcases/unified_collections/invariance2.dart.textual_outline.expect b/pkg/front_end/testcases/unified_collections/invariance2.dart.textual_outline.expect
new file mode 100644
index 0000000..bae895a
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance2.dart.textual_outline.expect
@@ -0,0 +1 @@
+main() {}
diff --git a/pkg/front_end/testcases/unified_collections/invariance2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/unified_collections/invariance2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..bae895a
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance2.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+main() {}
diff --git a/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.expect b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.expect
new file mode 100644
index 0000000..010c0de
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.expect
@@ -0,0 +1,63 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method main() → dynamic {
+  core::List<core::int> list1 = <core::int>[0];
+  core::List<core::int?> list2 = <core::int?>[0];
+  dynamic list3 = <core::int>[0];
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t1 = <core::int?>[0];
+    #t1.{core::List::addAll}{Invariant}(list1){(core::Iterable<core::int?>) → void};
+    #t1.{core::List::addAll}{Invariant}(list2){(core::Iterable<core::int?>) → void};
+    for (final has-declared-initializer dynamic #t2 in list3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int? #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int?;
+      #t1.{core::List::add}{Invariant}(#t3){(core::int?) → void};
+    }
+    if(true)
+      #t1.{core::List::add}{Invariant}(2){(core::int?) → void};
+  } =>#t1;
+  core::Set<core::int> set1 = block {
+    final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
+    #t4.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+  } =>#t4;
+  core::Set<core::int?> set2 = block {
+    final core::Set<core::int?> #t5 = col::LinkedHashSet::•<core::int?>();
+    #t5.{core::Set::add}{Invariant}(0){(core::int?) → core::bool};
+  } =>#t5;
+  dynamic set3 = block {
+    final core::Set<core::int> #t6 = col::LinkedHashSet::•<core::int>();
+    #t6.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+  } =>#t6;
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t7 = col::LinkedHashSet::•<core::int?>();
+    #t7.{core::Set::add}{Invariant}(0){(core::int?) → core::bool};
+    #t7.{core::Set::addAll}{Invariant}(set1){(core::Iterable<core::int?>) → void};
+    #t7.{core::Set::addAll}{Invariant}(set2){(core::Iterable<core::int?>) → void};
+    for (final has-declared-initializer dynamic #t8 in set3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int? #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int?;
+      #t7.{core::Set::add}{Invariant}(#t9){(core::int?) → core::bool};
+    }
+    if(true)
+      #t7.{core::Set::add}{Invariant}(2){(core::int?) → core::bool};
+  } =>#t7;
+  core::Map<core::int, core::String> map1 = <core::int, core::String>{0: "foo"};
+  core::Map<core::int?, core::String?> map2 = <core::int?, core::String?>{0: "bar"};
+  dynamic map3 = <core::int, core::String>{0: "baz"};
+  core::Map<core::int?, core::String?> map = block {
+    final core::Map<core::int?, core::String?> #t10 = <core::int?, core::String?>{};
+    #t10.{core::Map::[]=}{Invariant}(0, "foo"){(core::int?, core::String?) → void};
+    for (final has-declared-initializer core::MapEntry<core::int?, core::String?> #t11 in map1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>})
+      #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{core::int?}, #t11.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
+    for (final has-declared-initializer core::MapEntry<core::int?, core::String?> #t12 in map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>})
+      #t10.{core::Map::[]=}{Invariant}(#t12.{core::MapEntry::key}{core::int?}, #t12.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t13 in (map3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}) {
+      final core::int? #t14 = #t13.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+      final core::String? #t15 = #t13.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::String?;
+      #t10.{core::Map::[]=}{Invariant}(#t14, #t15){(core::int?, core::String?) → void};
+    }
+    if(true)
+      #t10.{core::Map::[]=}{Invariant}(2, "baz"){(core::int?, core::String?) → void};
+  } =>#t10;
+}
diff --git a/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.modular.expect
new file mode 100644
index 0000000..010c0de
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.modular.expect
@@ -0,0 +1,63 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method main() → dynamic {
+  core::List<core::int> list1 = <core::int>[0];
+  core::List<core::int?> list2 = <core::int?>[0];
+  dynamic list3 = <core::int>[0];
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t1 = <core::int?>[0];
+    #t1.{core::List::addAll}{Invariant}(list1){(core::Iterable<core::int?>) → void};
+    #t1.{core::List::addAll}{Invariant}(list2){(core::Iterable<core::int?>) → void};
+    for (final has-declared-initializer dynamic #t2 in list3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int? #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int?;
+      #t1.{core::List::add}{Invariant}(#t3){(core::int?) → void};
+    }
+    if(true)
+      #t1.{core::List::add}{Invariant}(2){(core::int?) → void};
+  } =>#t1;
+  core::Set<core::int> set1 = block {
+    final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
+    #t4.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+  } =>#t4;
+  core::Set<core::int?> set2 = block {
+    final core::Set<core::int?> #t5 = col::LinkedHashSet::•<core::int?>();
+    #t5.{core::Set::add}{Invariant}(0){(core::int?) → core::bool};
+  } =>#t5;
+  dynamic set3 = block {
+    final core::Set<core::int> #t6 = col::LinkedHashSet::•<core::int>();
+    #t6.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+  } =>#t6;
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t7 = col::LinkedHashSet::•<core::int?>();
+    #t7.{core::Set::add}{Invariant}(0){(core::int?) → core::bool};
+    #t7.{core::Set::addAll}{Invariant}(set1){(core::Iterable<core::int?>) → void};
+    #t7.{core::Set::addAll}{Invariant}(set2){(core::Iterable<core::int?>) → void};
+    for (final has-declared-initializer dynamic #t8 in set3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int? #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int?;
+      #t7.{core::Set::add}{Invariant}(#t9){(core::int?) → core::bool};
+    }
+    if(true)
+      #t7.{core::Set::add}{Invariant}(2){(core::int?) → core::bool};
+  } =>#t7;
+  core::Map<core::int, core::String> map1 = <core::int, core::String>{0: "foo"};
+  core::Map<core::int?, core::String?> map2 = <core::int?, core::String?>{0: "bar"};
+  dynamic map3 = <core::int, core::String>{0: "baz"};
+  core::Map<core::int?, core::String?> map = block {
+    final core::Map<core::int?, core::String?> #t10 = <core::int?, core::String?>{};
+    #t10.{core::Map::[]=}{Invariant}(0, "foo"){(core::int?, core::String?) → void};
+    for (final has-declared-initializer core::MapEntry<core::int?, core::String?> #t11 in map1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>})
+      #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{core::int?}, #t11.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
+    for (final has-declared-initializer core::MapEntry<core::int?, core::String?> #t12 in map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>})
+      #t10.{core::Map::[]=}{Invariant}(#t12.{core::MapEntry::key}{core::int?}, #t12.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t13 in (map3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}) {
+      final core::int? #t14 = #t13.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+      final core::String? #t15 = #t13.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::String?;
+      #t10.{core::Map::[]=}{Invariant}(#t14, #t15){(core::int?, core::String?) → void};
+    }
+    if(true)
+      #t10.{core::Map::[]=}{Invariant}(2, "baz"){(core::int?, core::String?) → void};
+  } =>#t10;
+}
diff --git a/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.outline.expect
new file mode 100644
index 0000000..e2cba6b
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.outline.expect
@@ -0,0 +1,5 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.transformed.expect
new file mode 100644
index 0000000..14be25b
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.transformed.expect
@@ -0,0 +1,91 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method main() → dynamic {
+  core::List<core::int> list1 = core::_GrowableList::_literal1<core::int>(0);
+  core::List<core::int?> list2 = core::_GrowableList::_literal1<core::int?>(0);
+  dynamic list3 = core::_GrowableList::_literal1<core::int>(0);
+  core::List<core::int?> list = block {
+    final core::List<core::int?> #t1 = core::_GrowableList::_literal1<core::int?>(0);
+    #t1.{core::List::addAll}{Invariant}(list1){(core::Iterable<core::int?>) → void};
+    #t1.{core::List::addAll}{Invariant}(list2){(core::Iterable<core::int?>) → void};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = (list3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int? #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int?;
+          #t1.{core::List::add}{Invariant}(#t3){(core::int?) → void};
+        }
+      }
+    }
+    if(true)
+      #t1.{core::List::add}{Invariant}(2){(core::int?) → void};
+  } =>#t1;
+  core::Set<core::int> set1 = block {
+    final core::Set<core::int> #t4 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t4.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+  } =>#t4;
+  core::Set<core::int?> set2 = block {
+    final core::Set<core::int?> #t5 = new col::_CompactLinkedHashSet::•<core::int?>();
+    #t5.{core::Set::add}{Invariant}(0){(core::int?) → core::bool};
+  } =>#t5;
+  dynamic set3 = block {
+    final core::Set<core::int> #t6 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t6.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+  } =>#t6;
+  core::Set<core::int?> set = block {
+    final core::Set<core::int?> #t7 = new col::_CompactLinkedHashSet::•<core::int?>();
+    #t7.{core::Set::add}{Invariant}(0){(core::int?) → core::bool};
+    #t7.{core::Set::addAll}{Invariant}(set1){(core::Iterable<core::int?>) → void};
+    #t7.{core::Set::addAll}{Invariant}(set2){(core::Iterable<core::int?>) → void};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = (set3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int? #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int?;
+          #t7.{core::Set::add}{Invariant}(#t9){(core::int?) → core::bool};
+        }
+      }
+    }
+    if(true)
+      #t7.{core::Set::add}{Invariant}(2){(core::int?) → core::bool};
+  } =>#t7;
+  core::Map<core::int, core::String> map1 = <core::int, core::String>{0: "foo"};
+  core::Map<core::int?, core::String?> map2 = <core::int?, core::String?>{0: "bar"};
+  dynamic map3 = <core::int, core::String>{0: "baz"};
+  core::Map<core::int?, core::String?> map = block {
+    final core::Map<core::int?, core::String?> #t10 = <core::int?, core::String?>{};
+    #t10.{core::Map::[]=}{Invariant}(0, "foo"){(core::int?, core::String?) → void};
+    {
+      core::Iterator<core::MapEntry<core::int?, core::String?>> :sync-for-iterator = map1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int?, core::String?>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<core::int?, core::String?> #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int?, core::String?>};
+        #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{core::int?}, #t11.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::int?, core::String?>> :sync-for-iterator = map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int?, core::String?>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<core::int?, core::String?> #t12 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int?, core::String?>};
+        #t10.{core::Map::[]=}{Invariant}(#t12.{core::MapEntry::key}{core::int?}, #t12.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::int?, core::String?>> :sync-for-iterator = (map3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int?, core::String?>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int?, core::String?>};
+        {
+          final core::int? #t14 = #t13.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+          final core::String? #t15 = #t13.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::String?;
+          #t10.{core::Map::[]=}{Invariant}(#t14, #t15){(core::int?, core::String?) → void};
+        }
+      }
+    }
+    if(true)
+      #t10.{core::Map::[]=}{Invariant}(2, "baz"){(core::int?, core::String?) → void};
+  } =>#t10;
+}
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart b/pkg/front_end/testcases/unified_collections/mixed_entries.dart
index fa03bc7..55810a0 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// @dart=2.9
-
 bool b = false;
 
 var list = [];
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.textual_outline.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.textual_outline.expect
index 147bb36..480a19e 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 bool b = false;
 var list = [];
 var map0 = {};
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.textual_outline_modelled.expect
index 1f1b82d..1843b5c 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 bool b = false;
 main() {}
 var error10 = {
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect
index 4389b70..a85bfed 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect
@@ -1,176 +1,176 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // 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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:33: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:34: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:41: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:42: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};
 //                      ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:37:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error6 = {
 //              ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:40:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:38:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error7 = {
 //              ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:45:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:43:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error10 = {
 //               ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:48:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:46:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error11 = {
 //               ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:51:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:49:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error12 = {
 //               ^
 //
 import self as self;
 import "dart:core" as core;
 
-static field core::bool* b = false;
-static field core::List<dynamic>* list = <dynamic>[];
-static field core::Map<dynamic, dynamic>* map0 = <dynamic, dynamic>{};
-static field core::Map<dynamic, dynamic>* map1 = block {
-  final core::Map<dynamic, dynamic>* #t1 = <dynamic, dynamic>{};
+static field core::bool b = false;
+static field core::List<dynamic> list = <dynamic>[];
+static field core::Map<dynamic, dynamic> map0 = <dynamic, dynamic>{};
+static field core::Map<dynamic, dynamic> map1 = block {
+  final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
   if(self::b)
-    #t1.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) →* void};
+    #t1.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
   else
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t2 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t2 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
 } =>#t1;
-static field core::Map<dynamic, dynamic>* map2 = block {
-  final core::Map<dynamic, dynamic>* #t3 = <dynamic, dynamic>{};
+static field core::Map<dynamic, dynamic> map2 = block {
+  final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
   if(self::b)
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t4 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t4 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
   else
-    #t3.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) →* void};
+    #t3.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
 } =>#t3;
-static field core::Map<dynamic, dynamic>* map3 = block {
-  final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
+static field core::Map<dynamic, dynamic> map3 = block {
+  final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
   if(self::b)
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t6 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t6 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
   else
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t7 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t7 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+      #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
 } =>#t5;
-static field core::Map<dynamic, core::int*>* map4 = block {
-  final core::Map<dynamic, core::int*>* #t8 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map4 = block {
+  final core::Map<dynamic, core::int> #t8 = <dynamic, core::int>{};
   if(self::b)
-    #t8.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t8.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
     for (dynamic a in self::list)
-      #t8.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int*) →* void};
+      #t8.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
 } =>#t8;
-static field core::Map<dynamic, core::int*>* map5 = block {
-  final core::Map<dynamic, core::int*>* #t9 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map5 = block {
+  final core::Map<dynamic, core::int> #t9 = <dynamic, core::int>{};
   if(self::b)
     for (dynamic a in self::list)
-      #t9.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int*) →* void};
+      #t9.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
   else
-    #t9.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t9.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t9;
-static field core::Map<dynamic, core::int*>* map6 = block {
-  final core::Map<dynamic, core::int*>* #t10 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map6 = block {
+  final core::Map<dynamic, core::int> #t10 = <dynamic, core::int>{};
   if(self::b)
-    #t10.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t10.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
     for (dynamic a in self::list)
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int*>* #t11 in <dynamic, core::int*>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>})
-        #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{dynamic}, #t11.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t11 in <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
+        #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{dynamic}, #t11.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
 } =>#t10;
-static field core::Map<dynamic, core::int*>* map7 = block {
-  final core::Map<dynamic, core::int*>* #t12 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map7 = block {
+  final core::Map<dynamic, core::int> #t12 = <dynamic, core::int>{};
   if(self::b)
     for (dynamic a in self::list)
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int*>* #t13 in <dynamic, core::int*>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>})
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{dynamic}, #t13.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t13 in <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
+        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{dynamic}, #t13.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
   else
-    #t12.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t12.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t12;
-static field core::Map<dynamic, core::int*>* map8 = block {
-  final core::Map<dynamic, core::int*>* #t14 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map8 = block {
+  final core::Map<dynamic, core::int> #t14 = <dynamic, core::int>{};
   if(self::b)
-    #t14.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t14.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int*) →* dynamic}, 1){(dynamic, core::int*) →* void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
 } =>#t14;
-static field core::Map<dynamic, core::int*>* map9 = block {
-  final core::Map<dynamic, core::int*>* #t15 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map9 = block {
+  final core::Map<dynamic, core::int> #t15 = <dynamic, core::int>{};
   if(self::b)
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int*) →* dynamic}, 1){(dynamic, core::int*) →* void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
   else
-    #t15.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t15.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t15;
-static field core::Map<dynamic, core::int*>* map10 = block {
-  final core::Map<dynamic, core::int*>* #t16 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map10 = block {
+  final core::Map<dynamic, core::int> #t16 = <dynamic, core::int>{};
   if(self::b)
-    #t16.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t16.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int*>* #t17 in <dynamic, core::int*>{self::list.{core::List::[]}(i){(core::int*) →* dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>})
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{dynamic}, #t17.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t17 in <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
+        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{dynamic}, #t17.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
 } =>#t16;
-static field core::Map<dynamic, core::int*>* map11 = block {
-  final core::Map<dynamic, core::int*>* #t18 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map11 = block {
+  final core::Map<dynamic, core::int> #t18 = <dynamic, core::int>{};
   if(self::b)
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int*>* #t19 in <dynamic, core::int*>{self::list.{core::List::[]}(i){(core::int*) →* dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>})
-        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t19 in <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
+        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
   else
-    #t18.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t18.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t18;
-static field core::Map<core::int*, core::int*>* map12 = block {
-  final core::Map<core::int*, core::int*>* #t20 = <core::int*, core::int*>{};
+static field core::Map<core::int, core::int> map12 = block {
+  final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
   if(self::b)
-    #t20.{core::Map::[]=}{Invariant}(0, 1){(core::int*, core::int*) →* void};
+    #t20.{core::Map::[]=}{Invariant}(0, 1){(core::int, core::int) → void};
   else
     if(self::b)
-      for (final has-declared-initializer core::MapEntry<core::int*, core::int*>* #t21 in <core::int*, core::int*>{0: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>})
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::int*}, #t21.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t21 in <core::int, core::int>{0: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
+        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::int}, #t21.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
 } =>#t20;
-static field core::Map<invalid-type, Null>* error4 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error4 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:33: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};
                                ^": null};
-static field core::Map<invalid-type, Null>* error5 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:36:22: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error5 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:34: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};
                      ^": null};
-static field Null error6 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:37:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error6 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error6 = {
              ^";
-static field Null error7 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:40:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error7 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:38:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error7 = {
              ^";
-static field core::Map<invalid-type, Null>* error8 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:43:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error8 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:41: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]};
                                ^": null};
-static field core::Map<invalid-type, Null>* error9 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:44:22: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error9 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:42: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};
                      ^": null};
-static field Null error10 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:45:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error10 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:43:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error10 = {
               ^";
-static field Null error11 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:48:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error11 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:46:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error11 = {
               ^";
-static field Null error12 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:51:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error12 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:49:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error12 = {
               ^";
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.modular.expect
index 4389b70..a85bfed 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.modular.expect
@@ -1,176 +1,176 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // 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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:33: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:34: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:41: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:42: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};
 //                      ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:37:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error6 = {
 //              ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:40:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:38:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error7 = {
 //              ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:45:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:43:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error10 = {
 //               ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:48:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:46:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error11 = {
 //               ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:51:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:49:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error12 = {
 //               ^
 //
 import self as self;
 import "dart:core" as core;
 
-static field core::bool* b = false;
-static field core::List<dynamic>* list = <dynamic>[];
-static field core::Map<dynamic, dynamic>* map0 = <dynamic, dynamic>{};
-static field core::Map<dynamic, dynamic>* map1 = block {
-  final core::Map<dynamic, dynamic>* #t1 = <dynamic, dynamic>{};
+static field core::bool b = false;
+static field core::List<dynamic> list = <dynamic>[];
+static field core::Map<dynamic, dynamic> map0 = <dynamic, dynamic>{};
+static field core::Map<dynamic, dynamic> map1 = block {
+  final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
   if(self::b)
-    #t1.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) →* void};
+    #t1.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
   else
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t2 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t2 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
 } =>#t1;
-static field core::Map<dynamic, dynamic>* map2 = block {
-  final core::Map<dynamic, dynamic>* #t3 = <dynamic, dynamic>{};
+static field core::Map<dynamic, dynamic> map2 = block {
+  final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
   if(self::b)
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t4 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t4 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
   else
-    #t3.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) →* void};
+    #t3.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
 } =>#t3;
-static field core::Map<dynamic, dynamic>* map3 = block {
-  final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
+static field core::Map<dynamic, dynamic> map3 = block {
+  final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
   if(self::b)
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t6 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t6 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
   else
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t7 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t7 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+      #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
 } =>#t5;
-static field core::Map<dynamic, core::int*>* map4 = block {
-  final core::Map<dynamic, core::int*>* #t8 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map4 = block {
+  final core::Map<dynamic, core::int> #t8 = <dynamic, core::int>{};
   if(self::b)
-    #t8.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t8.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
     for (dynamic a in self::list)
-      #t8.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int*) →* void};
+      #t8.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
 } =>#t8;
-static field core::Map<dynamic, core::int*>* map5 = block {
-  final core::Map<dynamic, core::int*>* #t9 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map5 = block {
+  final core::Map<dynamic, core::int> #t9 = <dynamic, core::int>{};
   if(self::b)
     for (dynamic a in self::list)
-      #t9.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int*) →* void};
+      #t9.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
   else
-    #t9.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t9.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t9;
-static field core::Map<dynamic, core::int*>* map6 = block {
-  final core::Map<dynamic, core::int*>* #t10 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map6 = block {
+  final core::Map<dynamic, core::int> #t10 = <dynamic, core::int>{};
   if(self::b)
-    #t10.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t10.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
     for (dynamic a in self::list)
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int*>* #t11 in <dynamic, core::int*>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>})
-        #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{dynamic}, #t11.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t11 in <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
+        #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{dynamic}, #t11.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
 } =>#t10;
-static field core::Map<dynamic, core::int*>* map7 = block {
-  final core::Map<dynamic, core::int*>* #t12 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map7 = block {
+  final core::Map<dynamic, core::int> #t12 = <dynamic, core::int>{};
   if(self::b)
     for (dynamic a in self::list)
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int*>* #t13 in <dynamic, core::int*>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>})
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{dynamic}, #t13.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t13 in <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
+        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{dynamic}, #t13.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
   else
-    #t12.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t12.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t12;
-static field core::Map<dynamic, core::int*>* map8 = block {
-  final core::Map<dynamic, core::int*>* #t14 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map8 = block {
+  final core::Map<dynamic, core::int> #t14 = <dynamic, core::int>{};
   if(self::b)
-    #t14.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t14.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int*) →* dynamic}, 1){(dynamic, core::int*) →* void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
 } =>#t14;
-static field core::Map<dynamic, core::int*>* map9 = block {
-  final core::Map<dynamic, core::int*>* #t15 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map9 = block {
+  final core::Map<dynamic, core::int> #t15 = <dynamic, core::int>{};
   if(self::b)
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int*) →* dynamic}, 1){(dynamic, core::int*) →* void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
   else
-    #t15.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t15.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t15;
-static field core::Map<dynamic, core::int*>* map10 = block {
-  final core::Map<dynamic, core::int*>* #t16 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map10 = block {
+  final core::Map<dynamic, core::int> #t16 = <dynamic, core::int>{};
   if(self::b)
-    #t16.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t16.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int*>* #t17 in <dynamic, core::int*>{self::list.{core::List::[]}(i){(core::int*) →* dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>})
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{dynamic}, #t17.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t17 in <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
+        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{dynamic}, #t17.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
 } =>#t16;
-static field core::Map<dynamic, core::int*>* map11 = block {
-  final core::Map<dynamic, core::int*>* #t18 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map11 = block {
+  final core::Map<dynamic, core::int> #t18 = <dynamic, core::int>{};
   if(self::b)
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int*>* #t19 in <dynamic, core::int*>{self::list.{core::List::[]}(i){(core::int*) →* dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>})
-        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t19 in <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
+        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
   else
-    #t18.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t18.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t18;
-static field core::Map<core::int*, core::int*>* map12 = block {
-  final core::Map<core::int*, core::int*>* #t20 = <core::int*, core::int*>{};
+static field core::Map<core::int, core::int> map12 = block {
+  final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
   if(self::b)
-    #t20.{core::Map::[]=}{Invariant}(0, 1){(core::int*, core::int*) →* void};
+    #t20.{core::Map::[]=}{Invariant}(0, 1){(core::int, core::int) → void};
   else
     if(self::b)
-      for (final has-declared-initializer core::MapEntry<core::int*, core::int*>* #t21 in <core::int*, core::int*>{0: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>})
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::int*}, #t21.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t21 in <core::int, core::int>{0: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
+        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::int}, #t21.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
 } =>#t20;
-static field core::Map<invalid-type, Null>* error4 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error4 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:33: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};
                                ^": null};
-static field core::Map<invalid-type, Null>* error5 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:36:22: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error5 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:34: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};
                      ^": null};
-static field Null error6 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:37:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error6 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error6 = {
              ^";
-static field Null error7 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:40:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error7 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:38:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error7 = {
              ^";
-static field core::Map<invalid-type, Null>* error8 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:43:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error8 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:41: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]};
                                ^": null};
-static field core::Map<invalid-type, Null>* error9 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:44:22: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error9 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:42: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};
                      ^": null};
-static field Null error10 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:45:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error10 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:43:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error10 = {
               ^";
-static field Null error11 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:48:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error11 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:46:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error11 = {
               ^";
-static field Null error12 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:51:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error12 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:49:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error12 = {
               ^";
 static method main() → dynamic {}
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
index 142ef6b..9649040 100644
--- 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
@@ -1,49 +1,49 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // 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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:33: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:34: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:41: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:42: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<invalid-type, Null>* error4;
-static field core::Map<invalid-type, Null>* error5;
-static field Null error6;
-static field Null error7;
-static field core::Map<invalid-type, Null>* error8;
-static field core::Map<invalid-type, Null>* error9;
-static field Null error10;
-static field Null error11;
-static field Null error12;
+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 Never error6;
+static field Never error7;
+static field core::Map<dynamic, Null> error8;
+static field core::Map<dynamic, Null> error9;
+static field Never error10;
+static field Never error11;
+static field Never error12;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect
index c14132e..03bc08b 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect
@@ -1,230 +1,230 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // 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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:33: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:34: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:41: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.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:42: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};
 //                      ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:37:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error6 = {
 //              ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:40:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:38:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error7 = {
 //              ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:45:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:43:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error10 = {
 //               ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:48:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:46:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error11 = {
 //               ^
 //
-// pkg/front_end/testcases/unified_collections/mixed_entries.dart:51:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:49:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 // var error12 = {
 //               ^
 //
 import self as self;
 import "dart:core" as core;
 
-static field core::bool* b = false;
-static field core::List<dynamic>* list = core::_GrowableList::•<dynamic>(0);
-static field core::Map<dynamic, dynamic>* map0 = <dynamic, dynamic>{};
-static field core::Map<dynamic, dynamic>* map1 = block {
-  final core::Map<dynamic, dynamic>* #t1 = <dynamic, dynamic>{};
+static field core::bool b = false;
+static field core::List<dynamic> list = core::_GrowableList::•<dynamic>(0);
+static field core::Map<dynamic, dynamic> map0 = <dynamic, dynamic>{};
+static field core::Map<dynamic, dynamic> map1 = block {
+  final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
   if(self::b)
-    #t1.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) →* void};
+    #t1.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
   else {
-    core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic>* #t2 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+      final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
+      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
     }
   }
 } =>#t1;
-static field core::Map<dynamic, dynamic>* map2 = block {
-  final core::Map<dynamic, dynamic>* #t3 = <dynamic, dynamic>{};
+static field core::Map<dynamic, dynamic> map2 = block {
+  final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
   if(self::b) {
-    core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic>* #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+      final core::MapEntry<dynamic, dynamic> #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
+      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
     }
   }
   else
-    #t3.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) →* void};
+    #t3.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
 } =>#t3;
-static field core::Map<dynamic, dynamic>* map3 = block {
-  final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
+static field core::Map<dynamic, dynamic> map3 = block {
+  final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
   if(self::b) {
-    core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+      final core::MapEntry<dynamic, dynamic> #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
+      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
     }
   }
   else {
-    core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic>* #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+      final core::MapEntry<dynamic, dynamic> #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
+      #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
     }
   }
 } =>#t5;
-static field core::Map<dynamic, core::int*>* map4 = block {
-  final core::Map<dynamic, core::int*>* #t8 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map4 = block {
+  final core::Map<dynamic, core::int> #t8 = <dynamic, core::int>{};
   if(self::b)
-    #t8.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t8.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else {
-    core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
       dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
-      #t8.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int*) →* void};
+      #t8.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
     }
   }
 } =>#t8;
-static field core::Map<dynamic, core::int*>* map5 = block {
-  final core::Map<dynamic, core::int*>* #t9 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map5 = block {
+  final core::Map<dynamic, core::int> #t9 = <dynamic, core::int>{};
   if(self::b) {
-    core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
       dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
-      #t9.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int*) →* void};
+      #t9.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
     }
   }
   else
-    #t9.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t9.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t9;
-static field core::Map<dynamic, core::int*>* map6 = block {
-  final core::Map<dynamic, core::int*>* #t10 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map6 = block {
+  final core::Map<dynamic, core::int> #t10 = <dynamic, core::int>{};
   if(self::b)
-    #t10.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t10.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else {
-    core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
       dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
       {
-        core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int*>>*};
+        core::Iterator<core::MapEntry<dynamic, core::int>> :sync-for-iterator = <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int>>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<dynamic, core::int*>* #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int*>};
-          #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{dynamic}, #t11.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+          final core::MapEntry<dynamic, core::int> #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int>};
+          #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{dynamic}, #t11.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
         }
       }
     }
   }
 } =>#t10;
-static field core::Map<dynamic, core::int*>* map7 = block {
-  final core::Map<dynamic, core::int*>* #t12 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map7 = block {
+  final core::Map<dynamic, core::int> #t12 = <dynamic, core::int>{};
   if(self::b) {
-    core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
       dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
       {
-        core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int*>>*};
+        core::Iterator<core::MapEntry<dynamic, core::int>> :sync-for-iterator = <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int>>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<dynamic, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int*>};
-          #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{dynamic}, #t13.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+          final core::MapEntry<dynamic, core::int> #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int>};
+          #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{dynamic}, #t13.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
         }
       }
     }
   }
   else
-    #t12.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t12.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t12;
-static field core::Map<dynamic, core::int*>* map8 = block {
-  final core::Map<dynamic, core::int*>* #t14 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map8 = block {
+  final core::Map<dynamic, core::int> #t14 = <dynamic, core::int>{};
   if(self::b)
-    #t14.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t14.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int*) →* dynamic}, 1){(dynamic, core::int*) →* void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
 } =>#t14;
-static field core::Map<dynamic, core::int*>* map9 = block {
-  final core::Map<dynamic, core::int*>* #t15 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map9 = block {
+  final core::Map<dynamic, core::int> #t15 = <dynamic, core::int>{};
   if(self::b)
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int*) →* dynamic}, 1){(dynamic, core::int*) →* void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
   else
-    #t15.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t15.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t15;
-static field core::Map<dynamic, core::int*>* map10 = block {
-  final core::Map<dynamic, core::int*>* #t16 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map10 = block {
+  final core::Map<dynamic, core::int> #t16 = <dynamic, core::int>{};
   if(self::b)
-    #t16.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t16.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-      core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{self::list.{core::List::[]}(i){(core::int*) →* dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int*>>*};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      core::Iterator<core::MapEntry<dynamic, core::int>> :sync-for-iterator = <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int>>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, core::int*>* #t17 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int*>};
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{dynamic}, #t17.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+        final core::MapEntry<dynamic, core::int> #t17 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int>};
+        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{dynamic}, #t17.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
       }
     }
 } =>#t16;
-static field core::Map<dynamic, core::int*>* map11 = block {
-  final core::Map<dynamic, core::int*>* #t18 = <dynamic, core::int*>{};
+static field core::Map<dynamic, core::int> map11 = block {
+  final core::Map<dynamic, core::int> #t18 = <dynamic, core::int>{};
   if(self::b)
-    for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-      core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{self::list.{core::List::[]}(i){(core::int*) →* dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int*>>*};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      core::Iterator<core::MapEntry<dynamic, core::int>> :sync-for-iterator = <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int>>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, core::int*>* #t19 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int*>};
-        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
+        final core::MapEntry<dynamic, core::int> #t19 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int>};
+        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
       }
     }
   else
-    #t18.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int*) →* void};
+    #t18.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t18;
-static field core::Map<core::int*, core::int*>* map12 = block {
-  final core::Map<core::int*, core::int*>* #t20 = <core::int*, core::int*>{};
+static field core::Map<core::int, core::int> map12 = block {
+  final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
   if(self::b)
-    #t20.{core::Map::[]=}{Invariant}(0, 1){(core::int*, core::int*) →* void};
+    #t20.{core::Map::[]=}{Invariant}(0, 1){(core::int, core::int) → void};
   else
     if(self::b) {
-      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{0: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = <core::int, core::int>{0: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int*, core::int*>* #t21 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::int*}, #t21.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
+        final core::MapEntry<core::int, core::int> #t21 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::int}, #t21.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
       }
     }
 } =>#t20;
-static field core::Map<invalid-type, Null>* error4 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error4 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:33: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};
                                ^": null};
-static field core::Map<invalid-type, Null>* error5 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:36:22: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error5 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:34: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};
                      ^": null};
-static field Null error6 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:37:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error6 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error6 = {
              ^";
-static field Null error7 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:40:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error7 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:38:14: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error7 = {
              ^";
-static field core::Map<invalid-type, Null>* error8 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:43:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error8 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:41: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]};
                                ^": null};
-static field core::Map<invalid-type, Null>* error9 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:44:22: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field core::Map<dynamic, Null> error9 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:42: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};
                      ^": null};
-static field Null error10 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:45:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error10 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:43:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error10 = {
               ^";
-static field Null error11 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:48:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error11 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:46:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error11 = {
               ^";
-static field Null error12 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:51:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static field Never error12 = invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:49:15: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error12 = {
               ^";
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart b/pkg/front_end/testcases/unified_collections/string_concatenation.dart
index d1528c2..9d9d77c 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// @dart=2.9
-
 main() {
   bool b = false;
   ['a' 'b', if (b) 'c' 'd'];
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.textual_outline.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.textual_outline.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.textual_outline_modelled.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.expect
index 2263773..2b3d8b4 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::bool* b = false;
+  core::bool b = false;
   block {
-    final core::List<core::String*>* #t1 = <core::String*>["ab"];
+    final core::List<core::String> #t1 = <core::String>["ab"];
     if(b)
-      #t1.{core::List::add}{Invariant}("cd"){(core::String*) →* void};
+      #t1.{core::List::add}{Invariant}("cd"){(core::String) → void};
   } =>#t1;
 }
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.modular.expect
index 2263773..2b3d8b4 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.modular.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::bool* b = false;
+  core::bool b = false;
   block {
-    final core::List<core::String*>* #t1 = <core::String*>["ab"];
+    final core::List<core::String> #t1 = <core::String>["ab"];
     if(b)
-      #t1.{core::List::add}{Invariant}("cd"){(core::String*) →* void};
+      #t1.{core::List::add}{Invariant}("cd"){(core::String) → void};
   } =>#t1;
 }
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.transformed.expect
index 30ae805..bcfe99d 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.transformed.expect
@@ -1,18 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 static method main() → dynamic {
-  core::bool* b = false;
+  core::bool b = false;
   block {
-    final core::List<core::String*>* #t1 = core::_GrowableList::_literal1<core::String*>("ab");
+    final core::List<core::String> #t1 = core::_GrowableList::_literal1<core::String>("ab");
     if(b)
-      #t1.{core::List::add}{Invariant}("cd"){(core::String*) →* void};
+      #t1.{core::List::add}{Invariant}("cd"){(core::String) → void};
   } =>#t1;
 }
 
 
 Extra constant evaluation status:
-Evaluated: StringConcatenation @ org-dartlang-testcase:///string_concatenation.dart:9:3 -> StringConstant("ab")
-Evaluated: StringConcatenation @ org-dartlang-testcase:///string_concatenation.dart:9:18 -> StringConstant("cd")
+Evaluated: StringConcatenation @ org-dartlang-testcase:///string_concatenation.dart:7:3 -> StringConstant("ab")
+Evaluated: StringConcatenation @ org-dartlang-testcase:///string_concatenation.dart:7:18 -> StringConstant("cd")
 Extra constant evaluation: evaluated: 8, effectively constant: 2
diff --git a/pkg/front_end/testcases/weak.status b/pkg/front_end/testcases/weak.status
index a0bc52a4..5a91ed6 100644
--- a/pkg/front_end/testcases/weak.status
+++ b/pkg/front_end/testcases/weak.status
@@ -242,7 +242,6 @@
 rasta/issue_000041: RuntimeError
 rasta/issue_000042: RuntimeError
 rasta/issue_000044: RuntimeError
-rasta/issue_000081: RuntimeError
 rasta/malformed_const_constructor: RuntimeError
 rasta/malformed_function: RuntimeError
 rasta/mixin_library: TypeCheckError
@@ -260,11 +259,11 @@
 regress/issue_29976: RuntimeError # Tests runtime behavior of error recovery.
 regress/issue_29982: RuntimeError # Tests runtime behavior of error recovery.
 regress/issue_31180: TypeCheckError
+regress/issue_31180_2: TypeCheckError
 regress/issue_32972: RuntimeError
 regress/issue_33452: RuntimeError # Test has an intentional error
 regress/issue_34225: RuntimeError
 regress/issue_34563: RuntimeError # Test execution after recovery
-regress/issue_35177: RuntimeError
 regress/issue_35258: RuntimeError # Expected
 regress/issue_35259: RuntimeError # Expected
 regress/issue_35260: RuntimeError # Expected
@@ -274,6 +273,7 @@
 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
+set_literals/disambiguation_rule2: RuntimeError
 value_class/copy_with_call_sites: RuntimeError # Expected
 value_class/simple: RuntimeError # Expected
 value_class/value_extends_non_value: RuntimeError # Expected
diff --git a/pkg/front_end/testing.json b/pkg/front_end/testing.json
index 0b67866..2d92f0b 100644
--- a/pkg/front_end/testing.json
+++ b/pkg/front_end/testing.json
@@ -343,8 +343,10 @@
         "testcases/inference/overloaded_int_operators\\.dart$",
         "testcases/instantiate_to_bound/non_simple_many\\.dart$",
         "testcases/instantiate_to_bound/non_simple_suppress_consequence\\.dart$",
+        "testcases/rasta/switch_execution_case_t01\\.dart$",
         "testcases/rasta/switch_execution_case_t02\\.dart$",
         "testcases/set_literals/disambiguation_rule\\.dart$",
+        "testcases/set_literals/disambiguation_rule2\\.dart$",
         "tool/_fasta/abcompile\\.dart$"
       ]
     },
diff --git a/sdk/lib/isolate/isolate.dart b/sdk/lib/isolate/isolate.dart
index 60d6899..f3bd2eb 100644
--- a/sdk/lib/isolate/isolate.dart
+++ b/sdk/lib/isolate/isolate.dart
@@ -224,6 +224,9 @@
   ///
   /// Returns a future which will complete with an [Isolate] instance if the
   /// spawning succeeded. It will complete with an error otherwise.
+  ///
+  /// One can expect the base memory overhead of an isolate to be in the order
+  /// of 30 kb.
   external static Future<Isolate> spawn<T>(
       void entryPoint(T message), T message,
       {bool paused = false,
diff --git a/tests/language/if_null/assignment_behavior_runtime_26_test.dart b/tests/language/if_null/assignment_behavior_runtime_26_test.dart
index afd709b..6fe8e95 100644
--- a/tests/language/if_null/assignment_behavior_runtime_26_test.dart
+++ b/tests/language/if_null/assignment_behavior_runtime_26_test.dart
@@ -204,6 +204,9 @@
 
   yGetValue = 1;
   check(1, () => C?.x ??= y, ['C.x', 'y', 'C.x=1']);
-
+  //             ^
+  // [cfe] The class 'C' cannot be null.
+  //              ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
 
 }
diff --git a/tests/language/if_null/assignment_behavior_runtime_27_test.dart b/tests/language/if_null/assignment_behavior_runtime_27_test.dart
index 97fa09c..d932daa 100644
--- a/tests/language/if_null/assignment_behavior_runtime_27_test.dart
+++ b/tests/language/if_null/assignment_behavior_runtime_27_test.dart
@@ -206,4 +206,8 @@
 
   yGetValue = 1;
   check(1, () => h.C?.x ??= y, ['h.C.x', 'y', 'h.C.x=1']);
+  //               ^
+  // [cfe] The class 'C' cannot be null.
+  //                ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
 }
diff --git a/tests/language/if_null/assignment_behavior_test.dart b/tests/language/if_null/assignment_behavior_test.dart
index ab3f20c..a0d6f11 100644
--- a/tests/language/if_null/assignment_behavior_test.dart
+++ b/tests/language/if_null/assignment_behavior_test.dart
@@ -257,6 +257,8 @@
   // C?.v ??= e2 is equivalent to C.v ??= e2.
   C.xGetValue = 1;
   check(1, () => C?.x ??= bad(), ['C.x']);
+  //              ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   //             ^
   // [cfe] The class 'C' cannot be null.
   h.C.xgetValue = 1;
@@ -269,10 +271,14 @@
   // [cfe] Undefined name 'c'.
   yGetValue = 1;
   check(1, () => C?.x ??= y, ['C.x', 'y', 'C.x=1']);
+  //              ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   //             ^
   // [cfe] The class 'C' cannot be null.
   yGetValue = 1;
   check(1, () => h.C?.x ??= y, ['h.C.x', 'y', 'h.C.x=1']);
+  //                ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   //               ^
   // [cfe] The class 'C' cannot be null.
 }
diff --git a/tests/language/nnbd/flow_analysis/never_runtime_check_nnbd.dart b/tests/language/nnbd/flow_analysis/never_runtime_check_nnbd.dart
index a59bdd2..52d691c 100644
--- a/tests/language/nnbd/flow_analysis/never_runtime_check_nnbd.dart
+++ b/tests/language/nnbd/flow_analysis/never_runtime_check_nnbd.dart
@@ -227,7 +227,8 @@
 }
 
 int ifNullAssignNullAwareStatic(int f()) {
-  return C?.staticField ??= f(); // ignore: dead_null_aware_expression
+  // ignore: dead_null_aware_expression, invalid_null_aware_operator
+  return C?.staticField ??= f();
 }
 
 void unnecessaryNullAwareAccess(int f()) {
diff --git a/tests/language/null_aware/access_runtime_test.dart b/tests/language/null_aware/access_runtime_test.dart
index 9495fef..49e606e 100644
--- a/tests/language/null_aware/access_runtime_test.dart
+++ b/tests/language/null_aware/access_runtime_test.dart
@@ -28,9 +28,17 @@
   // C?.id is equivalent to C.id.
   C.staticInt = 1;
   Expect.equals(1, C?.staticInt);
+  //               ^
+  // [cfe] The class 'C' cannot be null.
+  //                ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
 
   h.C.staticInt = 1;
   Expect.equals(1, h.C?.staticInt);
+  //                 ^
+  // [cfe] The class 'C' cannot be null.
+  //                  ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
 
   // The static type of e1?.id is the static type of e1.id.
   {
@@ -41,12 +49,20 @@
   {
     C.staticInt = 1;
     int? i = C?.staticInt;
+    //       ^
+    // [cfe] The class 'C' cannot be null.
+    //        ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(1, i);
   }
 
   {
     h.C.staticInt = 1;
     int? i = h.C?.staticInt;
+    //         ^
+    // [cfe] The class 'C' cannot be null.
+    //          ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(1, i);
   }
 }
diff --git a/tests/language/null_aware/access_test.dart b/tests/language/null_aware/access_test.dart
index 6fc1daa..61b4207 100644
--- a/tests/language/null_aware/access_test.dart
+++ b/tests/language/null_aware/access_test.dart
@@ -35,6 +35,8 @@
   {
     C.staticInt = 1;
     Expect.equals(1, C?.staticInt);
+    //                ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //               ^
     // [cfe] The class 'C' cannot be null.
   }
@@ -43,6 +45,8 @@
     Expect.equals(1, h.C?.staticInt);
     //                 ^
     // [cfe] The class 'C' cannot be null.
+    //                  ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   }
 
   // The static type of e1?.d is the static type of e1.id.
@@ -70,6 +74,8 @@
     int? i = C?.staticInt;
     //       ^
     // [cfe] The class 'C' cannot be null.
+    //        ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(1, i);
   }
   {
@@ -77,6 +83,8 @@
     int? i = h.C?.staticInt;
     //         ^
     // [cfe] The class 'C' cannot be null.
+    //          ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(1, i);
   }
   {
@@ -87,6 +95,8 @@
     // [cfe] The class 'C' cannot be null.
     //             ^
     // [cfe] A value of type 'int?' can't be assigned to a variable of type 'String?'.
+    //           ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(null, s);
   }
   {
@@ -94,6 +104,8 @@
     String? s = h.C?.staticNullable;
     //          ^^^^^^^^^^^^^^^^^^^
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
+    //             ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //            ^
     // [cfe] The class 'C' cannot be null.
     //               ^
@@ -125,10 +137,14 @@
 
   // Nor can it be used to access the hashCode getter on the class Type.
   Expect.throwsNoSuchMethodError(() => C?.hashCode);
+  //                                    ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   //                                      ^^^^^^^^
   // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_GETTER
   // [cfe] Member not found: 'hashCode'.
   Expect.throwsNoSuchMethodError(() => h.C?.hashCode);
+  //                                      ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   //                                        ^^^^^^^^
   // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_GETTER
   // [cfe] Member not found: 'hashCode'.
diff --git a/tests/language/null_aware/assignment_runtime_test.dart b/tests/language/null_aware/assignment_runtime_test.dart
index 6e73e75..69f1258 100644
--- a/tests/language/null_aware/assignment_runtime_test.dart
+++ b/tests/language/null_aware/assignment_runtime_test.dart
@@ -52,10 +52,18 @@
   // C?.v = e2 is equivalent to C.v = e2.
   C.staticInt = 1;
   Expect.equals(2, C?.staticInt = 2);
+  //               ^
+  // [cfe] The class 'C' cannot be null.
+  //                ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   Expect.equals(2, C.staticInt);
 
   h.C.staticInt = 1;
   Expect.equals(2, h.C?.staticInt = 2);
+  //                 ^
+  // [cfe] The class 'C' cannot be null.
+  //                  ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   Expect.equals(2, h.C.staticInt);
 
   // The static type of e1?.v = e2 is the static type of e2.
@@ -70,12 +78,20 @@
     D.staticE = new E();
     G g = new G();
     F? f = (D?.staticE = g);
+    //      ^
+    // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(f, g);
   }
 
   h.D.staticE = new h.E();
   h.G g = new h.G();
   h.F? f = (h.D?.staticE = g);
+  //          ^
+  // [cfe] The class 'D' cannot be null.
+  //           ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   Expect.identical(f, g);
 
   // Exactly the same errors that would be caused by e1.v = e2 are
@@ -92,7 +108,15 @@
   // C?.v op= e2 is equivalent to C.v op= e2.
   C.staticInt = 1;
   Expect.equals(3, C?.staticInt += 2);
+  //               ^
+  // [cfe] The class 'C' cannot be null.
+  //                ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   Expect.equals(3, C?.staticInt);
+  //               ^
+  // [cfe] The class 'C' cannot be null.
+  //                ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
 
   // The static type of e1?.v op= e2 is the static type of e1.v op e2.
   {
@@ -104,12 +128,20 @@
   {
     D.staticE = new E();
     F? f = (D?.staticE += 1);
+    //      ^
+    // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(D.staticE, f);
   }
 
   {
     h.D.staticE = new h.E();
     h.F? f = (h.D?.staticE += 1);
+    //          ^
+    // [cfe] The class 'D' cannot be null.
+    //           ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(h.D.staticE, f);
   }
 }
diff --git a/tests/language/null_aware/assignment_test.dart b/tests/language/null_aware/assignment_test.dart
index 59397b3..3fdb555 100644
--- a/tests/language/null_aware/assignment_test.dart
+++ b/tests/language/null_aware/assignment_test.dart
@@ -64,6 +64,8 @@
     Expect.equals(2, C?.staticInt = 2);
     //               ^
     // [cfe] The class 'C' cannot be null.
+    //                ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(2, C.staticInt);
   }
   {
@@ -71,6 +73,8 @@
     Expect.equals(2, h.C?.staticInt = 2);
     //                 ^
     // [cfe] The class 'C' cannot be null.
+    //                  ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(2, h.C.staticInt);
   }
 
@@ -95,6 +99,8 @@
     F? f = (D?.staticE = g);
     //      ^
     // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(f, g);
   }
   {
@@ -103,6 +109,8 @@
     h.F? f = (h.D?.staticE = g);
     //          ^
     // [cfe] The class 'D' cannot be null.
+    //           ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(f, g);
   }
   {
@@ -112,6 +120,8 @@
     //      ^^^^^^^^^^^^^^
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //         ^
     // [cfe] A value of type 'E' can't be assigned to a variable of type 'F?'.
   }
@@ -123,6 +133,8 @@
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     //         ^
     // [cfe] The class 'D' cannot be null.
+    //          ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //            ^
     // [cfe] A value of type 'E' can't be assigned to a variable of type 'F'.
   }
@@ -163,9 +175,13 @@
     Expect.equals(3, C?.staticInt += 2);
     //               ^
     // [cfe] The class 'C' cannot be null.
+    //                ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(3, C?.staticInt);
     //               ^
     // [cfe] The class 'C' cannot be null.
+    //                ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   }
 
   // The static type of e1?.v op= e2 is the static type of e1.v op e2.
@@ -183,6 +199,8 @@
     F? f = (D?.staticE += 1);
     //      ^
     // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(D.staticE, f);
   }
   {
@@ -190,6 +208,8 @@
     h.F? f = (h.D?.staticE += 1);
     //          ^
     // [cfe] The class 'D' cannot be null.
+    //           ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(h.D.staticE, f);
   }
 
@@ -239,6 +259,8 @@
     F? f = (D?.staticE += nullC());
     //      ^
     // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //                    ^^^^^^^
     // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
     // [cfe] A value of type 'C?' can't be assigned to a variable of type 'int'.
@@ -248,6 +270,8 @@
     h.F? f = (h.D?.staticE += h.nullC());
     //          ^
     // [cfe] The class 'D' cannot be null.
+    //           ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //                        ^^^^^^^^^
     // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
     //                          ^
@@ -259,6 +283,8 @@
     //      ^^^^^^^^^^^^^^^
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //         ^
     // [cfe] A value of type 'G' can't be assigned to a variable of type 'H?'.
   }
@@ -269,6 +295,8 @@
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     //           ^
     // [cfe] The class 'D' cannot be null.
+    //            ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //              ^
     // [cfe] A value of type 'G' can't be assigned to a variable of type 'H?'.
   }
diff --git a/tests/language/null_aware/increment_decrement_runtime_test.dart b/tests/language/null_aware/increment_decrement_runtime_test.dart
index 0229341..01c72da 100644
--- a/tests/language/null_aware/increment_decrement_runtime_test.dart
+++ b/tests/language/null_aware/increment_decrement_runtime_test.dart
@@ -55,11 +55,19 @@
   {
     C.staticInt = 1;
     Expect.equals(1, C?.staticInt++);
+    //               ^
+    // [cfe] The class 'C' cannot be null.
+    //                ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(2, C.staticInt);
   }
   {
     h.C.staticInt = 1;
     Expect.equals(1, h.C?.staticInt++);
+    //                 ^
+    // [cfe] The class 'C' cannot be null.
+    //                  ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(2, h.C.staticInt);
   }
 
@@ -75,12 +83,20 @@
     E e1 = new E();
     D.staticE = e1;
     E? e2 = D?.staticE++;
+    //      ^
+    // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(e1, e2);
   }
   {
     h.E e1 = new h.E();
     h.D.staticE = e1;
     h.E? e2 = h.D?.staticE++;
+    //          ^
+    // [cfe] The class 'D' cannot be null.
+    //           ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(e1, e2);
   }
 
@@ -96,11 +112,19 @@
   {
     C.staticInt = 1;
     Expect.equals(1, C?.staticInt--);
+    //               ^
+    // [cfe] The class 'C' cannot be null.
+    //                ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(0, C.staticInt);
   }
   {
     h.C.staticInt = 1;
     Expect.equals(1, h.C?.staticInt--);
+    //                 ^
+    // [cfe] The class 'C' cannot be null.
+    //                  ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(0, h.C.staticInt);
   }
 
@@ -116,12 +140,20 @@
     E e1 = new E();
     D.staticE = e1;
     E? e2 = D?.staticE--;
+    //      ^
+    // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(e1, e2);
   }
   {
     h.E e1 = new h.E();
     h.D.staticE = e1;
     h.E? e2 = h.D?.staticE--;
+    //          ^
+    // [cfe] The class 'D' cannot be null.
+    //           ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(e1, e2);
   }
 
@@ -137,11 +169,19 @@
   {
     C.staticInt = 1;
     Expect.equals(2, ++C?.staticInt);
+    //                 ^
+    // [cfe] The class 'C' cannot be null.
+    //                  ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(2, C.staticInt);
   }
   {
     h.C.staticInt = 1;
     Expect.equals(2, ++h.C?.staticInt);
+    //                   ^
+    // [cfe] The class 'C' cannot be null.
+    //                    ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(2, h.C.staticInt);
   }
 
@@ -160,6 +200,10 @@
   {
     h.D.staticE = new h.E();
     h.F? f = ++h.D?.staticE;
+    //           ^
+    // [cfe] The class 'D' cannot be null.
+    //            ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(h.D.staticE, f);
   }
 
@@ -175,11 +219,19 @@
   {
     C.staticInt = 1;
     Expect.equals(0, --C?.staticInt);
+    //                 ^
+    // [cfe] The class 'C' cannot be null.
+    //                  ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(0, C.staticInt);
   }
   {
     h.C.staticInt = 1;
     Expect.equals(0, --h.C?.staticInt);
+    //                   ^
+    // [cfe] The class 'C' cannot be null.
+    //                    ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(0, h.C.staticInt);
   }
 
@@ -193,12 +245,20 @@
   {
     D.staticE = new E();
     F? f = --D?.staticE;
+    //       ^
+    // [cfe] The class 'D' cannot be null.
+    //        ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(D.staticE, f);
   }
 
   {
     h.D.staticE = new h.E();
     h.F? f = --h.D?.staticE;
+    //           ^
+    // [cfe] The class 'D' cannot be null.
+    //            ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(h.D.staticE, f);
   }
 }
diff --git a/tests/language/null_aware/increment_decrement_test.dart b/tests/language/null_aware/increment_decrement_test.dart
index d1916b6..0e99f75 100644
--- a/tests/language/null_aware/increment_decrement_test.dart
+++ b/tests/language/null_aware/increment_decrement_test.dart
@@ -54,6 +54,8 @@
     Expect.equals(1, C?.staticInt++);
     //               ^
     // [cfe] The class 'C' cannot be null.
+    //                ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(2, C.staticInt);
   }
   {
@@ -61,6 +63,8 @@
     Expect.equals(1, h.C?.staticInt++);
     //                 ^
     // [cfe] The class 'C' cannot be null.
+    //                  ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(2, h.C.staticInt);
   }
 
@@ -86,6 +90,8 @@
     E? e2 = D?.staticE++;
     //      ^
     // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(e1, e2);
   }
   {
@@ -94,6 +100,8 @@
     h.E? e2 = h.D?.staticE++;
     //          ^
     // [cfe] The class 'D' cannot be null.
+    //           ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(e1, e2);
   }
   {
@@ -103,6 +111,8 @@
     //     ^^^^^^^^^^^^
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     // [cfe] The class 'D' cannot be null.
+    //      ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //               ^
     // [cfe] A value of type 'E' can't be assigned to a variable of type 'F?'.
     Expect.identical(f, g);
@@ -115,6 +125,8 @@
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     //         ^
     // [cfe] The class 'D' cannot be null.
+    //          ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //                   ^
     // [cfe] A value of type 'E' can't be assigned to a variable of type 'F?'.
     Expect.identical(f, g);
@@ -134,6 +146,8 @@
     Expect.equals(1, C?.staticInt--);
     //               ^
     // [cfe] The class 'C' cannot be null.
+    //                ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(0, C.staticInt);
   }
   {
@@ -141,6 +155,8 @@
     Expect.equals(1, h.C?.staticInt--);
     //                 ^
     // [cfe] The class 'C' cannot be null.
+    //                  ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(0, h.C.staticInt);
   }
 
@@ -166,6 +182,8 @@
     E? e2 = D?.staticE--;
     //      ^
     // [cfe] The class 'D' cannot be null.
+    //       ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(e1, e2);
   }
   {
@@ -174,6 +192,8 @@
     h.E? e2 = h.D?.staticE--;
     //          ^
     // [cfe] The class 'D' cannot be null.
+    //           ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(e1, e2);
   }
   {
@@ -183,6 +203,8 @@
     //     ^^^^^^^^^^^^
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     // [cfe] The class 'D' cannot be null.
+    //      ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //               ^
     // [cfe] A value of type 'E' can't be assigned to a variable of type 'F?'.
     Expect.identical(f, g);
@@ -195,6 +217,8 @@
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     //         ^
     // [cfe] The class 'D' cannot be null.
+    //          ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //                   ^
     // [cfe] A value of type 'E' can't be assigned to a variable of type 'F?'.
     Expect.identical(f, g);
@@ -214,6 +238,8 @@
     Expect.equals(2, ++C?.staticInt);
     //                 ^
     // [cfe] The class 'C' cannot be null.
+    //                  ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(2, C.staticInt);
   }
   {
@@ -221,6 +247,8 @@
     Expect.equals(2, ++h.C?.staticInt);
     //                   ^
     // [cfe] The class 'C' cannot be null.
+    //                    ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(2, h.C.staticInt);
   }
 
@@ -244,6 +272,8 @@
     F? f = ++D?.staticE;
     //       ^
     // [cfe] The class 'D' cannot be null.
+    //        ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(D.staticE, f);
   }
   {
@@ -251,6 +281,8 @@
     h.F? f = ++h.D?.staticE;
     //           ^
     // [cfe] The class 'D' cannot be null.
+    //            ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(h.D.staticE, f);
   }
   {
@@ -260,6 +292,8 @@
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     //       ^
     // [cfe] The class 'D' cannot be null.
+    //        ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //          ^
     // [cfe] A value of type 'G' can't be assigned to a variable of type 'H?'.
     Expect.identical(D.staticE, h);
@@ -271,6 +305,8 @@
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     //            ^
     // [cfe] The class 'D' cannot be null.
+    //             ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //               ^
     // [cfe] A value of type 'G' can't be assigned to a variable of type 'H?'.
     Expect.identical(h.D.staticE, hh);
@@ -290,6 +326,8 @@
     Expect.equals(0, --C?.staticInt);
     //                 ^
     // [cfe] The class 'C' cannot be null.
+    //                  ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(0, C.staticInt);
   }
   {
@@ -297,6 +335,8 @@
     Expect.equals(0, --h.C?.staticInt);
     //                   ^
     // [cfe] The class 'C' cannot be null.
+    //                    ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(0, h.C.staticInt);
   }
 
@@ -320,6 +360,8 @@
     F? f = --D?.staticE;
     //       ^
     // [cfe] The class 'D' cannot be null.
+    //        ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(D.staticE, f);
   }
   {
@@ -327,6 +369,8 @@
     h.F? f = --h.D?.staticE;
     //           ^
     // [cfe] The class 'D' cannot be null.
+    //            ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.identical(h.D.staticE, f);
   }
   {
@@ -336,6 +380,8 @@
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     //       ^
     // [cfe] The class 'D' cannot be null.
+    //        ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //          ^
     // [cfe] A value of type 'G' can't be assigned to a variable of type 'H?'.
     Expect.identical(D.staticE, h);
@@ -347,6 +393,8 @@
     // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
     //            ^
     // [cfe] The class 'D' cannot be null.
+    //             ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     //               ^
     // [cfe] A value of type 'G' can't be assigned to a variable of type 'H?'.
     Expect.identical(h.D.staticE, hh);
diff --git a/tests/language/null_aware/invocation_runtime_test.dart b/tests/language/null_aware/invocation_runtime_test.dart
index a4bd1d5..72d6942 100644
--- a/tests/language/null_aware/invocation_runtime_test.dart
+++ b/tests/language/null_aware/invocation_runtime_test.dart
@@ -32,7 +32,11 @@
   Expect.equals(1, c?.f(() => 1));
   // C?.m(...) is equivalent to C.m(...).
   Expect.equals(1, C?.staticF(() => 1));
+  //                ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   Expect.equals(1, h.C?.staticF(() => 1));
+  //                  ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
 
   // The static type of o?.m(...) is the same as the static type of
   // o.m(...).
@@ -46,10 +50,14 @@
   }
   {
     int? i = C?.staticG(() => 1);
+    //        ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(1, i);
   }
   {
     int? i = h.C?.staticG(() => 1);
+    //          ^^
+    // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
     Expect.equals(1, i);
   }
 }
diff --git a/tests/language/null_aware/invocation_test.dart b/tests/language/null_aware/invocation_test.dart
index b1f38e6..1eaf015 100644
--- a/tests/language/null_aware/invocation_test.dart
+++ b/tests/language/null_aware/invocation_test.dart
@@ -35,7 +35,11 @@
 
   // C?.m(...) is equivalent to C.m(...).
   Expect.equals(1, C?.staticF(() => 1));
+  //                ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   Expect.equals(1, h.C?.staticF(() => 1));
+  //                  ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
 
   // The static type of o?.m(...) is the same as the static type of
   // o.m(...).
@@ -51,15 +55,23 @@
   //            ^
   // [cfe] A value of type 'int?' can't be assigned to a variable of type 'String?'.
   { int? i = C?.staticG(() => 1); Expect.equals(1, i); }
+  //          ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   { int? i = h.C?.staticG(() => 1); Expect.equals(1, i); }
+  //            ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   { String? s = C?.staticG(() => null); Expect.equals(null, s); }
   //            ^^^^^^^^^^^^^^^^^^^^^^
   // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
+  //             ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   //               ^
   // [cfe] A value of type 'int?' can't be assigned to a variable of type 'String?'.
   { String? s = h.C?.staticG(() => null); Expect.equals(null, s); }
   //            ^^^^^^^^^^^^^^^^^^^^^^^^
   // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
+  //               ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   //                 ^
   // [cfe] A value of type 'int?' can't be assigned to a variable of type 'String?'.
 
@@ -84,10 +96,14 @@
 
   // Nor can it be used to access the toString method on the class Type.
   Expect.throwsNoSuchMethodError(() => C?.toString());
+  //                                    ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   //                                      ^^^^^^^^
   // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_METHOD
   // [cfe] Method not found: 'C.toString'.
   Expect.throwsNoSuchMethodError(() => h.C?.toString());
+  //                                      ^^
+  // [analyzer] STATIC_WARNING.INVALID_NULL_AWARE_OPERATOR
   //                                        ^^^^^^^^
   // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_METHOD
   // [cfe] Method not found: 'C.toString'.
diff --git a/tools/VERSION b/tools/VERSION
index 2690193..d5db85d 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 18
 PATCH 0
-PRERELEASE 151
+PRERELEASE 152
 PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/bots/try_benchmarks.sh b/tools/bots/try_benchmarks.sh
index 93003aa..4d758ec 100755
--- a/tools/bots/try_benchmarks.sh
+++ b/tools/bots/try_benchmarks.sh
@@ -137,8 +137,6 @@
     tar -czf linux-ia32.tar.gz \
       --exclude .git \
       --exclude .gitignore \
-      --exclude pkg/analysis_server/language_model \
-      --exclude out/ReleaseIA32/dart-sdk/bin/model \
       --exclude pkg/front_end/testcases \
       -- \
       out/ReleaseIA32/dart2js_platform.dill \
@@ -280,8 +278,6 @@
     tar -czf linux-x64.tar.gz \
       --exclude .git \
       --exclude .gitignore \
-      --exclude pkg/analysis_server/language_model \
-      --exclude out/ReleaseX64/dart-sdk/bin/model \
       --exclude pkg/front_end/testcases \
       -- \
       out/ReleaseX64/dart2js_platform.dill \