Version 2.14.0-379.0.dev

Merge commit '43c00097c2993de68a56d06cd780b228e77d283d' into 'dev'
diff --git a/pkg/analyzer/lib/src/fasta/ast_builder.dart b/pkg/analyzer/lib/src/fasta/ast_builder.dart
index 498b57b..f698b3d7 100644
--- a/pkg/analyzer/lib/src/fasta/ast_builder.dart
+++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart
@@ -148,7 +148,7 @@
 
   final FeatureSet _featureSet;
 
-  AstBuilder(ErrorReporter errorReporter, this.fileUri, this.isFullAst,
+  AstBuilder(ErrorReporter? errorReporter, this.fileUri, this.isFullAst,
       this._featureSet,
       [Uri? uri])
       : errorReporter = FastaErrorReporter(errorReporter),
diff --git a/pkg/front_end/lib/src/api_prototype/language_version.dart b/pkg/front_end/lib/src/api_prototype/language_version.dart
index 3aa685b..566c816 100644
--- a/pkg/front_end/lib/src/api_prototype/language_version.dart
+++ b/pkg/front_end/lib/src/api_prototype/language_version.dart
@@ -17,8 +17,6 @@
 
 import '../fasta/compiler_context.dart' show CompilerContext;
 
-import '../fasta/source/source_library_builder.dart' show SourceLibraryBuilder;
-
 import '../fasta/uri_translator.dart' show UriTranslator;
 
 import 'compiler_options.dart' show CompilerOptions;
@@ -146,7 +144,6 @@
     Uri uri, CompilerOptions options) async {
   // This method is here in order to use the opt out hack here for test
   // sources.
-  if (SourceLibraryBuilder.isOptOutTest(uri)) return true;
   VersionAndPackageUri versionAndLibraryUri =
       await languageVersionForUri(uri, options);
   return !options.isExperimentEnabledInLibraryByVersion(
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 771e607..b550c58 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -6094,7 +6094,9 @@
 
   @override
   Expression buildProblem(Message message, int charOffset, int length,
-      {List<LocatedMessage>? context, bool suppressMessage: false}) {
+      {List<LocatedMessage>? context,
+      bool suppressMessage: false,
+      Expression? expression}) {
     if (!suppressMessage) {
       addProblem(message, charOffset, length,
           wasHandled: true, context: context);
@@ -6102,9 +6104,7 @@
     String text = libraryBuilder.loader.target.context
         .format(message.withLocation(uri, charOffset, length), Severity.error)
         .plain;
-    InvalidExpression expression = new InvalidExpression(text)
-      ..fileOffset = charOffset;
-    return expression;
+    return new InvalidExpression(text, expression)..fileOffset = charOffset;
   }
 
   @override
@@ -6131,15 +6131,9 @@
     if (offset == -1) {
       offset = message.charOffset;
     }
-    return new Let(
-        new VariableDeclaration.forValue(
-            buildProblem(
-                message.messageObject, message.charOffset, message.length,
-                context: context),
-            type: NeverType.fromNullability(libraryBuilder.nonNullable))
-          ..fileOffset = offset,
-        expression)
-      ..fileOffset = offset;
+    return buildProblem(
+        message.messageObject, message.charOffset, message.length,
+        context: context, expression: expression);
   }
 
   Expression buildFallThroughError(int charOffset) {
diff --git a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart b/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
index e820080..fab3ab7 100644
--- a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
@@ -119,7 +119,22 @@
   @override
   ExpressionInferenceResult visitDynamicGet(
       DynamicGet node, DartType typeContext) {
-    return _unhandledExpression(node, typeContext);
+    // The node has already been inferred, for instance as part of a for-in
+    // loop, so just compute the result type.
+    DartType resultType;
+    switch (node.kind) {
+      case DynamicAccessKind.Dynamic:
+        resultType = const DynamicType();
+        break;
+      case DynamicAccessKind.Never:
+        resultType = NeverType.fromNullability(inferrer.library.nonNullable);
+        break;
+      case DynamicAccessKind.Invalid:
+      case DynamicAccessKind.Unresolved:
+        resultType = const InvalidType();
+        break;
+    }
+    return new ExpressionInferenceResult(resultType, node);
   }
 
   @override
@@ -334,9 +349,13 @@
   @override
   ExpressionInferenceResult visitInvalidExpression(
       InvalidExpression node, DartType typeContext) {
-    // TODO(johnniwinther): The inferred type should be an InvalidType. Using
-    // BottomType leads to cascading errors so we use DynamicType for now.
-    return new ExpressionInferenceResult(const DynamicType(), node);
+    if (node.expression != null) {
+      ExpressionInferenceResult result = inferrer.inferExpression(
+          node.expression!, typeContext, !inferrer.isTopLevel,
+          isVoidAllowed: true);
+      node.expression = result.expression..parent = node;
+    }
+    return new ExpressionInferenceResult(const InvalidType(), node);
   }
 
   @override
diff --git a/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart b/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart
index 9364065..c141da9 100644
--- a/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart
@@ -2547,6 +2547,14 @@
   String toString() {
     return "IndexGet(${toStringInternal()})";
   }
+
+  @override
+  void toTextInternal(AstPrinter printer) {
+    printer.writeExpression(receiver);
+    printer.write('[');
+    printer.writeExpression(index);
+    printer.write(']');
+  }
 }
 
 /// Internal expression representing an index set expression.
@@ -2646,6 +2654,15 @@
   String toString() {
     return "IndexSet(${toStringInternal()})";
   }
+
+  @override
+  void toTextInternal(AstPrinter printer) {
+    printer.writeExpression(receiver);
+    printer.write('[');
+    printer.writeExpression(index);
+    printer.write('] = ');
+    printer.writeExpression(value);
+  }
 }
 
 /// Internal expression representing a  super index set expression.
diff --git a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
index 395a4d2..84ae1c4 100644
--- a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
@@ -218,16 +218,12 @@
     }
     Supertype? mixedInType =
         mixedInTypeBuilder?.buildMixedInType(library, charOffset, fileUri);
-    if (mixedInType != null) {
-      Class superclass = mixedInType.classNode;
-      if (superclass.name == 'Function' &&
-          superclass.enclosingLibrary == coreLibrary.library) {
-        library.addProblem(messageMixinFunction, charOffset, noLength, fileUri);
-        mixedInType = null;
-        mixedInTypeBuilder = null;
-        actualCls.isAnonymousMixin = false;
-        isMixinDeclaration = false;
-      }
+    if (_isFunction(mixedInType, coreLibrary)) {
+      library.addProblem(messageMixinFunction, charOffset, noLength, fileUri);
+      mixedInType = null;
+      mixedInTypeBuilder = null;
+      actualCls.isAnonymousMixin = false;
+      isMixinDeclaration = false;
     }
     if (mixedInType == null && mixedInTypeBuilder is! NamedTypeBuilder) {
       mixedInTypeBuilder = null;
@@ -244,9 +240,7 @@
         Supertype? supertype =
             interfaceBuilders![i].buildSupertype(library, charOffset, fileUri);
         if (supertype != null) {
-          Class superclass = supertype.classNode;
-          if (superclass.name == 'Function' &&
-              superclass.enclosingLibrary == coreLibrary.library) {
+          if (_isFunction(supertype, coreLibrary)) {
             library.addProblem(
                 messageImplementFunction, charOffset, noLength, fileUri);
             continue;
@@ -292,6 +286,25 @@
     return cls;
   }
 
+  bool _isFunction(Supertype? supertype, LibraryBuilder coreLibrary) {
+    if (supertype != null) {
+      Class superclass = supertype.classNode;
+      if (superclass.name == 'Function' &&
+          // We use `superclass.parent` here instead of
+          // `superclass.enclosingLibrary` to handle platform compilation. If
+          // we are currently compiling the platform, the enclosing library of
+          // `Function` has not yet been set, so the accessing
+          // `enclosingLibrary` would result in a cast error. We assume that the
+          // SDK does not contain this error, which we otherwise not find. If we
+          // are _not_ compiling the platform, the `superclass.parent` has been
+          // set, if it is `Function` from `dart:core`.
+          superclass.parent == coreLibrary.library) {
+        return true;
+      }
+    }
+    return false;
+  }
+
   TypeBuilder checkSupertype(TypeBuilder supertype) {
     if (typeVariables == null) return supertype;
     Message? message;
diff --git a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
index 324a721..4ed49c9 100644
--- a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
@@ -343,8 +343,7 @@
   /// a version that is too low for opting in to the experiment.
   bool get enableNonNullableInLibrary => _enableNonNullableInLibrary ??=
       loader.target.isExperimentEnabledInLibrary(
-              ExperimentalFlag.nonNullable, _packageUri ?? importUri) &&
-          !isOptOutTest(library.importUri);
+          ExperimentalFlag.nonNullable, _packageUri ?? importUri);
 
   Version get enableNonNullableVersionInLibrary =>
       _enableNonNullableVersionInLibrary ??= loader.target
@@ -481,30 +480,6 @@
       enableNonNullableInLibrary &&
       languageVersion.version >= enableNonNullableVersionInLibrary;
 
-  static bool isOptOutTest(Uri uri) {
-    String path = uri.path;
-    for (String testDir in ['/tests/', '/generated_tests/']) {
-      int start = path.indexOf(testDir);
-      if (start == -1) continue;
-      String rest = path.substring(start + testDir.length);
-      return optOutTestPaths.any(rest.startsWith);
-    }
-    return false;
-  }
-
-  static const List<String> optOutTestPaths = [
-    'co19_2/',
-    'corelib_2/',
-    'web_2/',
-    'ffi_2',
-    'language_2/',
-    'lib_2/',
-    'samples_2/',
-    'service_2/',
-    'standalone_2/',
-    'vm/dart_2/', // in runtime/tests
-  ];
-
   LanguageVersion get languageVersion {
     assert(
         _languageVersion.isFinal,
diff --git a/pkg/front_end/lib/src/fasta/source/source_loader.dart b/pkg/front_end/lib/src/fasta/source/source_loader.dart
index 538d6cc..c132517 100644
--- a/pkg/front_end/lib/src/fasta/source/source_loader.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_loader.dart
@@ -271,10 +271,9 @@
                     library.importUri,
                     library.packageLanguageVersion.version),
             enableNonNullable: target.isExperimentEnabledInLibraryByVersion(
-                    ExperimentalFlag.nonNullable,
-                    library.importUri,
-                    library.packageLanguageVersion.version) &&
-                !SourceLibraryBuilder.isOptOutTest(library.importUri)),
+                ExperimentalFlag.nonNullable,
+                library.importUri,
+                library.packageLanguageVersion.version)),
         languageVersionChanged:
             (Scanner scanner, LanguageVersionToken version) {
       if (!suppressLexicalErrors) {
diff --git a/pkg/front_end/lib/src/fasta/type_inference/inference_helper.dart b/pkg/front_end/lib/src/fasta/type_inference/inference_helper.dart
index e449a1e..e8e2c91 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/inference_helper.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/inference_helper.dart
@@ -16,7 +16,9 @@
   set transformSetLiterals(bool value);
 
   Expression buildProblem(Message message, int charOffset, int length,
-      {List<LocatedMessage>? context, bool suppressMessage = false});
+      {List<LocatedMessage>? context,
+      bool suppressMessage = false,
+      Expression? expression});
 
   LocatedMessage? checkArgumentsForType(
       FunctionType function, Arguments arguments, int offset,
diff --git a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
index 2bf3ff0..1332a26 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
@@ -2355,7 +2355,9 @@
     if (named.length == 2) {
       if (named[0].name == named[1].name) {
         String name = named[1].name;
-        Expression error = helper!.buildProblem(
+        Expression error = helper!.wrapInProblem(
+            _createDuplicateExpression(
+                named[0].fileOffset, named[0].value, named[1].value),
             templateDuplicatedNamedArgument.withArguments(name),
             named[1].fileOffset,
             name.length);
@@ -2373,7 +2375,9 @@
         if (seenNames.containsKey(name)) {
           hasProblem = true;
           NamedExpression prevNamedExpression = seenNames[name]!;
-          prevNamedExpression.value = helper!.buildProblem(
+          prevNamedExpression.value = helper!.wrapInProblem(
+              _createDuplicateExpression(prevNamedExpression.fileOffset,
+                  prevNamedExpression.value, expression.value),
               templateDuplicatedNamedArgument.withArguments(name),
               expression.fileOffset,
               name.length)
@@ -4178,11 +4182,60 @@
     }
   }
 
+  /// Creates an expression the represents the invalid invocation of [name] on
+  /// [receiver] with [arguments].
+  ///
+  /// This is used to ensure that subexpressions of invalid invocations are part
+  /// of the AST using `helper.wrapInProblem`.
+  Expression _createInvalidInvocation(
+      int fileOffset, Expression receiver, Name name, Arguments arguments) {
+    return new DynamicInvocation(
+        DynamicAccessKind.Unresolved, receiver, name, arguments)
+      ..fileOffset = fileOffset;
+  }
+
+  /// Creates an expression the represents the invalid get of [name] on
+  /// [receiver].
+  ///
+  /// This is used to ensure that subexpressions of invalid gets are part
+  /// of the AST using `helper.wrapInProblem`.
+  Expression _createInvalidGet(int fileOffset, Expression receiver, Name name) {
+    return new DynamicGet(DynamicAccessKind.Unresolved, receiver, name)
+      ..fileOffset = fileOffset;
+  }
+
+  /// Creates an expression the represents the invalid set of [name] on
+  /// [receiver] with [value].
+  ///
+  /// This is used to ensure that subexpressions of invalid gets are part
+  /// of the AST using `helper.wrapInProblem`.
+  Expression _createInvalidSet(
+      int fileOffset, Expression receiver, Name name, Expression value) {
+    return new DynamicSet(DynamicAccessKind.Unresolved, receiver, name, value)
+      ..fileOffset = fileOffset;
+  }
+
+  /// Creates an expression the represents a duplicate expression occurring
+  /// for instance as the [first] and [second] occurrence of named arguments
+  /// with the same name.
+  ///
+  /// This is used to ensure that subexpressions of duplicate expressions are
+  /// part of the AST using `helper.wrapInProblem`.
+  Expression _createDuplicateExpression(
+      int fileOffset, Expression first, Expression second) {
+    return new BlockExpression(
+        new Block([new ExpressionStatement(first)..fileOffset = fileOffset])
+          ..fileOffset = fileOffset,
+        second)
+      ..fileOffset = fileOffset;
+  }
+
   Expression _reportMissingOrAmbiguousMember(
       int fileOffset,
       int length,
       DartType receiverType,
       Name name,
+      Expression wrappedExpression,
       List<ExtensionAccessCandidate>? extensionAccessCandidates,
       Template<Message Function(String, DartType, bool)> missingTemplate,
       Template<Message Function(String, DartType, bool)> ambiguousTemplate) {
@@ -4199,7 +4252,8 @@
           .toList();
       template = ambiguousTemplate;
     }
-    return helper!.buildProblem(
+    return helper!.wrapInProblem(
+        wrappedExpression,
         template.withArguments(name.text, resolveTypeParameter(receiverType),
             isNonNullableByDefault),
         fileOffset,
@@ -4219,7 +4273,8 @@
           .createMethodInvocation(fileOffset, receiver, name, arguments);
     } else if (implicitInvocationPropertyName != null) {
       assert(extensionAccessCandidates == null);
-      return helper!.buildProblem(
+      return helper!.wrapInProblem(
+          _createInvalidInvocation(fileOffset, receiver, name, arguments),
           templateInvokeNonFunction
               .withArguments(implicitInvocationPropertyName.text),
           fileOffset,
@@ -4230,6 +4285,7 @@
           isExpressionInvocation ? noLength : name.text.length,
           receiverType,
           name,
+          _createInvalidInvocation(fileOffset, receiver, name, arguments),
           extensionAccessCandidates,
           receiverType is ExtensionType
               ? templateUndefinedExtensionMethod
@@ -4256,6 +4312,7 @@
           propertyName.text.length,
           receiverType,
           propertyName,
+          _createInvalidGet(fileOffset, receiver, propertyName),
           extensionAccessCandidates,
           templateMissing,
           templateAmbiguousExtensionProperty);
@@ -4284,6 +4341,7 @@
           propertyName.text.length,
           receiverType,
           propertyName,
+          _createInvalidSet(fileOffset, receiver, propertyName, value),
           extensionAccessCandidates,
           templateMissing,
           templateAmbiguousExtensionProperty);
@@ -4307,6 +4365,8 @@
           noLength,
           receiverType,
           indexGetName,
+          _createInvalidInvocation(fileOffset, receiver, indexGetName,
+              new Arguments([index])..fileOffset = fileOffset),
           extensionAccessCandidates,
           templateMissing,
           templateAmbiguousExtensionOperator);
@@ -4334,6 +4394,8 @@
           noLength,
           receiverType,
           indexSetName,
+          _createInvalidInvocation(fileOffset, receiver, indexSetName,
+              new Arguments([index, value])..fileOffset = fileOffset),
           extensionAccessCandidates,
           templateMissing,
           templateAmbiguousExtensionOperator);
@@ -4359,6 +4421,8 @@
           binaryName.text.length,
           leftType,
           binaryName,
+          _createInvalidInvocation(fileOffset, left, binaryName,
+              new Arguments([right])..fileOffset = fileOffset),
           extensionAccessCandidates,
           templateMissing,
           templateAmbiguousExtensionOperator);
@@ -4383,6 +4447,8 @@
           unaryName == unaryMinusName ? 1 : unaryName.text.length,
           expressionType,
           unaryName,
+          _createInvalidInvocation(fileOffset, expression, unaryName,
+              new Arguments([])..fileOffset = fileOffset),
           extensionAccessCandidates,
           templateMissing,
           templateAmbiguousExtensionOperator);
diff --git a/pkg/front_end/test/binary_md_dill_reader.dart b/pkg/front_end/test/binary_md_dill_reader.dart
index f427697..f316b40 100644
--- a/pkg/front_end/test/binary_md_dill_reader.dart
+++ b/pkg/front_end/test/binary_md_dill_reader.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
-
 import "dart:math" as math;
 
 class BinaryMdDillReader {
@@ -13,20 +11,20 @@
   final List<int> _dillContent;
 
   String _currentlyUnparsed = "";
-  Map<String, List<String>> _readingInstructions;
-  Map<String, List<String>> _generics;
-  Map<int, String> tagToName;
-  Map<int, String> constantTagToName;
-  int version;
-  Map<String, String> _extends;
-  int _binaryMdNestingDepth;
-  String _binaryMdCurrentClass;
+  late Map<String, List<String>> _readingInstructions;
+  late Map<String, List<String>> _generics;
+  late Map<int, String> tagToName;
+  late Map<int, String> constantTagToName;
+  int? version;
+  late Map<String, String> _extends;
+  late int _binaryMdNestingDepth;
+  late String _binaryMdCurrentClass;
 
   /// The offset in the binary where we're supposed to read next.
-  int _binaryOffset;
+  late int _binaryOffset;
 
-  int _depth;
-  Map _dillStringsPointer;
+  late int _depth;
+  late Map _dillStringsPointer;
   int verboseLevel = 0;
   bool _ranSetup = false;
   List<String> readingStack = [];
@@ -100,16 +98,16 @@
     }
   }
 
-  int numLibs;
-  int binaryOffsetForSourceTable;
-  int binaryOffsetForConstantTable;
-  int binaryOffsetForConstantTableIndex;
-  int binaryOffsetForCanonicalNames;
-  int binaryOffsetForMetadataPayloads;
-  int binaryOffsetForMetadataMappings;
-  int binaryOffsetForStringTable;
-  int binaryOffsetForStartOfComponentIndex;
-  int mainMethodReference;
+  late int numLibs;
+  late int binaryOffsetForSourceTable;
+  late int binaryOffsetForConstantTable;
+  late int binaryOffsetForConstantTableIndex;
+  late int binaryOffsetForCanonicalNames;
+  late int binaryOffsetForMetadataPayloads;
+  late int binaryOffsetForMetadataMappings;
+  late int binaryOffsetForStringTable;
+  late int binaryOffsetForStartOfComponentIndex;
+  late int mainMethodReference;
 
   /// Read the dill file data, parsing it into a Map.
   Map _readDill() {
@@ -146,7 +144,7 @@
     /*int compilationMode = */ _peekUint32();
 
     _binaryOffset = binaryOffsetForStringTable;
-    var saved = _readingInstructions["ComponentFile"];
+    var saved = _readingInstructions["ComponentFile"]!;
     _readingInstructions["ComponentFile"] = ["StringTable strings;"];
     _readBinary("ComponentFile", "");
     _readingInstructions["ComponentFile"] = saved;
@@ -189,8 +187,8 @@
       name = name.substring("enum ".length);
       isEnum = true;
     }
-    String nameExtends = null;
-    Match extendsMatch = (new RegExp("extends (.+)[ \{]")).firstMatch(name);
+    String? nameExtends = null;
+    Match? extendsMatch = (new RegExp("extends (.+)[ \{]")).firstMatch(name);
     if (extendsMatch != null) {
       nameExtends = extendsMatch.group(1);
     }
@@ -221,7 +219,7 @@
   /// * "Byte tag = 97;" into "Byte"
   /// * "List<T> {" into "List<T>"
   String _getType(final String inputString) {
-    String cached = _typeCache[inputString];
+    String? cached = _typeCache[inputString];
     if (cached != null) return cached;
     int end = math.max(
         math.max(inputString.indexOf(" "), inputString.lastIndexOf(">") + 1),
@@ -402,14 +400,14 @@
       _currentlyUnparsed = "";
     }
 
-    _readingInstructions[_binaryMdCurrentClass].add(s.trim());
+    _readingInstructions[_binaryMdCurrentClass]!.add(s.trim());
   }
 
   /// Check the all types referenced by reading instructions are types we know
   /// about.
   void _binaryMdCheckHasAllTypes() {
     for (String key in _readingInstructions.keys) {
-      for (String s in _readingInstructions[key]) {
+      for (String s in _readingInstructions[key]!) {
         String type = _getType(s);
         if (!_isKnownType(type, key)) {
           throw "Unknown type: $type (used in $key)";
@@ -429,7 +427,7 @@
     }
 
     if (parent.contains("<")) {
-      Set<String> types = _generics[parent].toSet();
+      Set<String> types = _generics[parent]!.toSet();
       if (types.contains(type)) return true;
       if (type.contains("[") &&
           types.contains(type.substring(0, type.indexOf("[")))) return true;
@@ -493,7 +491,7 @@
     if (what.contains("<")) {
       types = _getGenerics(what);
       what = what.substring(0, what.indexOf("<")) + "<${types.length}>";
-      typeNames = _generics[what];
+      typeNames = _generics[what]!;
     }
 
     if (_readingInstructions[what] == null) {
@@ -508,7 +506,7 @@
       print("".padLeft(_depth * 2) + " -> $what ($orgWhat @ $orgPosition)");
     }
 
-    for (String instruction in _readingInstructions[what]) {
+    for (String instruction in _readingInstructions[what]!) {
       // Special-case a few things that aren't (easily) described in the
       // binary.md file.
       if (what == "Name" && instruction == "LibraryReference library;") {
@@ -694,7 +692,7 @@
   /// the binary.md file has been read in entirety (because the field isn't
   /// completely filled out yet).
   bool _isA(String what, String a) {
-    String parent = what;
+    String? parent = what;
     while (parent != null) {
       if (parent == a) return true;
       parent = _extends[parent];
@@ -715,7 +713,7 @@
 
     if (what == "Expression") {
       if (tagMap[_dillContent[_binaryOffset]] != null) {
-        what = tagMap[_dillContent[_binaryOffset]];
+        what = tagMap[_dillContent[_binaryOffset]]!;
         if (!_isA(what, "Expression")) {
           throw "Expected Expression but found $what";
         }
@@ -725,7 +723,7 @@
     }
     if (what == "IntegerLiteral") {
       if (tagMap[_dillContent[_binaryOffset]] != null) {
-        what = tagMap[_dillContent[_binaryOffset]];
+        what = tagMap[_dillContent[_binaryOffset]]!;
         if (!_isA(what, "IntegerLiteral")) {
           throw "Expected IntegerLiteral but found $what";
         }
@@ -735,7 +733,7 @@
     }
     if (what == "Statement") {
       if (tagMap[_dillContent[_binaryOffset]] != null) {
-        what = tagMap[_dillContent[_binaryOffset]];
+        what = tagMap[_dillContent[_binaryOffset]]!;
         if (!_isA(what, "Statement")) {
           throw "Expected Statement but found $what";
         }
@@ -745,7 +743,7 @@
     }
     if (what == "Initializer") {
       if (tagMap[_dillContent[_binaryOffset]] != null) {
-        what = tagMap[_dillContent[_binaryOffset]];
+        what = tagMap[_dillContent[_binaryOffset]]!;
         if (!_isA(what, "Initializer")) {
           throw "Expected Initializer but found $what";
         }
@@ -755,7 +753,7 @@
     }
     if (what == "DartType") {
       if (tagMap[_dillContent[_binaryOffset]] != null) {
-        what = tagMap[_dillContent[_binaryOffset]];
+        what = tagMap[_dillContent[_binaryOffset]]!;
         if (!_isA(what, "DartType")) {
           throw "Expected DartType but found $what";
         }
@@ -766,13 +764,13 @@
     }
     if (what.startsWith("Option<")) {
       if (tagMap[_dillContent[_binaryOffset]] != null &&
-          tagMap[_dillContent[_binaryOffset]].startsWith("Something<")) {
+          tagMap[_dillContent[_binaryOffset]]!.startsWith("Something<")) {
         what = what.replaceFirst("Option<", "Something<");
       }
     }
     if (what == "Constant") {
       if (tagMap[_dillContent[_binaryOffset]] != null) {
-        what = tagMap[_dillContent[_binaryOffset]];
+        what = tagMap[_dillContent[_binaryOffset]]!;
         if (!_isA(what, "Constant")) {
           throw "Expected Constant but found $what";
         }
@@ -837,11 +835,11 @@
 }
 
 class DillComparer {
-  Map<int, String> tagToName;
-  StringBuffer outputTo;
+  Map<int, String>? tagToName;
+  StringBuffer? outputTo;
 
   bool compare(List<int> a, List<int> b, String binaryMd,
-      [StringBuffer outputTo]) {
+      [StringBuffer? outputTo]) {
     this.outputTo = outputTo;
     bool printOnExit = false;
     if (this.outputTo == null) {
@@ -865,10 +863,10 @@
   int outputLines = 0;
 
   void printDifference(String s) {
-    outputTo.writeln("----------");
-    outputTo.writeln(s);
-    outputTo.writeln("'Stacktrace':");
-    stack.forEach(outputTo.writeln);
+    outputTo!.writeln("----------");
+    outputTo!.writeln(s);
+    outputTo!.writeln("'Stacktrace':");
+    stack.forEach(outputTo!.writeln);
     outputLines += 3 + stack.length;
   }
 
@@ -937,8 +935,8 @@
     if (input is Map) {
       dynamic tag = input["tag"];
       if (tag != null) {
-        if (tagToName[tag] != null) {
-          return "(tag $tag, likely '${tagToName[tag]}')";
+        if (tagToName![tag] != null) {
+          return "(tag $tag, likely '${tagToName![tag]}')";
         }
         return "(tag $tag)";
       }
diff --git a/pkg/front_end/test/enable_non_nullable/data/allowed_package/lib/tests/language_2/implicitly_not_nnbd.dart b/pkg/front_end/test/enable_non_nullable/data/allowed_package/lib/tests/language_2/implicitly_not_nnbd.dart
deleted file mode 100644
index a316359..0000000
--- a/pkg/front_end/test/enable_non_nullable/data/allowed_package/lib/tests/language_2/implicitly_not_nnbd.dart
+++ /dev/null
@@ -1,18 +0,0 @@
-// 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.
-
-// Partial copy of tests/language_2/syntax/pre_nnbd_modifiers_test.dart.
-
-class late {
-  int get g => 1;
-}
-
-class required {
-  int get g => 2;
-}
-
-class C {
-  late l = late();
-  required r = required();
-}
diff --git a/pkg/front_end/test/enable_non_nullable/data/main.dart b/pkg/front_end/test/enable_non_nullable/data/main.dart
index 5744d19..cc333b0 100644
--- a/pkg/front_end/test/enable_non_nullable/data/main.dart
+++ b/pkg/front_end/test/enable_non_nullable/data/main.dart
@@ -7,13 +7,11 @@
 import 'package:allowed_package/versioned_2_9_lib.dart';
 import 'package:allowed_package/versioned_2_10_lib.dart';
 import 'package:allowed_package/versioned_2_11_lib.dart';
-import 'package:allowed_package/tests/language_2/implicitly_not_nnbd.dart';
 import 'package:not_allowed_package/unversioned_lib.dart';
 import 'package:not_allowed_package/versioned_2_8_lib.dart';
 import 'package:not_allowed_package/versioned_2_9_lib.dart';
 import 'package:not_allowed_package/versioned_2_10_lib.dart';
 import 'package:not_allowed_package/versioned_2_11_lib.dart';
-import 'package:not_allowed_package/tests/language_2/implicitly_not_nnbd.dart';
 import 'unversioned_lib.dart';
 import 'versioned_2_8_lib.dart';
 import 'versioned_2_9_lib.dart';
diff --git a/pkg/front_end/test/enable_non_nullable/data/not_allowed_package/lib/tests/language_2/implicitly_not_nnbd.dart b/pkg/front_end/test/enable_non_nullable/data/not_allowed_package/lib/tests/language_2/implicitly_not_nnbd.dart
deleted file mode 100644
index a316359..0000000
--- a/pkg/front_end/test/enable_non_nullable/data/not_allowed_package/lib/tests/language_2/implicitly_not_nnbd.dart
+++ /dev/null
@@ -1,18 +0,0 @@
-// 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.
-
-// Partial copy of tests/language_2/syntax/pre_nnbd_modifiers_test.dart.
-
-class late {
-  int get g => 1;
-}
-
-class required {
-  int get g => 2;
-}
-
-class C {
-  late l = late();
-  required r = required();
-}
diff --git a/pkg/front_end/test/enable_non_nullable/enable_non_nullable_test.dart b/pkg/front_end/test/enable_non_nullable/enable_non_nullable_test.dart
index d95cf75..1440d83 100644
--- a/pkg/front_end/test/enable_non_nullable/enable_non_nullable_test.dart
+++ b/pkg/front_end/test/enable_non_nullable/enable_non_nullable_test.dart
@@ -12,7 +12,6 @@
 import 'package:front_end/src/api_prototype/kernel_generator.dart';
 import 'package:front_end/src/api_prototype/language_version.dart';
 import 'package:front_end/src/compute_platform_binaries_location.dart';
-import 'package:front_end/src/fasta/source/source_library_builder.dart';
 import 'package:kernel/ast.dart';
 
 /// The version used in this test as the experiment release version.
@@ -142,8 +141,7 @@
           " (package) uri=${versionAndPackageUri.packageUri}");
       Expect.isTrue(
           library.languageVersion < versionImpliesOptIn ||
-              library.isNonNullableByDefault ||
-              SourceLibraryBuilder.isOptOutTest(library.fileUri),
+              library.isNonNullableByDefault,
           "Expected library ${library.importUri} with version "
           "${library.languageVersion} to be opted in.");
       Expect.isTrue(
@@ -151,8 +149,7 @@
               !versionAndPackageUri.packageUri.path
                   .startsWith('allowed_package') ||
               library.languageVersion < versionOptsInAllowed ||
-              library.isNonNullableByDefault ||
-              SourceLibraryBuilder.isOptOutTest(library.fileUri),
+              library.isNonNullableByDefault,
           "Expected allowed library ${library.importUri} with version "
           "${library.languageVersion} to be opted in.");
     }
diff --git a/pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart b/pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart
index e483c41..2021c88 100644
--- a/pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart
+++ b/pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart
@@ -657,9 +657,18 @@
 
 void _testSuperPostIncDec() {}
 
-void _testIndexGet() {}
+void _testIndexGet() {
+  testExpression(new IndexGet(new IntLiteral(0), new IntLiteral(1)), '''
+0[1]''');
+}
 
-void _testIndexSet() {}
+void _testIndexSet() {
+  testExpression(
+      new IndexSet(new IntLiteral(0), new IntLiteral(1), new IntLiteral(2),
+          forEffect: false),
+      '''
+0[1] = 2''');
+}
 
 void _testSuperIndexSet() {}
 
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.expect
index 539ee45..aff37fe 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.expect
@@ -78,7 +78,7 @@
     return Simple2(this.name);
     ^";
 static const field self::B var3 = invalid-expression "This assertion failed.";
-static const field dynamic var4 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart:41:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+static const field invalid-type var4 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart:41:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
 const var4 = C();
              ^";
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.transformed.expect
index 1fd70dc..3b12ad15 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.transformed.expect
@@ -78,7 +78,7 @@
     return Simple2(this.name);
     ^";
 static const field self::B var3 = invalid-expression "This assertion failed.";
-static const field dynamic var4 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart:41:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+static const field invalid-type var4 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart:41:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
 const var4 = C();
              ^";
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.expect
index 539ee45..aff37fe 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.expect
@@ -78,7 +78,7 @@
     return Simple2(this.name);
     ^";
 static const field self::B var3 = invalid-expression "This assertion failed.";
-static const field dynamic var4 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart:41:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+static const field invalid-type var4 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart:41:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
 const var4 = C();
              ^";
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.outline.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.outline.expect
index f6cf6a09a..67ae15b 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.outline.expect
@@ -43,7 +43,7 @@
 static const field self::Simple var1 = const self::Simple::•(self::printString);
 static const field self::Simple2 var2 = const self::Simple2::•(self::printString);
 static const field self::B var3 = const self::B::•();
-static const field dynamic var4 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart:41:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+static const field invalid-type var4 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart:41:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
 const var4 = C();
              ^";
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.transformed.expect
index 1fd70dc..3b12ad15 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.transformed.expect
@@ -78,7 +78,7 @@
     return Simple2(this.name);
     ^";
 static const field self::B var3 = invalid-expression "This assertion failed.";
-static const field dynamic var4 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart:41:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+static const field invalid-type var4 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart:41:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
 const var4 = C();
              ^";
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.expect
index f4af2aa..3694dc3 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.expect
@@ -98,7 +98,7 @@
  - 'List' is from 'dart:core'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'invalidProperty'.
   return x.invalidProperty;
-           ^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+           ^^^^^^^^^^^^^^^" in (#C4){<unresolved>}.invalidProperty as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
 }
 static method getWithIndexExceptionFn() → core::int {
   return (#C5).{core::List::[]}(1){(core::int) → core::int};
@@ -107,7 +107,7 @@
   return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
 }
 static method getWithIndexExceptionFn3() → core::int {
-  return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+  return (#C5).{core::List::[]}(invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
   return x[0.1];
            ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
 }
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.transformed.expect
index 6afdb33..f28eea4 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.transformed.expect
@@ -98,7 +98,7 @@
  - 'List' is from 'dart:core'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'invalidProperty'.
   return x.invalidProperty;
-           ^^^^^^^^^^^^^^^";
+           ^^^^^^^^^^^^^^^" in (#C4){<unresolved>}.invalidProperty;
 }
 static method getWithIndexExceptionFn() → core::int {
   return (#C5).{core::List::[]}(1){(core::int) → core::int};
@@ -107,7 +107,7 @@
   return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
 }
 static method getWithIndexExceptionFn3() → core::int {
-  return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+  return (#C5).{core::List::[]}(invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
   return x[0.1];
            ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
 }
@@ -127,4 +127,4 @@
 
 Extra constant evaluation status:
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_list_error.dart:48:12 -> IntConstant(-1)
-Extra constant evaluation: evaluated: 11, effectively constant: 1
+Extra constant evaluation: evaluated: 9, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.expect
index 4accbb0..c19e6d1 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.expect
@@ -98,7 +98,7 @@
  - 'List' is from 'dart:core'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'invalidProperty'.
   return x.invalidProperty;
-           ^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+           ^^^^^^^^^^^^^^^" in (#C4){<unresolved>}.invalidProperty as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
 }
 static method getWithIndexExceptionFn() → core::int {
   return (#C5).{core::List::[]}(1){(core::int) → core::int};
@@ -107,7 +107,7 @@
   return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
 }
 static method getWithIndexExceptionFn3() → core::int {
-  return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+  return (#C5).{core::List::[]}(invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
   return x[0.1];
            ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
 }
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.transformed.expect
index 670f5fc..30a7368 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.transformed.expect
@@ -98,7 +98,7 @@
  - 'List' is from 'dart:core'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'invalidProperty'.
   return x.invalidProperty;
-           ^^^^^^^^^^^^^^^";
+           ^^^^^^^^^^^^^^^" in (#C4){<unresolved>}.invalidProperty;
 }
 static method getWithIndexExceptionFn() → core::int {
   return (#C5).{core::List::[]}(1){(core::int) → core::int};
@@ -107,7 +107,7 @@
   return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
 }
 static method getWithIndexExceptionFn3() → core::int {
-  return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+  return (#C5).{core::List::[]}(invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
   return x[0.1];
            ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
 }
@@ -127,4 +127,4 @@
 
 Extra constant evaluation status:
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_list_error.dart:48:12 -> IntConstant(-1)
-Extra constant evaluation: evaluated: 11, effectively constant: 1
+Extra constant evaluation: evaluated: 9, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.expect
index 7511ee3..6074624 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.expect
@@ -57,7 +57,7 @@
 }
 static method fn3() → dynamic {
   core::String s = "str";
-  return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+  return (#C1).{core::String::[]}(invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
   return str[1.1];
              ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
 }
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.transformed.expect
index 04e045d..9cd6e70 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.transformed.expect
@@ -57,7 +57,7 @@
 }
 static method fn3() → dynamic {
   core::String s = "str";
-  return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+  return (#C1).{core::String::[]}(invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
   return str[1.1];
              ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
 }
@@ -69,4 +69,4 @@
 
 Extra constant evaluation status:
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:16:14 -> IntConstant(-1)
-Extra constant evaluation: evaluated: 6, effectively constant: 1
+Extra constant evaluation: evaluated: 4, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.expect
index 7511ee3..6074624 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.expect
@@ -57,7 +57,7 @@
 }
 static method fn3() → dynamic {
   core::String s = "str";
-  return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+  return (#C1).{core::String::[]}(invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
   return str[1.1];
              ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
 }
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.transformed.expect
index 04e045d..9cd6e70 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.transformed.expect
@@ -57,7 +57,7 @@
 }
 static method fn3() → dynamic {
   core::String s = "str";
-  return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+  return (#C1).{core::String::[]}(invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
   return str[1.1];
              ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
 }
@@ -69,4 +69,4 @@
 
 Extra constant evaluation status:
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:16:14 -> IntConstant(-1)
-Extra constant evaluation: evaluated: 6, effectively constant: 1
+Extra constant evaluation: evaluated: 4, effectively constant: 1
diff --git a/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.expect
index fe25279..edfaeac 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.expect
@@ -16,7 +16,7 @@
 import "dart:core" as core;
 
 static field <T extends core::Object? = dynamic>(T%) → T% funcValue = #C1;
-static field (core::int) → core::int f = let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart:7:33: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
+static field (core::int) → core::int f = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart:7:33: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
 int Function(int) f = funcValue.call; // Disallowed!
                                 ^" in self::funcValue.call as{TypeError,ForNonNullableByDefault} (core::int) → core::int;
 static field (core::int) → core::int g = self::funcValue.call<core::int>;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.transformed.expect
index bdc66d1..4c7d363 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.transformed.expect
@@ -10,7 +10,7 @@
 import "dart:core" as core;
 
 static field <T extends core::Object? = dynamic>(T%) → T% funcValue = #C1;
-static field (core::int) → core::int f = let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart:7:33: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
+static field (core::int) → core::int f = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart:7:33: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
 int Function(int) f = funcValue.call; // Disallowed!
                                 ^" in self::funcValue.call as{TypeError,ForNonNullableByDefault} (core::int) → core::int;
 static method func<T extends core::Object? = dynamic>(self::func::T% value) → self::func::T%
diff --git a/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.weak.expect
index fe25279..edfaeac 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.weak.expect
@@ -16,7 +16,7 @@
 import "dart:core" as core;
 
 static field <T extends core::Object? = dynamic>(T%) → T% funcValue = #C1;
-static field (core::int) → core::int f = let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart:7:33: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
+static field (core::int) → core::int f = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart:7:33: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
 int Function(int) f = funcValue.call; // Disallowed!
                                 ^" in self::funcValue.call as{TypeError,ForNonNullableByDefault} (core::int) → core::int;
 static field (core::int) → core::int g = self::funcValue.call<core::int>;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.weak.transformed.expect
index bdc66d1..4c7d363 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
 import "dart:core" as core;
 
 static field <T extends core::Object? = dynamic>(T%) → T% funcValue = #C1;
-static field (core::int) → core::int f = let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart:7:33: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
+static field (core::int) → core::int f = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart:7:33: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
 int Function(int) f = funcValue.call; // Disallowed!
                                 ^" in self::funcValue.call as{TypeError,ForNonNullableByDefault} (core::int) → core::int;
 static method func<T extends core::Object? = dynamic>(self::func::T% value) → self::func::T%
diff --git a/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.strong.expect
index fdd4fb7..4382007 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.strong.expect
@@ -70,21 +70,21 @@
 static method test1() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
   return #C1;
 static method test2() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:13:32: Error: A value of type 'A<X/*1*/> Function<X>(X/*1*/, int)' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:13:32: Error: A value of type 'A<X/*1*/> Function<X>(X/*1*/, int)' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
 A<X> Function<X>(X) test2() => A.foo2; // Error.
                                ^" in (#C2) as{TypeError,ForNonNullableByDefault} Never;
 static method test3() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:14:32: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:14:32: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
 A<X> Function<X>(X) test3() => A.new; // Error.
                                ^" in (#C3) as{TypeError,ForNonNullableByDefault} Never;
 static method test4() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:15:32: Error: A value of type 'A<int> Function()' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:15:32: Error: A value of type 'A<int> Function()' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test4() => A<int>.new; // Error.
                                ^" in (#C4) as{TypeError,ForNonNullableByDefault} Never;
@@ -94,7 +94,7 @@
 A<X> Function<X>(X) test5() => A<int, String>.new; // Error.
                                ^";
 static method test6() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:17:32: Error: A value of type 'A<int> Function(int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:17:32: Error: A value of type 'A<int> Function(int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test6() => A<int>.foo1; // Error.
                                ^" in (#C5) as{TypeError,ForNonNullableByDefault} Never;
@@ -104,7 +104,7 @@
 A<X> Function<X>(X) test7() => A<int, String>.foo1; // Error.
                                ^";
 static method test8() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:19:32: Error: A value of type 'A<int> Function(int, int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:19:32: Error: A value of type 'A<int> Function(int, int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test8() => A<int>.foo2; // Error.
                                ^" in (#C6) as{TypeError,ForNonNullableByDefault} Never;
@@ -116,7 +116,7 @@
 static method test10() → <X extends core::Object? = dynamic>() → self::A<X%>
   return #C7;
 static method test11() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:22:33: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:22:33: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
diff --git a/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.strong.transformed.expect
index fdd4fb7..4382007 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.strong.transformed.expect
@@ -70,21 +70,21 @@
 static method test1() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
   return #C1;
 static method test2() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:13:32: Error: A value of type 'A<X/*1*/> Function<X>(X/*1*/, int)' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:13:32: Error: A value of type 'A<X/*1*/> Function<X>(X/*1*/, int)' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
 A<X> Function<X>(X) test2() => A.foo2; // Error.
                                ^" in (#C2) as{TypeError,ForNonNullableByDefault} Never;
 static method test3() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:14:32: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:14:32: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
 A<X> Function<X>(X) test3() => A.new; // Error.
                                ^" in (#C3) as{TypeError,ForNonNullableByDefault} Never;
 static method test4() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:15:32: Error: A value of type 'A<int> Function()' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:15:32: Error: A value of type 'A<int> Function()' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test4() => A<int>.new; // Error.
                                ^" in (#C4) as{TypeError,ForNonNullableByDefault} Never;
@@ -94,7 +94,7 @@
 A<X> Function<X>(X) test5() => A<int, String>.new; // Error.
                                ^";
 static method test6() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:17:32: Error: A value of type 'A<int> Function(int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:17:32: Error: A value of type 'A<int> Function(int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test6() => A<int>.foo1; // Error.
                                ^" in (#C5) as{TypeError,ForNonNullableByDefault} Never;
@@ -104,7 +104,7 @@
 A<X> Function<X>(X) test7() => A<int, String>.foo1; // Error.
                                ^";
 static method test8() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:19:32: Error: A value of type 'A<int> Function(int, int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:19:32: Error: A value of type 'A<int> Function(int, int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test8() => A<int>.foo2; // Error.
                                ^" in (#C6) as{TypeError,ForNonNullableByDefault} Never;
@@ -116,7 +116,7 @@
 static method test10() → <X extends core::Object? = dynamic>() → self::A<X%>
   return #C7;
 static method test11() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:22:33: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:22:33: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
diff --git a/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.weak.expect
index b0da904..1b4c49e 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.weak.expect
@@ -70,21 +70,21 @@
 static method test1() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
   return #C1;
 static method test2() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:13:32: Error: A value of type 'A<X/*1*/> Function<X>(X/*1*/, int)' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:13:32: Error: A value of type 'A<X/*1*/> Function<X>(X/*1*/, int)' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
 A<X> Function<X>(X) test2() => A.foo2; // Error.
                                ^" in (#C2) as{TypeError,ForNonNullableByDefault} Never;
 static method test3() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:14:32: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:14:32: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
 A<X> Function<X>(X) test3() => A.new; // Error.
                                ^" in (#C3) as{TypeError,ForNonNullableByDefault} Never;
 static method test4() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:15:32: Error: A value of type 'A<int> Function()' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:15:32: Error: A value of type 'A<int> Function()' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test4() => A<int>.new; // Error.
                                ^" in (#C4) as{TypeError,ForNonNullableByDefault} Never;
@@ -94,7 +94,7 @@
 A<X> Function<X>(X) test5() => A<int, String>.new; // Error.
                                ^";
 static method test6() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:17:32: Error: A value of type 'A<int> Function(int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:17:32: Error: A value of type 'A<int> Function(int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test6() => A<int>.foo1; // Error.
                                ^" in (#C5) as{TypeError,ForNonNullableByDefault} Never;
@@ -104,7 +104,7 @@
 A<X> Function<X>(X) test7() => A<int, String>.foo1; // Error.
                                ^";
 static method test8() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:19:32: Error: A value of type 'A<int> Function(int, int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:19:32: Error: A value of type 'A<int> Function(int, int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test8() => A<int>.foo2; // Error.
                                ^" in (#C6) as{TypeError,ForNonNullableByDefault} Never;
@@ -116,7 +116,7 @@
 static method test10() → <X extends core::Object? = dynamic>() → self::A<X%>
   return #C7;
 static method test11() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:22:33: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:22:33: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
diff --git a/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.weak.transformed.expect
index b0da904..1b4c49e 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart.weak.transformed.expect
@@ -70,21 +70,21 @@
 static method test1() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
   return #C1;
 static method test2() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:13:32: Error: A value of type 'A<X/*1*/> Function<X>(X/*1*/, int)' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:13:32: Error: A value of type 'A<X/*1*/> Function<X>(X/*1*/, int)' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
 A<X> Function<X>(X) test2() => A.foo2; // Error.
                                ^" in (#C2) as{TypeError,ForNonNullableByDefault} Never;
 static method test3() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:14:32: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:14:32: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
 A<X> Function<X>(X) test3() => A.new; // Error.
                                ^" in (#C3) as{TypeError,ForNonNullableByDefault} Never;
 static method test4() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:15:32: Error: A value of type 'A<int> Function()' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:15:32: Error: A value of type 'A<int> Function()' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test4() => A<int>.new; // Error.
                                ^" in (#C4) as{TypeError,ForNonNullableByDefault} Never;
@@ -94,7 +94,7 @@
 A<X> Function<X>(X) test5() => A<int, String>.new; // Error.
                                ^";
 static method test6() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:17:32: Error: A value of type 'A<int> Function(int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:17:32: Error: A value of type 'A<int> Function(int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test6() => A<int>.foo1; // Error.
                                ^" in (#C5) as{TypeError,ForNonNullableByDefault} Never;
@@ -104,7 +104,7 @@
 A<X> Function<X>(X) test7() => A<int, String>.foo1; // Error.
                                ^";
 static method test8() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:19:32: Error: A value of type 'A<int> Function(int, int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:19:32: Error: A value of type 'A<int> Function(int, int)' can't be returned from a function with return type 'A<X> Function<X>(X)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
 A<X> Function<X>(X) test8() => A<int>.foo2; // Error.
                                ^" in (#C6) as{TypeError,ForNonNullableByDefault} Never;
@@ -116,7 +116,7 @@
 static method test10() → <X extends core::Object? = dynamic>() → self::A<X%>
   return #C7;
 static method test11() → <X extends core::Object? = dynamic>(X%) → self::A<X%>
-  return let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:22:33: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart:22:33: Error: A value of type 'A<X/*1*/> Function<X>()' can't be returned from a function with return type 'A<X/*2*/> Function<X>(X/*2*/)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/generic_tearoff_with_context.dart'.
  - 'X/*1*/' is from 'unknown'.
  - 'X/*2*/' is from 'unknown'.
diff --git a/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.strong.expect
index e2692d7..5857e8c 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.strong.expect
@@ -45,7 +45,7 @@
   self::Class1 c1a = f1a(0){(core::int) → self::Class1};
   self::expect(true, c1a is{ForNonNullableByDefault} self::Class1);
   () → Null {
-    f1a(let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f1a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f1a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class1};
   };
@@ -59,7 +59,7 @@
   self::Class2 c2a = f2a(0){(core::int) → self::Class2};
   self::expect(true, c2a is{ForNonNullableByDefault} self::Class2);
   () → Null {
-    f2a(let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f2a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f2a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class2};
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.strong.transformed.expect
index 6a6db60..2438c7c 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.strong.transformed.expect
@@ -45,7 +45,7 @@
   self::Class1 c1a = f1a(0){(core::int) → self::Class1};
   self::expect(true, c1a is{ForNonNullableByDefault} self::Class1);
   () → Null {
-    f1a(let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f1a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f1a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class1};
   };
@@ -59,7 +59,7 @@
   self::Class2 c2a = f2a(0){(core::int) → self::Class2};
   self::expect(true, c2a is{ForNonNullableByDefault} self::Class2);
   () → Null {
-    f2a(let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f2a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f2a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class2};
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.weak.expect
index e2692d7..5857e8c 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.weak.expect
@@ -45,7 +45,7 @@
   self::Class1 c1a = f1a(0){(core::int) → self::Class1};
   self::expect(true, c1a is{ForNonNullableByDefault} self::Class1);
   () → Null {
-    f1a(let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f1a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f1a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class1};
   };
@@ -59,7 +59,7 @@
   self::Class2 c2a = f2a(0){(core::int) → self::Class2};
   self::expect(true, c2a is{ForNonNullableByDefault} self::Class2);
   () → Null {
-    f2a(let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f2a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f2a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class2};
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.weak.transformed.expect
index 6a6db60..2438c7c 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
   self::Class1 c1a = f1a(0){(core::int) → self::Class1};
   self::expect(true, c1a is{ForNonNullableByDefault} self::Class1);
   () → Null {
-    f1a(let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f1a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f1a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class1};
   };
@@ -59,7 +59,7 @@
   self::Class2 c2a = f2a(0){(core::int) → self::Class2};
   self::expect(true, c2a is{ForNonNullableByDefault} self::Class2);
   () → Null {
-    f2a(let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f2a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f2a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class2};
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.strong.expect
index 2dac5ed..678c59b 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.strong.expect
@@ -121,10 +121,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:73:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:73:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:74:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:74:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -140,7 +140,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:89:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:89:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -155,10 +155,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:103:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:103:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:104:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:104:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -172,17 +172,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:116:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:116:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:117:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:117:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:118:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:118:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:119:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:119:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.strong.transformed.expect
index 67d30a7..0637a6f 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.strong.transformed.expect
@@ -121,10 +121,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:73:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:73:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:74:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:74:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -140,7 +140,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:89:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:89:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -155,10 +155,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:103:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:103:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:104:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:104:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -172,17 +172,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:116:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:116:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:117:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:117:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:118:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:118:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:119:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:119:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.weak.expect
index 2dac5ed..678c59b 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.weak.expect
@@ -121,10 +121,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:73:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:73:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:74:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:74:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -140,7 +140,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:89:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:89:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -155,10 +155,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:103:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:103:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:104:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:104:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -172,17 +172,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:116:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:116:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:117:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:117:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:118:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:118:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:119:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:119:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.weak.transformed.expect
index 67d30a7..0637a6f 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart.weak.transformed.expect
@@ -121,10 +121,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:73:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:73:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:74:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:74:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -140,7 +140,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:89:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:89:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -155,10 +155,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:103:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:103:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:104:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:104:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -172,17 +172,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:116:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:116:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:117:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:117:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:118:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:118:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:119:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off.dart:119:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.strong.expect
index 066aa724..9db8c5f 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.strong.expect
@@ -43,7 +43,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:31:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:31:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -60,7 +60,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:47:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:47:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.strong.transformed.expect
index c76d239..6d3c102 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.strong.transformed.expect
@@ -43,7 +43,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:31:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:31:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -60,7 +60,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:47:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:47:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.weak.expect
index 066aa724..9db8c5f 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.weak.expect
@@ -43,7 +43,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:31:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:31:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -60,7 +60,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:47:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:47:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.weak.transformed.expect
index c76d239..6d3c102 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart.weak.transformed.expect
@@ -43,7 +43,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:31:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:31:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -60,7 +60,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:47:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_default_values.dart:47:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.strong.expect
index 007285e..9957901 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.strong.expect
@@ -20,7 +20,7 @@
 }
 static method main() → dynamic {}
 static method /* from org-dartlang-testcase:///constructor_tear_off_uri_part.dart */ test() → dynamic {
-  (core::int) → self::Class f = let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri_part.dart:8:27: Error: A value of type 'Class Function()' can't be assigned to a variable of type 'Class Function(int)'.
+  (core::int) → self::Class f = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri_part.dart:8:27: Error: A value of type 'Class Function()' can't be assigned to a variable of type 'Class Function(int)'.
  - 'Class' is from 'pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart'.
   Class Function(int) f = Class.new;
                           ^" in (#C1) as{TypeError,ForNonNullableByDefault} (core::int) → self::Class;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.strong.transformed.expect
index 007285e..9957901 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.strong.transformed.expect
@@ -20,7 +20,7 @@
 }
 static method main() → dynamic {}
 static method /* from org-dartlang-testcase:///constructor_tear_off_uri_part.dart */ test() → dynamic {
-  (core::int) → self::Class f = let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri_part.dart:8:27: Error: A value of type 'Class Function()' can't be assigned to a variable of type 'Class Function(int)'.
+  (core::int) → self::Class f = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri_part.dart:8:27: Error: A value of type 'Class Function()' can't be assigned to a variable of type 'Class Function(int)'.
  - 'Class' is from 'pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart'.
   Class Function(int) f = Class.new;
                           ^" in (#C1) as{TypeError,ForNonNullableByDefault} (core::int) → self::Class;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.weak.expect
index 007285e..9957901 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.weak.expect
@@ -20,7 +20,7 @@
 }
 static method main() → dynamic {}
 static method /* from org-dartlang-testcase:///constructor_tear_off_uri_part.dart */ test() → dynamic {
-  (core::int) → self::Class f = let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri_part.dart:8:27: Error: A value of type 'Class Function()' can't be assigned to a variable of type 'Class Function(int)'.
+  (core::int) → self::Class f = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri_part.dart:8:27: Error: A value of type 'Class Function()' can't be assigned to a variable of type 'Class Function(int)'.
  - 'Class' is from 'pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart'.
   Class Function(int) f = Class.new;
                           ^" in (#C1) as{TypeError,ForNonNullableByDefault} (core::int) → self::Class;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.weak.transformed.expect
index 007285e..9957901 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
 }
 static method main() → dynamic {}
 static method /* from org-dartlang-testcase:///constructor_tear_off_uri_part.dart */ test() → dynamic {
-  (core::int) → self::Class f = let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri_part.dart:8:27: Error: A value of type 'Class Function()' can't be assigned to a variable of type 'Class Function(int)'.
+  (core::int) → self::Class f = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri_part.dart:8:27: Error: A value of type 'Class Function()' can't be assigned to a variable of type 'Class Function(int)'.
  - 'Class' is from 'pkg/front_end/testcases/constructor_tearoffs/lowering/constructor_tear_off_uri.dart'.
   Class Function(int) f = Class.new;
                           ^" in (#C1) as{TypeError,ForNonNullableByDefault} (core::int) → self::Class;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.strong.expect
index 7c14634..68c70e1 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.strong.expect
@@ -145,10 +145,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:82:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:82:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:83:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:83:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -164,7 +164,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:98:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:98:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -179,10 +179,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:112:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:112:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:113:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:113:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -196,17 +196,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:125:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:125:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:126:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:126:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:127:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:127:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:128:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:128:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.strong.transformed.expect
index ebe5432..ae147ff 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.strong.transformed.expect
@@ -145,10 +145,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:82:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:82:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:83:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:83:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -164,7 +164,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:98:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:98:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -179,10 +179,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:112:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:112:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:113:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:113:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -196,17 +196,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:125:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:125:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:126:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:126:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:127:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:127:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:128:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:128:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.weak.expect
index 7c14634..68c70e1 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.weak.expect
@@ -145,10 +145,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:82:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:82:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:83:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:83:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -164,7 +164,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:98:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:98:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -179,10 +179,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:112:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:112:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:113:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:113:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -196,17 +196,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:125:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:125:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:126:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:126:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:127:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:127:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:128:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:128:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.weak.transformed.expect
index ebe5432..ae147ff 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart.weak.transformed.expect
@@ -145,10 +145,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:82:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:82:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:83:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:83:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -164,7 +164,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:98:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:98:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -179,10 +179,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:112:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:112:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:113:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:113:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -196,17 +196,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:125:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:125:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:126:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:126:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:127:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:127:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:128:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off.dart:128:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.strong.expect
index bcc5942..6ef9f15 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.strong.expect
@@ -51,7 +51,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -68,7 +68,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.strong.transformed.expect
index db9b0fa..2c3136a 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.strong.transformed.expect
@@ -51,7 +51,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -68,7 +68,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.weak.expect
index bcc5942..6ef9f15 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.weak.expect
@@ -51,7 +51,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -68,7 +68,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.weak.transformed.expect
index db9b0fa..2c3136a 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart.weak.transformed.expect
@@ -51,7 +51,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -68,7 +68,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.strong.expect
index 1806fdc..613a456 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.strong.expect
@@ -69,10 +69,10 @@
   mai::Class3 c3a = f3a(42){(core::int) → mai::Class3};
   self::expect(42, c3a.{mai::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:44:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:44:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:45:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:45:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -90,7 +90,7 @@
   self::expect(true, c4b is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4b is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:62:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:62:8: Error: Expected 1 type arguments.
     f4a<int, String>(); // error
        ^" in f4a{<inapplicable>}.<core::int, core::String>();
   };
@@ -99,7 +99,7 @@
   self::expect(true, c4c is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4c is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:70:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:70:8: Error: Expected 0 type arguments.
     f4b<int>(); // error
        ^" in f4b{<inapplicable>}.<core::int>();
   };
@@ -116,7 +116,7 @@
   self::expect(true, c4f is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4f is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:87:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:87:8: Error: Expected 1 type arguments.
     f4d<int, String>(); // error
        ^" in f4d{<inapplicable>}.<core::int, core::String>();
   };
@@ -125,7 +125,7 @@
   self::expect(true, c4g is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4g is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:95:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:95:8: Error: Expected 0 type arguments.
     f4e<int>(); // error
        ^" in f4e{<inapplicable>}.<core::int>();
   };
@@ -143,7 +143,7 @@
   self::expect(false, c5b is{ForNonNullableByDefault} mai::Class5<core::double>);
   () → Null {
     f5a<core::String>(){() → mai::Class5<core::String>};
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:113:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:113:8: Error: Expected 1 type arguments.
     f5a<int, String>(); // error
        ^" in f5a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.strong.transformed.expect
index 9edd33a..0a6f706 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.strong.transformed.expect
@@ -69,10 +69,10 @@
   mai::Class3 c3a = f3a(42){(core::int) → mai::Class3};
   self::expect(42, c3a.{mai::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:44:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:44:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:45:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:45:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -90,7 +90,7 @@
   self::expect(true, c4b is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4b is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:62:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:62:8: Error: Expected 1 type arguments.
     f4a<int, String>(); // error
        ^" in f4a{<inapplicable>}.<core::int, core::String>();
   };
@@ -99,7 +99,7 @@
   self::expect(true, c4c is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4c is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:70:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:70:8: Error: Expected 0 type arguments.
     f4b<int>(); // error
        ^" in f4b{<inapplicable>}.<core::int>();
   };
@@ -116,7 +116,7 @@
   self::expect(true, c4f is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4f is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:87:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:87:8: Error: Expected 1 type arguments.
     f4d<int, String>(); // error
        ^" in f4d{<inapplicable>}.<core::int, core::String>();
   };
@@ -125,7 +125,7 @@
   self::expect(true, c4g is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4g is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:95:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:95:8: Error: Expected 0 type arguments.
     f4e<int>(); // error
        ^" in f4e{<inapplicable>}.<core::int>();
   };
@@ -143,7 +143,7 @@
   self::expect(false, c5b is{ForNonNullableByDefault} mai::Class5<core::double>);
   () → Null {
     f5a<core::String>(){() → mai::Class5<core::String>};
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:113:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:113:8: Error: Expected 1 type arguments.
     f5a<int, String>(); // error
        ^" in f5a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.weak.expect
index 1806fdc..613a456 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.weak.expect
@@ -69,10 +69,10 @@
   mai::Class3 c3a = f3a(42){(core::int) → mai::Class3};
   self::expect(42, c3a.{mai::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:44:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:44:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:45:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:45:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -90,7 +90,7 @@
   self::expect(true, c4b is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4b is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:62:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:62:8: Error: Expected 1 type arguments.
     f4a<int, String>(); // error
        ^" in f4a{<inapplicable>}.<core::int, core::String>();
   };
@@ -99,7 +99,7 @@
   self::expect(true, c4c is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4c is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:70:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:70:8: Error: Expected 0 type arguments.
     f4b<int>(); // error
        ^" in f4b{<inapplicable>}.<core::int>();
   };
@@ -116,7 +116,7 @@
   self::expect(true, c4f is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4f is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:87:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:87:8: Error: Expected 1 type arguments.
     f4d<int, String>(); // error
        ^" in f4d{<inapplicable>}.<core::int, core::String>();
   };
@@ -125,7 +125,7 @@
   self::expect(true, c4g is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4g is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:95:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:95:8: Error: Expected 0 type arguments.
     f4e<int>(); // error
        ^" in f4e{<inapplicable>}.<core::int>();
   };
@@ -143,7 +143,7 @@
   self::expect(false, c5b is{ForNonNullableByDefault} mai::Class5<core::double>);
   () → Null {
     f5a<core::String>(){() → mai::Class5<core::String>};
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:113:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:113:8: Error: Expected 1 type arguments.
     f5a<int, String>(); // error
        ^" in f5a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.weak.transformed.expect
index 9edd33a..0a6f706 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart.weak.transformed.expect
@@ -69,10 +69,10 @@
   mai::Class3 c3a = f3a(42){(core::int) → mai::Class3};
   self::expect(42, c3a.{mai::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:44:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:44:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:45:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:45:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -90,7 +90,7 @@
   self::expect(true, c4b is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4b is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:62:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:62:8: Error: Expected 1 type arguments.
     f4a<int, String>(); // error
        ^" in f4a{<inapplicable>}.<core::int, core::String>();
   };
@@ -99,7 +99,7 @@
   self::expect(true, c4c is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4c is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:70:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:70:8: Error: Expected 0 type arguments.
     f4b<int>(); // error
        ^" in f4b{<inapplicable>}.<core::int>();
   };
@@ -116,7 +116,7 @@
   self::expect(true, c4f is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4f is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:87:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:87:8: Error: Expected 1 type arguments.
     f4d<int, String>(); // error
        ^" in f4d{<inapplicable>}.<core::int, core::String>();
   };
@@ -125,7 +125,7 @@
   self::expect(true, c4g is{ForNonNullableByDefault} mai::Class4<core::int>);
   self::expect(false, c4g is{ForNonNullableByDefault} mai::Class4<core::String>);
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:95:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:95:8: Error: Expected 0 type arguments.
     f4e<int>(); // error
        ^" in f4e{<inapplicable>}.<core::int>();
   };
@@ -143,7 +143,7 @@
   self::expect(false, c5b is{ForNonNullableByDefault} mai::Class5<core::double>);
   () → Null {
     f5a<core::String>(){() → mai::Class5<core::String>};
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:113:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/from_dill/main.dart:113:8: Error: Expected 1 type arguments.
     f5a<int, String>(); // error
        ^" in f5a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.strong.expect
index 1802229..7cca76e 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.strong.expect
@@ -84,7 +84,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:24:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:24:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -93,7 +93,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:32:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:32:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -113,7 +113,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:60:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:60:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.strong.transformed.expect
index d13da4b..bc46c71 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.strong.transformed.expect
@@ -84,7 +84,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:24:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:24:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -93,7 +93,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:32:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:32:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -113,7 +113,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:60:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:60:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.weak.expect
index 1802229..7cca76e 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.weak.expect
@@ -84,7 +84,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:24:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:24:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -93,7 +93,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:32:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:32:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -113,7 +113,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:60:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:60:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.weak.transformed.expect
index d13da4b..bc46c71 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart.weak.transformed.expect
@@ -84,7 +84,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:24:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:24:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -93,7 +93,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:32:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:32:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -113,7 +113,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:60:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_constructor_tear_off.dart:60:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.strong.expect
index eae54df..2addbc7 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.strong.expect
@@ -104,7 +104,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -113,7 +113,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -133,7 +133,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.strong.transformed.expect
index 552fe7e..11d7673 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.strong.transformed.expect
@@ -104,7 +104,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -113,7 +113,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -133,7 +133,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.weak.expect
index eae54df..2addbc7 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.weak.expect
@@ -104,7 +104,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -113,7 +113,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -133,7 +133,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.weak.transformed.expect
index 552fe7e..11d7673 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart.weak.transformed.expect
@@ -104,7 +104,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -113,7 +113,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -133,7 +133,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.strong.expect
index 14303b7..e617e7d 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.strong.expect
@@ -109,7 +109,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -118,7 +118,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -138,7 +138,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.strong.transformed.expect
index 2ede93c..93bb730 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.strong.transformed.expect
@@ -109,7 +109,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -118,7 +118,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -138,7 +138,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.weak.expect
index 14303b7..e617e7d 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.weak.expect
@@ -109,7 +109,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -118,7 +118,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -138,7 +138,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.weak.transformed.expect
index 2ede93c..93bb730 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart.weak.transformed.expect
@@ -109,7 +109,7 @@
   self::expect(true, c1b is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1b is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:27:8: Error: Expected 1 type arguments.
     f1a<int, String>(); // error
        ^" in f1a{<inapplicable>}.<core::int, core::String>();
   };
@@ -118,7 +118,7 @@
   self::expect(true, c1c is{ForNonNullableByDefault} self::Class1<core::int>);
   self::expect(false, c1c is{ForNonNullableByDefault} self::Class1<core::String>);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:35:8: Error: Expected 0 type arguments.
     f1b<int>(); // error
        ^" in f1b{<inapplicable>}.<core::int>();
   };
@@ -138,7 +138,7 @@
   self::expect(false, c2b is{ForNonNullableByDefault} self::Class2<core::double>);
   () → Null {
     f2a<core::String>(){() → self::Class2<core::String>};
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/generic_redirecting_factory_tear_off.dart:75:8: Error: Expected 1 type arguments.
     f2a<int, String>(); // error
        ^" in f2a{<inapplicable>}.<core::int, core::String>();
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.strong.expect
index fa85f71..da67936 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.strong.expect
@@ -49,7 +49,7 @@
   self::Class1 c1a = f1a(0){(core::int) → self::Class1};
   self::expect(true, c1a is{ForNonNullableByDefault} self::Class1);
   () → Null {
-    f1a(let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f1a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f1a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class1};
   };
@@ -63,7 +63,7 @@
   self::Class2 c2a = f2a(0){(core::int) → self::Class2};
   self::expect(true, c2a is{ForNonNullableByDefault} self::Class2);
   () → Null {
-    f2a(let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f2a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f2a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class2};
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.strong.transformed.expect
index 2664cf0..8897cd5 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.strong.transformed.expect
@@ -49,7 +49,7 @@
   self::Class1 c1a = f1a(0){(core::int) → self::Class1};
   self::expect(true, c1a is{ForNonNullableByDefault} self::Class1);
   () → Null {
-    f1a(let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f1a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f1a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class1};
   };
@@ -63,7 +63,7 @@
   self::Class2 c2a = f2a(0){(core::int) → self::Class2};
   self::expect(true, c2a is{ForNonNullableByDefault} self::Class2);
   () → Null {
-    f2a(let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f2a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f2a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class2};
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.weak.expect
index fa85f71..da67936 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.weak.expect
@@ -49,7 +49,7 @@
   self::Class1 c1a = f1a(0){(core::int) → self::Class1};
   self::expect(true, c1a is{ForNonNullableByDefault} self::Class1);
   () → Null {
-    f1a(let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f1a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f1a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class1};
   };
@@ -63,7 +63,7 @@
   self::Class2 c2a = f2a(0){(core::int) → self::Class2};
   self::expect(true, c2a is{ForNonNullableByDefault} self::Class2);
   () → Null {
-    f2a(let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f2a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f2a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class2};
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.weak.transformed.expect
index 2664cf0..8897cd5 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart.weak.transformed.expect
@@ -49,7 +49,7 @@
   self::Class1 c1a = f1a(0){(core::int) → self::Class1};
   self::expect(true, c1a is{ForNonNullableByDefault} self::Class1);
   () → Null {
-    f1a(let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f1a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:38:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f1a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class1};
   };
@@ -63,7 +63,7 @@
   self::Class2 c2a = f2a(0){(core::int) → self::Class2};
   self::expect(true, c2a is{ForNonNullableByDefault} self::Class2);
   () → Null {
-    f2a(let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
+    f2a(invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/inferred_constructor_tear_off.dart:52:9: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
     f2a(''); // error
         ^" in "" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → self::Class2};
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.strong.expect
index a115126..aed844f 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.strong.expect
@@ -183,10 +183,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -202,7 +202,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -217,10 +217,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -234,17 +234,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.strong.transformed.expect
index 02a4614..ab369c9 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.strong.transformed.expect
@@ -183,10 +183,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -202,7 +202,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -217,10 +217,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -234,17 +234,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.weak.expect
index a115126..aed844f 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.weak.expect
@@ -183,10 +183,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -202,7 +202,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -217,10 +217,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -234,17 +234,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.weak.transformed.expect
index 02a4614..ab369c9 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart.weak.transformed.expect
@@ -183,10 +183,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -202,7 +202,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -217,10 +217,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -234,17 +234,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.strong.expect
index 873e7a9..8d0766c 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.strong.expect
@@ -53,7 +53,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -70,7 +70,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.strong.transformed.expect
index fe92fac..726cb47 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.strong.transformed.expect
@@ -53,7 +53,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -70,7 +70,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.weak.expect
index 873e7a9..8d0766c 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.weak.expect
@@ -53,7 +53,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -70,7 +70,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.weak.transformed.expect
index fe92fac..726cb47 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart.weak.transformed.expect
@@ -53,7 +53,7 @@
   self::Class1 c1b = f1a(87){([core::int]) → self::Class1};
   self::expect(87, c1b.{self::Class1::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:33:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1a(42, 87); // error
        ^" in f1a{<inapplicable>}.(42, 87);
@@ -70,7 +70,7 @@
   self::Class2 c2b = f2a(field: 87){({field: core::int}) → self::Class2};
   self::expect(87, c2b.{self::Class2::field}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values.dart:49:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(87); // error
        ^" in f2a{<inapplicable>}.(87);
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.strong.expect
index 6d9d205..dcd89ad 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.strong.expect
@@ -111,7 +111,7 @@
   self::expect(42, c1e.{self::Class1::field1}{core::int});
   self::expect(2, c1e.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:58:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:58:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1b(42, 87); // error
        ^" in f1b{<inapplicable>}.(42, 87);
@@ -121,11 +121,11 @@
   self::expect(1, c1f.{self::Class1::field1}{core::int});
   self::expect(2, c1f.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:66:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:66:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f1c(42); // error
        ^" in f1c{<inapplicable>}.(42);
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:67:8: Error: Too many positional arguments: 0 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:67:8: Error: Too many positional arguments: 0 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1c(42, 87); // error
        ^" in f1c{<inapplicable>}.(42, 87);
@@ -170,7 +170,7 @@
   self::expect(42, c4b.{self::Class1::field1}{core::int});
   self::expect(2, c4b.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:112:21: Error: No named parameter with the name 'field2'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:112:21: Error: No named parameter with the name 'field2'.
     f2c(field1: 42, field2: 87); // error
                     ^^^^^^" in f2c{<inapplicable>}.(field1: 42, field2: 87);
   };
@@ -182,7 +182,7 @@
   self::expect(1, c5b.{self::Class1::field1}{core::int});
   self::expect(87, c5b.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:123:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:123:9: Error: No named parameter with the name 'field1'.
     f2d(field1: 42, field2: 87); // error
         ^^^^^^" in f2d{<inapplicable>}.(field1: 42, field2: 87);
   };
@@ -191,13 +191,13 @@
   self::expect(1, c6a.{self::Class1::field1}{core::int});
   self::expect(2, c6a.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:131:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:131:9: Error: No named parameter with the name 'field1'.
     f2e(field1: 42); // error
         ^^^^^^" in f2e{<inapplicable>}.(field1: 42);
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:132:9: Error: No named parameter with the name 'field2'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:132:9: Error: No named parameter with the name 'field2'.
     f2e(field2: 87); // error
         ^^^^^^" in f2e{<inapplicable>}.(field2: 87);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:133:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:133:9: Error: No named parameter with the name 'field1'.
     f2e(field1: 42, field2: 87); // error
         ^^^^^^" in f2e{<inapplicable>}.(field1: 42, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.strong.transformed.expect
index ae52285..e90c370 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.strong.transformed.expect
@@ -111,7 +111,7 @@
   self::expect(42, c1e.{self::Class1::field1}{core::int});
   self::expect(2, c1e.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:58:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:58:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1b(42, 87); // error
        ^" in f1b{<inapplicable>}.(42, 87);
@@ -121,11 +121,11 @@
   self::expect(1, c1f.{self::Class1::field1}{core::int});
   self::expect(2, c1f.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:66:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:66:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f1c(42); // error
        ^" in f1c{<inapplicable>}.(42);
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:67:8: Error: Too many positional arguments: 0 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:67:8: Error: Too many positional arguments: 0 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1c(42, 87); // error
        ^" in f1c{<inapplicable>}.(42, 87);
@@ -170,7 +170,7 @@
   self::expect(42, c4b.{self::Class1::field1}{core::int});
   self::expect(2, c4b.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:112:21: Error: No named parameter with the name 'field2'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:112:21: Error: No named parameter with the name 'field2'.
     f2c(field1: 42, field2: 87); // error
                     ^^^^^^" in f2c{<inapplicable>}.(field1: 42, field2: 87);
   };
@@ -182,7 +182,7 @@
   self::expect(1, c5b.{self::Class1::field1}{core::int});
   self::expect(87, c5b.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:123:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:123:9: Error: No named parameter with the name 'field1'.
     f2d(field1: 42, field2: 87); // error
         ^^^^^^" in f2d{<inapplicable>}.(field1: 42, field2: 87);
   };
@@ -191,13 +191,13 @@
   self::expect(1, c6a.{self::Class1::field1}{core::int});
   self::expect(2, c6a.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:131:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:131:9: Error: No named parameter with the name 'field1'.
     f2e(field1: 42); // error
         ^^^^^^" in f2e{<inapplicable>}.(field1: 42);
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:132:9: Error: No named parameter with the name 'field2'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:132:9: Error: No named parameter with the name 'field2'.
     f2e(field2: 87); // error
         ^^^^^^" in f2e{<inapplicable>}.(field2: 87);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:133:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:133:9: Error: No named parameter with the name 'field1'.
     f2e(field1: 42, field2: 87); // error
         ^^^^^^" in f2e{<inapplicable>}.(field1: 42, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.weak.expect
index 6d9d205..dcd89ad 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.weak.expect
@@ -111,7 +111,7 @@
   self::expect(42, c1e.{self::Class1::field1}{core::int});
   self::expect(2, c1e.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:58:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:58:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1b(42, 87); // error
        ^" in f1b{<inapplicable>}.(42, 87);
@@ -121,11 +121,11 @@
   self::expect(1, c1f.{self::Class1::field1}{core::int});
   self::expect(2, c1f.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:66:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:66:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f1c(42); // error
        ^" in f1c{<inapplicable>}.(42);
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:67:8: Error: Too many positional arguments: 0 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:67:8: Error: Too many positional arguments: 0 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1c(42, 87); // error
        ^" in f1c{<inapplicable>}.(42, 87);
@@ -170,7 +170,7 @@
   self::expect(42, c4b.{self::Class1::field1}{core::int});
   self::expect(2, c4b.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:112:21: Error: No named parameter with the name 'field2'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:112:21: Error: No named parameter with the name 'field2'.
     f2c(field1: 42, field2: 87); // error
                     ^^^^^^" in f2c{<inapplicable>}.(field1: 42, field2: 87);
   };
@@ -182,7 +182,7 @@
   self::expect(1, c5b.{self::Class1::field1}{core::int});
   self::expect(87, c5b.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:123:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:123:9: Error: No named parameter with the name 'field1'.
     f2d(field1: 42, field2: 87); // error
         ^^^^^^" in f2d{<inapplicable>}.(field1: 42, field2: 87);
   };
@@ -191,13 +191,13 @@
   self::expect(1, c6a.{self::Class1::field1}{core::int});
   self::expect(2, c6a.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:131:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:131:9: Error: No named parameter with the name 'field1'.
     f2e(field1: 42); // error
         ^^^^^^" in f2e{<inapplicable>}.(field1: 42);
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:132:9: Error: No named parameter with the name 'field2'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:132:9: Error: No named parameter with the name 'field2'.
     f2e(field2: 87); // error
         ^^^^^^" in f2e{<inapplicable>}.(field2: 87);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:133:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:133:9: Error: No named parameter with the name 'field1'.
     f2e(field1: 42, field2: 87); // error
         ^^^^^^" in f2e{<inapplicable>}.(field1: 42, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.weak.transformed.expect
index ae52285..e90c370 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart.weak.transformed.expect
@@ -111,7 +111,7 @@
   self::expect(42, c1e.{self::Class1::field1}{core::int});
   self::expect(2, c1e.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:58:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:58:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1b(42, 87); // error
        ^" in f1b{<inapplicable>}.(42, 87);
@@ -121,11 +121,11 @@
   self::expect(1, c1f.{self::Class1::field1}{core::int});
   self::expect(2, c1f.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:66:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:66:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f1c(42); // error
        ^" in f1c{<inapplicable>}.(42);
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:67:8: Error: Too many positional arguments: 0 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:67:8: Error: Too many positional arguments: 0 allowed, but 2 found.
 Try removing the extra positional arguments.
     f1c(42, 87); // error
        ^" in f1c{<inapplicable>}.(42, 87);
@@ -170,7 +170,7 @@
   self::expect(42, c4b.{self::Class1::field1}{core::int});
   self::expect(2, c4b.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:112:21: Error: No named parameter with the name 'field2'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:112:21: Error: No named parameter with the name 'field2'.
     f2c(field1: 42, field2: 87); // error
                     ^^^^^^" in f2c{<inapplicable>}.(field1: 42, field2: 87);
   };
@@ -182,7 +182,7 @@
   self::expect(1, c5b.{self::Class1::field1}{core::int});
   self::expect(87, c5b.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:123:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:123:9: Error: No named parameter with the name 'field1'.
     f2d(field1: 42, field2: 87); // error
         ^^^^^^" in f2d{<inapplicable>}.(field1: 42, field2: 87);
   };
@@ -191,13 +191,13 @@
   self::expect(1, c6a.{self::Class1::field1}{core::int});
   self::expect(2, c6a.{self::Class1::field2}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:131:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:131:9: Error: No named parameter with the name 'field1'.
     f2e(field1: 42); // error
         ^^^^^^" in f2e{<inapplicable>}.(field1: 42);
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:132:9: Error: No named parameter with the name 'field2'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:132:9: Error: No named parameter with the name 'field2'.
     f2e(field2: 87); // error
         ^^^^^^" in f2e{<inapplicable>}.(field2: 87);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:133:9: Error: No named parameter with the name 'field1'.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/redirecting_factory_tear_off_default_values_complex.dart:133:9: Error: No named parameter with the name 'field1'.
     f2e(field1: 42, field2: 87); // error
         ^^^^^^" in f2e{<inapplicable>}.(field1: 42, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.strong.expect
index 848dbdd..2e24a01 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.strong.expect
@@ -124,7 +124,7 @@
   self::A c1a = f1a(){() → self::A};
   self::expect(true, c1a is{ForNonNullableByDefault} self::A);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:34:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:34:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f1a(0); // error
        ^" in f1a{<inapplicable>}.(0);
@@ -137,7 +137,7 @@
   self::A c2a = f2a<core::num>(){() → self::A};
   self::expect(true, c2a is{ForNonNullableByDefault} self::A);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:46:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:46:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(0); // error
        ^" in f2a{<inapplicable>}.<core::num>(0);
@@ -157,11 +157,11 @@
   self::expect(0, c3a.{self::B::field1}{core::int});
   self::expect("", c3a.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:65:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:65:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f3a(0); // error
        ^" in f3a{<inapplicable>}.(0);
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:66:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:66:8: Error: Expected 0 type arguments.
     f3a<String>(); // error
        ^" in f3a{<inapplicable>}.<core::String>();
   };
@@ -180,14 +180,14 @@
   self::expect(42, c3c.{self::B::field1}{core::int});
   self::expect("", c3c.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:85:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:85:8: Error: Too few positional arguments: 1 required, 0 given.
     f3c(); // error
        ^" in f3c{<inapplicable>}.();
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:86:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:86:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3c(0, 0); // error
        ^" in f3c{<inapplicable>}.(0, 0);
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:87:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:87:8: Error: Expected 0 type arguments.
     f3c<String>(0); // error
        ^" in f3c{<inapplicable>}.<core::String>(0);
   };
@@ -207,13 +207,13 @@
   self::expect(42, c3e.{self::B::field1}{core::int});
   self::expect("foo", c3e.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:107:8: Error: Too few positional arguments: 2 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:107:8: Error: Too few positional arguments: 2 required, 0 given.
     f3e(); // error
        ^" in f3e{<inapplicable>}.();
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:108:8: Error: Too few positional arguments: 2 required, 1 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:108:8: Error: Too few positional arguments: 2 required, 1 given.
     f3e(0); // error
        ^" in f3e{<inapplicable>}.(0);
-    let final Never #t10 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:109:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:109:8: Error: Expected 0 type arguments.
     f3e<String>(0, ''); // error
        ^" in f3e{<inapplicable>}.<core::String>(0, "");
   };
@@ -234,7 +234,7 @@
   self::expect(true, c4b is{ForNonNullableByDefault} self::B<core::int>);
   self::expect(false, c4b is{ForNonNullableByDefault} self::B<core::double>);
   () → Null {
-    let final Never #t11 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:130:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:130:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f4a(0); // error
        ^" in f4a{<inapplicable>}.<core::num>(0);
@@ -257,11 +257,11 @@
   self::expect(true, c5b is{ForNonNullableByDefault} self::B<core::int>);
   self::expect(false, c5b is{ForNonNullableByDefault} self::B<core::double>);
   () → Null {
-    let final Never #t12 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:152:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:152:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f5a(0); // error
        ^" in f5a{<inapplicable>}.<core::num, core::String>(0);
-    let final Never #t13 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:153:8: Error: Expected 2 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:153:8: Error: Expected 2 type arguments.
     f5a<String>(); // error
        ^" in f5a{<inapplicable>}.<core::String>();
     f5a<core::String, core::String>(){() → self::B<core::String>};
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.strong.transformed.expect
index 7c8571b..64496be 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.strong.transformed.expect
@@ -124,7 +124,7 @@
   self::A c1a = f1a(){() → self::A};
   self::expect(true, c1a is{ForNonNullableByDefault} self::A);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:34:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:34:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f1a(0); // error
        ^" in f1a{<inapplicable>}.(0);
@@ -137,7 +137,7 @@
   self::A c2a = f2a<core::num>(){() → self::A};
   self::expect(true, c2a is{ForNonNullableByDefault} self::A);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:46:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:46:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(0); // error
        ^" in f2a{<inapplicable>}.<core::num>(0);
@@ -157,11 +157,11 @@
   self::expect(0, c3a.{self::B::field1}{core::int});
   self::expect("", c3a.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:65:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:65:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f3a(0); // error
        ^" in f3a{<inapplicable>}.(0);
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:66:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:66:8: Error: Expected 0 type arguments.
     f3a<String>(); // error
        ^" in f3a{<inapplicable>}.<core::String>();
   };
@@ -180,14 +180,14 @@
   self::expect(42, c3c.{self::B::field1}{core::int});
   self::expect("", c3c.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:85:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:85:8: Error: Too few positional arguments: 1 required, 0 given.
     f3c(); // error
        ^" in f3c{<inapplicable>}.();
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:86:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:86:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3c(0, 0); // error
        ^" in f3c{<inapplicable>}.(0, 0);
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:87:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:87:8: Error: Expected 0 type arguments.
     f3c<String>(0); // error
        ^" in f3c{<inapplicable>}.<core::String>(0);
   };
@@ -207,13 +207,13 @@
   self::expect(42, c3e.{self::B::field1}{core::int});
   self::expect("foo", c3e.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:107:8: Error: Too few positional arguments: 2 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:107:8: Error: Too few positional arguments: 2 required, 0 given.
     f3e(); // error
        ^" in f3e{<inapplicable>}.();
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:108:8: Error: Too few positional arguments: 2 required, 1 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:108:8: Error: Too few positional arguments: 2 required, 1 given.
     f3e(0); // error
        ^" in f3e{<inapplicable>}.(0);
-    let final Never #t10 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:109:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:109:8: Error: Expected 0 type arguments.
     f3e<String>(0, ''); // error
        ^" in f3e{<inapplicable>}.<core::String>(0, "");
   };
@@ -234,7 +234,7 @@
   self::expect(true, c4b is{ForNonNullableByDefault} self::B<core::int>);
   self::expect(false, c4b is{ForNonNullableByDefault} self::B<core::double>);
   () → Null {
-    let final Never #t11 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:130:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:130:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f4a(0); // error
        ^" in f4a{<inapplicable>}.<core::num>(0);
@@ -257,11 +257,11 @@
   self::expect(true, c5b is{ForNonNullableByDefault} self::B<core::int>);
   self::expect(false, c5b is{ForNonNullableByDefault} self::B<core::double>);
   () → Null {
-    let final Never #t12 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:152:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:152:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f5a(0); // error
        ^" in f5a{<inapplicable>}.<core::num, core::String>(0);
-    let final Never #t13 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:153:8: Error: Expected 2 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:153:8: Error: Expected 2 type arguments.
     f5a<String>(); // error
        ^" in f5a{<inapplicable>}.<core::String>();
     f5a<core::String, core::String>(){() → self::B<core::String>};
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.weak.expect
index f4e5e89..b0722a9 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.weak.expect
@@ -124,7 +124,7 @@
   self::A c1a = f1a(){() → self::A};
   self::expect(true, c1a is{ForNonNullableByDefault} self::A);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:34:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:34:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f1a(0); // error
        ^" in f1a{<inapplicable>}.(0);
@@ -137,7 +137,7 @@
   self::A c2a = f2a<core::num>(){() → self::A};
   self::expect(true, c2a is{ForNonNullableByDefault} self::A);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:46:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:46:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(0); // error
        ^" in f2a{<inapplicable>}.<core::num>(0);
@@ -157,11 +157,11 @@
   self::expect(0, c3a.{self::B::field1}{core::int});
   self::expect("", c3a.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:65:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:65:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f3a(0); // error
        ^" in f3a{<inapplicable>}.(0);
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:66:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:66:8: Error: Expected 0 type arguments.
     f3a<String>(); // error
        ^" in f3a{<inapplicable>}.<core::String>();
   };
@@ -180,14 +180,14 @@
   self::expect(42, c3c.{self::B::field1}{core::int});
   self::expect("", c3c.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:85:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:85:8: Error: Too few positional arguments: 1 required, 0 given.
     f3c(); // error
        ^" in f3c{<inapplicable>}.();
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:86:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:86:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3c(0, 0); // error
        ^" in f3c{<inapplicable>}.(0, 0);
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:87:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:87:8: Error: Expected 0 type arguments.
     f3c<String>(0); // error
        ^" in f3c{<inapplicable>}.<core::String>(0);
   };
@@ -207,13 +207,13 @@
   self::expect(42, c3e.{self::B::field1}{core::int});
   self::expect("foo", c3e.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:107:8: Error: Too few positional arguments: 2 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:107:8: Error: Too few positional arguments: 2 required, 0 given.
     f3e(); // error
        ^" in f3e{<inapplicable>}.();
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:108:8: Error: Too few positional arguments: 2 required, 1 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:108:8: Error: Too few positional arguments: 2 required, 1 given.
     f3e(0); // error
        ^" in f3e{<inapplicable>}.(0);
-    let final Never #t10 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:109:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:109:8: Error: Expected 0 type arguments.
     f3e<String>(0, ''); // error
        ^" in f3e{<inapplicable>}.<core::String>(0, "");
   };
@@ -234,7 +234,7 @@
   self::expect(true, c4b is{ForNonNullableByDefault} self::B<core::int>);
   self::expect(false, c4b is{ForNonNullableByDefault} self::B<core::double>);
   () → Null {
-    let final Never #t11 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:130:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:130:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f4a(0); // error
        ^" in f4a{<inapplicable>}.<core::num>(0);
@@ -257,11 +257,11 @@
   self::expect(true, c5b is{ForNonNullableByDefault} self::B<core::int>);
   self::expect(false, c5b is{ForNonNullableByDefault} self::B<core::double>);
   () → Null {
-    let final Never #t12 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:152:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:152:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f5a(0); // error
        ^" in f5a{<inapplicable>}.<core::num, core::String>(0);
-    let final Never #t13 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:153:8: Error: Expected 2 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:153:8: Error: Expected 2 type arguments.
     f5a<String>(); // error
        ^" in f5a{<inapplicable>}.<core::String>();
     f5a<core::String, core::String>(){() → self::B<core::String>};
diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.weak.transformed.expect
index 12bd083..3242407 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart.weak.transformed.expect
@@ -124,7 +124,7 @@
   self::A c1a = f1a(){() → self::A};
   self::expect(true, c1a is{ForNonNullableByDefault} self::A);
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:34:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:34:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f1a(0); // error
        ^" in f1a{<inapplicable>}.(0);
@@ -137,7 +137,7 @@
   self::A c2a = f2a<core::num>(){() → self::A};
   self::expect(true, c2a is{ForNonNullableByDefault} self::A);
   () → Null {
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:46:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:46:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f2a(0); // error
        ^" in f2a{<inapplicable>}.<core::num>(0);
@@ -157,11 +157,11 @@
   self::expect(0, c3a.{self::B::field1}{core::int});
   self::expect("", c3a.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:65:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:65:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f3a(0); // error
        ^" in f3a{<inapplicable>}.(0);
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:66:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:66:8: Error: Expected 0 type arguments.
     f3a<String>(); // error
        ^" in f3a{<inapplicable>}.<core::String>();
   };
@@ -180,14 +180,14 @@
   self::expect(42, c3c.{self::B::field1}{core::int});
   self::expect("", c3c.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:85:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:85:8: Error: Too few positional arguments: 1 required, 0 given.
     f3c(); // error
        ^" in f3c{<inapplicable>}.();
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:86:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:86:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3c(0, 0); // error
        ^" in f3c{<inapplicable>}.(0, 0);
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:87:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:87:8: Error: Expected 0 type arguments.
     f3c<String>(0); // error
        ^" in f3c{<inapplicable>}.<core::String>(0);
   };
@@ -207,13 +207,13 @@
   self::expect(42, c3e.{self::B::field1}{core::int});
   self::expect("foo", c3e.{self::B::field2}{core::String});
   () → Null {
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:107:8: Error: Too few positional arguments: 2 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:107:8: Error: Too few positional arguments: 2 required, 0 given.
     f3e(); // error
        ^" in f3e{<inapplicable>}.();
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:108:8: Error: Too few positional arguments: 2 required, 1 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:108:8: Error: Too few positional arguments: 2 required, 1 given.
     f3e(0); // error
        ^" in f3e{<inapplicable>}.(0);
-    let final Never #t10 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:109:8: Error: Expected 0 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:109:8: Error: Expected 0 type arguments.
     f3e<String>(0, ''); // error
        ^" in f3e{<inapplicable>}.<core::String>(0, "");
   };
@@ -234,7 +234,7 @@
   self::expect(true, c4b is{ForNonNullableByDefault} self::B<core::int>);
   self::expect(false, c4b is{ForNonNullableByDefault} self::B<core::double>);
   () → Null {
-    let final Never #t11 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:130:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:130:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f4a(0); // error
        ^" in f4a{<inapplicable>}.<core::num>(0);
@@ -257,11 +257,11 @@
   self::expect(true, c5b is{ForNonNullableByDefault} self::B<core::int>);
   self::expect(false, c5b is{ForNonNullableByDefault} self::B<core::double>);
   () → Null {
-    let final Never #t12 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:152:8: Error: Too many positional arguments: 0 allowed, but 1 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:152:8: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
     f5a(0); // error
        ^" in f5a{<inapplicable>}.<core::num, core::String>(0);
-    let final Never #t13 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:153:8: Error: Expected 2 type arguments.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/lowering/typedef_tear_off.dart:153:8: Error: Expected 2 type arguments.
     f5a<String>(); // error
        ^" in f5a{<inapplicable>}.<core::String>();
     f5a<core::String, core::String>(){() → self::B<core::String>};
diff --git a/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.strong.expect
index 7292491..dfb83e1 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.strong.expect
@@ -33,21 +33,21 @@
 static method test1() → () → self::A
   return #C1;
 static method test2() → () → self::A
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:13:25: Error: A value of type 'A Function(int)' can't be returned from a function with return type 'A Function()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:13:25: Error: A value of type 'A Function(int)' can't be returned from a function with return type 'A Function()'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function() test2() => A.foo2; // Error.
                         ^" in (#C2) as{TypeError,ForNonNullableByDefault} () → self::A;
 static method test3() → () → self::A
   return #C3;
 static method test4() → (core::int) → self::A
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:15:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:15:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function(int) test4() => A.new; // Error.
                            ^" in (#C3) as{TypeError,ForNonNullableByDefault} (core::int) → self::A;
 static method test5() → () → self::A
   return #C4;
 static method test6() → (core::int) → self::A
-  return let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:17:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:17:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function(int) test6() => A.bar1; // Error.
                            ^" in (#C4) as{TypeError,ForNonNullableByDefault} (core::int) → self::A;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.strong.transformed.expect
index 7292491..dfb83e1 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.strong.transformed.expect
@@ -33,21 +33,21 @@
 static method test1() → () → self::A
   return #C1;
 static method test2() → () → self::A
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:13:25: Error: A value of type 'A Function(int)' can't be returned from a function with return type 'A Function()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:13:25: Error: A value of type 'A Function(int)' can't be returned from a function with return type 'A Function()'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function() test2() => A.foo2; // Error.
                         ^" in (#C2) as{TypeError,ForNonNullableByDefault} () → self::A;
 static method test3() → () → self::A
   return #C3;
 static method test4() → (core::int) → self::A
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:15:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:15:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function(int) test4() => A.new; // Error.
                            ^" in (#C3) as{TypeError,ForNonNullableByDefault} (core::int) → self::A;
 static method test5() → () → self::A
   return #C4;
 static method test6() → (core::int) → self::A
-  return let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:17:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:17:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function(int) test6() => A.bar1; // Error.
                            ^" in (#C4) as{TypeError,ForNonNullableByDefault} (core::int) → self::A;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.weak.expect
index 7292491..dfb83e1 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.weak.expect
@@ -33,21 +33,21 @@
 static method test1() → () → self::A
   return #C1;
 static method test2() → () → self::A
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:13:25: Error: A value of type 'A Function(int)' can't be returned from a function with return type 'A Function()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:13:25: Error: A value of type 'A Function(int)' can't be returned from a function with return type 'A Function()'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function() test2() => A.foo2; // Error.
                         ^" in (#C2) as{TypeError,ForNonNullableByDefault} () → self::A;
 static method test3() → () → self::A
   return #C3;
 static method test4() → (core::int) → self::A
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:15:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:15:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function(int) test4() => A.new; // Error.
                            ^" in (#C3) as{TypeError,ForNonNullableByDefault} (core::int) → self::A;
 static method test5() → () → self::A
   return #C4;
 static method test6() → (core::int) → self::A
-  return let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:17:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:17:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function(int) test6() => A.bar1; // Error.
                            ^" in (#C4) as{TypeError,ForNonNullableByDefault} (core::int) → self::A;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.weak.transformed.expect
index 7292491..dfb83e1 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart.weak.transformed.expect
@@ -33,21 +33,21 @@
 static method test1() → () → self::A
   return #C1;
 static method test2() → () → self::A
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:13:25: Error: A value of type 'A Function(int)' can't be returned from a function with return type 'A Function()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:13:25: Error: A value of type 'A Function(int)' can't be returned from a function with return type 'A Function()'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function() test2() => A.foo2; // Error.
                         ^" in (#C2) as{TypeError,ForNonNullableByDefault} () → self::A;
 static method test3() → () → self::A
   return #C3;
 static method test4() → (core::int) → self::A
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:15:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:15:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function(int) test4() => A.new; // Error.
                            ^" in (#C3) as{TypeError,ForNonNullableByDefault} (core::int) → self::A;
 static method test5() → () → self::A
   return #C4;
 static method test6() → (core::int) → self::A
-  return let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:17:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart:17:28: Error: A value of type 'A Function()' can't be returned from a function with return type 'A Function(int)'.
  - 'A' is from 'pkg/front_end/testcases/constructor_tearoffs/nongeneric_tearoff_with_context.dart'.
 A Function(int) test6() => A.bar1; // Error.
                            ^" in (#C4) as{TypeError,ForNonNullableByDefault} (core::int) → self::A;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.strong.expect
index ce07a22..4cbaccd 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.strong.expect
@@ -149,10 +149,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -168,7 +168,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -183,10 +183,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -200,17 +200,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.strong.transformed.expect
index 872ae36..9650d39 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.strong.transformed.expect
@@ -149,10 +149,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -168,7 +168,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -183,10 +183,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -200,17 +200,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.weak.expect
index ce07a22..4cbaccd 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.weak.expect
@@ -149,10 +149,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -168,7 +168,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -183,10 +183,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -200,17 +200,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.weak.transformed.expect
index 872ae36..9650d39 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart.weak.transformed.expect
@@ -149,10 +149,10 @@
   self::Class3 c3a = f3a(42){(core::int) → self::Class3};
   self::expect(42, c3a.{self::Class3::field}{core::int});
   () → Null {
-    let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:99:8: Error: Too few positional arguments: 1 required, 0 given.
     f3a(); // error
        ^" in f3a{<inapplicable>}.();
-    let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:100:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f3a(42, 87); // error
        ^" in f3a{<inapplicable>}.(42, 87);
@@ -168,7 +168,7 @@
   self::Class4 c4b = f4a(42){([core::int?]) → self::Class4};
   self::expect(42, c4b.{self::Class4::field}{core::int?});
   () → Null {
-    let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:115:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f4a(42, 87); // error
        ^" in f4a{<inapplicable>}.(42, 87);
@@ -183,10 +183,10 @@
   self::expect(87, c5b.{self::Class5::field1}{core::int});
   self::expect(42, c5b.{self::Class5::field2}{core::int?});
   () → Null {
-    let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:129:8: Error: Too few positional arguments: 1 required, 0 given.
     f5a(); // error
        ^" in f5a{<inapplicable>}.();
-    let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:130:8: Error: Too many positional arguments: 2 allowed, but 3 found.
 Try removing the extra positional arguments.
     f5a(42, 87, 123); // error
        ^" in f5a{<inapplicable>}.(42, 87, 123);
@@ -200,17 +200,17 @@
   self::expect(null, c6a.{self::Class6::field2}{core::int?});
   self::expect(87, c6a.{self::Class6::field3}{core::int});
   () → Null {
-    let final Never #t6 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:142:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(); // error
        ^" in f6a{<inapplicable>}.();
-    let final Never #t7 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:143:8: Error: Required named parameter 'field3' must be provided.
     f6a(42); // error
        ^" in f6a{<inapplicable>}.(42);
-    let final Never #t8 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:144:8: Error: Too many positional arguments: 1 allowed, but 2 found.
 Try removing the extra positional arguments.
     f6a(42, 87); // error
        ^" in f6a{<inapplicable>}.(42, 87);
-    let final Never #t9 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-expression "pkg/front_end/testcases/constructor_tearoffs/redirecting_factory_tear_off.dart:145:8: Error: Too few positional arguments: 1 required, 0 given.
     f6a(field1: 87, field2: 87); // error
        ^" in f6a{<inapplicable>}.(field1: 87, field2: 87);
   };
diff --git a/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.strong.expect
index b69871d..e445535 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.strong.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.strong.expect
@@ -75,7 +75,7 @@
 static method test8() → () → self::B<core::String>
   return #C4;
 static method test9() → () → self::B<core::num>
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:33:30: Error: A value of type 'B<String> Function()' can't be returned from a function with return type 'B<num> Function()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:33:30: Error: A value of type 'B<String> Function()' can't be returned from a function with return type 'B<num> Function()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<num> Function() test9() => DB1.new; // Error.
                              ^" in (#C4) as{TypeError,ForNonNullableByDefault} () → self::B<core::num>;
@@ -94,13 +94,13 @@
 static method test16() → <Y extends core::num = dynamic>() → self::B<Y>
   return #C12;
 static method test17() → <Y extends core::Object? = dynamic>() → self::B<Y%>
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be returned from a function with return type 'B<Y> Function<Y>()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be returned from a function with return type 'B<Y> Function<Y>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y>() test17() => DB2.new; // Error.
-                               ^" in (let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be assigned to a variable of type 'B<Y> Function<Y>()'.
+                               ^" in invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be assigned to a variable of type 'B<Y> Function<Y>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y>() test17() => DB2.new; // Error.
-                               ^" in (#C12) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic>() → self::B<Y%>) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic>() → self::B<Y%>;
+                               ^" in (#C12) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic>() → self::B<Y%> as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic>() → self::B<Y%>;
 static method test18() → () → self::B<core::num>
   return #C9;
 static method test19() → () → self::B<core::num>
@@ -112,13 +112,13 @@
 static method test22() → <Y extends core::num = dynamic, Z extends core::String = dynamic>() → self::B<Y>
   return #C13;
 static method test23() → <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>
-  return let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be returned from a function with return type 'B<Y> Function<Y, Z>()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be returned from a function with return type 'B<Y> Function<Y, Z>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y, Z>() test23() => DB3.new; // Error.
-                                  ^" in (let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be assigned to a variable of type 'B<Y> Function<Y, Z>()'.
+                                  ^" in invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be assigned to a variable of type 'B<Y> Function<Y, Z>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y, Z>() test23() => DB3.new; // Error.
-                                  ^" in (#C13) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>;
+                                  ^" in (#C13) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%> as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>;
 static method test24() → () → self::B<core::String>
   return #C14;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.strong.transformed.expect
index 382b745..ddc1a03 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.strong.transformed.expect
@@ -75,7 +75,7 @@
 static method test8() → () → self::B<core::String>
   return #C4;
 static method test9() → () → self::B<core::num>
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:33:30: Error: A value of type 'B<String> Function()' can't be returned from a function with return type 'B<num> Function()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:33:30: Error: A value of type 'B<String> Function()' can't be returned from a function with return type 'B<num> Function()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<num> Function() test9() => DB1.new; // Error.
                              ^" in (#C4) as{TypeError,ForNonNullableByDefault} () → self::B<core::num>;
@@ -94,10 +94,10 @@
 static method test16() → <Y extends core::num = dynamic>() → self::B<Y>
   return #C12;
 static method test17() → <Y extends core::Object? = dynamic>() → self::B<Y%>
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be returned from a function with return type 'B<Y> Function<Y>()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be returned from a function with return type 'B<Y> Function<Y>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y>() test17() => DB2.new; // Error.
-                               ^" in let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be assigned to a variable of type 'B<Y> Function<Y>()'.
+                               ^" in invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be assigned to a variable of type 'B<Y> Function<Y>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y>() test17() => DB2.new; // Error.
                                ^" in (#C12) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic>() → self::B<Y%>;
@@ -112,10 +112,10 @@
 static method test22() → <Y extends core::num = dynamic, Z extends core::String = dynamic>() → self::B<Y>
   return #C13;
 static method test23() → <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>
-  return let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be returned from a function with return type 'B<Y> Function<Y, Z>()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be returned from a function with return type 'B<Y> Function<Y, Z>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y, Z>() test23() => DB3.new; // Error.
-                                  ^" in let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be assigned to a variable of type 'B<Y> Function<Y, Z>()'.
+                                  ^" in invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be assigned to a variable of type 'B<Y> Function<Y, Z>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y, Z>() test23() => DB3.new; // Error.
                                   ^" in (#C13) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.weak.expect
index 10912e2..835e035 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.weak.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.weak.expect
@@ -75,7 +75,7 @@
 static method test8() → () → self::B<core::String>
   return #C4;
 static method test9() → () → self::B<core::num>
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:33:30: Error: A value of type 'B<String> Function()' can't be returned from a function with return type 'B<num> Function()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:33:30: Error: A value of type 'B<String> Function()' can't be returned from a function with return type 'B<num> Function()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<num> Function() test9() => DB1.new; // Error.
                              ^" in (#C4) as{TypeError,ForNonNullableByDefault} () → self::B<core::num>;
@@ -94,13 +94,13 @@
 static method test16() → <Y extends core::num = dynamic>() → self::B<Y>
   return #C12;
 static method test17() → <Y extends core::Object? = dynamic>() → self::B<Y%>
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be returned from a function with return type 'B<Y> Function<Y>()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be returned from a function with return type 'B<Y> Function<Y>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y>() test17() => DB2.new; // Error.
-                               ^" in (let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be assigned to a variable of type 'B<Y> Function<Y>()'.
+                               ^" in invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be assigned to a variable of type 'B<Y> Function<Y>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y>() test17() => DB2.new; // Error.
-                               ^" in (#C12) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic>() → self::B<Y%>) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic>() → self::B<Y%>;
+                               ^" in (#C12) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic>() → self::B<Y%> as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic>() → self::B<Y%>;
 static method test18() → () → self::B<core::num>
   return #C9;
 static method test19() → () → self::B<core::num>
@@ -112,13 +112,13 @@
 static method test22() → <Y extends core::num = dynamic, Z extends core::String = dynamic>() → self::B<Y>
   return #C13;
 static method test23() → <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>
-  return let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be returned from a function with return type 'B<Y> Function<Y, Z>()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be returned from a function with return type 'B<Y> Function<Y, Z>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y, Z>() test23() => DB3.new; // Error.
-                                  ^" in (let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be assigned to a variable of type 'B<Y> Function<Y, Z>()'.
+                                  ^" in invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be assigned to a variable of type 'B<Y> Function<Y, Z>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y, Z>() test23() => DB3.new; // Error.
-                                  ^" in (#C13) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>;
+                                  ^" in (#C13) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%> as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>;
 static method test24() → () → self::B<core::String>
   return #C14;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.weak.transformed.expect
index 86a1666..f6769ba 100644
--- a/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart.weak.transformed.expect
@@ -75,7 +75,7 @@
 static method test8() → () → self::B<core::String>
   return #C4;
 static method test9() → () → self::B<core::num>
-  return let final Never #t1 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:33:30: Error: A value of type 'B<String> Function()' can't be returned from a function with return type 'B<num> Function()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:33:30: Error: A value of type 'B<String> Function()' can't be returned from a function with return type 'B<num> Function()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<num> Function() test9() => DB1.new; // Error.
                              ^" in (#C4) as{TypeError,ForNonNullableByDefault} () → self::B<core::num>;
@@ -94,10 +94,10 @@
 static method test16() → <Y extends core::num = dynamic>() → self::B<Y>
   return #C12;
 static method test17() → <Y extends core::Object? = dynamic>() → self::B<Y%>
-  return let final Never #t2 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be returned from a function with return type 'B<Y> Function<Y>()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be returned from a function with return type 'B<Y> Function<Y>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y>() test17() => DB2.new; // Error.
-                               ^" in let final Never #t3 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be assigned to a variable of type 'B<Y> Function<Y>()'.
+                               ^" in invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:42:32: Error: A value of type 'B<X> Function<X extends num>()' can't be assigned to a variable of type 'B<Y> Function<Y>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y>() test17() => DB2.new; // Error.
                                ^" in (#C12) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic>() → self::B<Y%>;
@@ -112,10 +112,10 @@
 static method test22() → <Y extends core::num = dynamic, Z extends core::String = dynamic>() → self::B<Y>
   return #C13;
 static method test23() → <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>
-  return let final Never #t4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be returned from a function with return type 'B<Y> Function<Y, Z>()'.
+  return invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be returned from a function with return type 'B<Y> Function<Y, Z>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y, Z>() test23() => DB3.new; // Error.
-                                  ^" in let final Never #t5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be assigned to a variable of type 'B<Y> Function<Y, Z>()'.
+                                  ^" in invalid-expression "pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart:49:35: Error: A value of type 'B<X> Function<X extends num, Y extends String>()' can't be assigned to a variable of type 'B<Y> Function<Y, Z>()'.
  - 'B' is from 'pkg/front_end/testcases/constructor_tearoffs/typedef_tearoffs.dart'.
 B<Y> Function<Y, Z>() test23() => DB3.new; // Error.
                                   ^" in (#C13) as{TypeError,ForNonNullableByDefault} <Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>() → self::B<Y%>;
diff --git a/pkg/front_end/testcases/expression/class_invalid_static_capture.expression.yaml.expect b/pkg/front_end/testcases/expression/class_invalid_static_capture.expression.yaml.expect
index 330d032..0b78207 100644
--- a/pkg/front_end/testcases/expression/class_invalid_static_capture.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/class_invalid_static_capture.expression.yaml.expect
@@ -7,6 +7,6 @@
               ^
 }
 static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
-  return () → dynamic {
-    return invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:13: Error: Getter not found: 'x'.\n() { return x + y; }\n            ^"{dynamic}.+(invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:17: Error: Getter not found: 'y'.\n() { return x + y; }\n                ^");
+  return () → invalid-type {
+    return invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:13: Error: Getter not found: 'x'.\n() { return x + y; }\n            ^"{<invalid>}.+(invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:17: Error: Getter not found: 'y'.\n() { return x + y; }\n                ^");
   };
diff --git a/pkg/front_end/testcases/expression/invalid.expression.yaml.expect b/pkg/front_end/testcases/expression/invalid.expression.yaml.expect
index 9e16ada..de38a65 100644
--- a/pkg/front_end/testcases/expression/invalid.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/invalid.expression.yaml.expect
@@ -11,4 +11,4 @@
    ^^^
 }
 method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
-  return invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:1: Error: This couldn't be parsed.\n*foo(3,\n^"{dynamic}.*(invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:2: Error: Method not found: 'foo'.\n*foo(3,\n ^^^");
+  return invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:1: Error: This couldn't be parsed.\n*foo(3,\n^"{<invalid>}.*(invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:2: Error: Method not found: 'foo'.\n*foo(3,\n ^^^");
diff --git a/pkg/front_end/testcases/expression/type_param_shadow_arg_ctor_inferred.expression.yaml.expect b/pkg/front_end/testcases/expression/type_param_shadow_arg_ctor_inferred.expression.yaml.expect
index 6e6bd3b..4b7f9b0 100644
--- a/pkg/front_end/testcases/expression/type_param_shadow_arg_ctor_inferred.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/type_param_shadow_arg_ctor_inferred.expression.yaml.expect
@@ -6,5 +6,5 @@
 }
 method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr<T extends dynamic>() → dynamic
   return () → Null {
-    main::A::debugExpr::T* k = let final Never* #t1 = invalid-expression "org-dartlang-debug:synthetic_debug_expression:2:13: Error: A value of type 'A<dynamic>' can't be assigned to a variable of type 'T'.\n - 'A' is from 'pkg/front_end/testcases/expression/main.dart'.\n  T k = new A();\n            ^" in new main::A::•<dynamic>() as{TypeError} Never;
+    main::A::debugExpr::T* k = invalid-expression "org-dartlang-debug:synthetic_debug_expression:2:13: Error: A value of type 'A<dynamic>' can't be assigned to a variable of type 'T'.\n - 'A' is from 'pkg/front_end/testcases/expression/main.dart'.\n  T k = new A();\n            ^" in new main::A::•<dynamic>() as{TypeError} Never;
   };
diff --git a/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.strong.expect b/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.strong.expect
index b0091c5..b762cd5 100644
--- a/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.strong.expect
@@ -55,24 +55,24 @@
  - 'A' is from 'pkg/front_end/testcases/extension_types/simple_getter_resolution.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'baz'.
   a.baz; // Error.
-    ^^^";
+    ^^^" in a{<unresolved>}.baz;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_getter_resolution.dart:22:5: Error: The getter 'foo' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'foo'.
   e.foo; // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.foo;
   self::E|get#bar(e);
   invalid-expression "pkg/front_end/testcases/extension_types/simple_getter_resolution.dart:24:5: Error: The getter 'baz' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'baz'.
   e.baz; // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.baz;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_getter_resolution.dart:26:6: Error: The getter 'foo' isn't defined for the extension 'ET'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'foo'.
   et.foo; // Error.
-     ^^^";
+     ^^^" in et{<unresolved>}.foo;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_getter_resolution.dart:27:6: Error: The getter 'bar' isn't defined for the extension 'ET'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'bar'.
   et.bar; // Error.
-     ^^^";
+     ^^^" in et{<unresolved>}.bar;
   self::ET|get#baz(et);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.weak.expect b/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.weak.expect
index b0091c5..b762cd5 100644
--- a/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.weak.expect
+++ b/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.weak.expect
@@ -55,24 +55,24 @@
  - 'A' is from 'pkg/front_end/testcases/extension_types/simple_getter_resolution.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'baz'.
   a.baz; // Error.
-    ^^^";
+    ^^^" in a{<unresolved>}.baz;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_getter_resolution.dart:22:5: Error: The getter 'foo' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'foo'.
   e.foo; // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.foo;
   self::E|get#bar(e);
   invalid-expression "pkg/front_end/testcases/extension_types/simple_getter_resolution.dart:24:5: Error: The getter 'baz' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'baz'.
   e.baz; // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.baz;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_getter_resolution.dart:26:6: Error: The getter 'foo' isn't defined for the extension 'ET'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'foo'.
   et.foo; // Error.
-     ^^^";
+     ^^^" in et{<unresolved>}.foo;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_getter_resolution.dart:27:6: Error: The getter 'bar' isn't defined for the extension 'ET'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'bar'.
   et.bar; // Error.
-     ^^^";
+     ^^^" in et{<unresolved>}.bar;
   self::ET|get#baz(et);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.strong.expect b/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.strong.expect
index d468a09..ae7cf69 100644
--- a/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.strong.expect
@@ -60,24 +60,24 @@
  - 'A' is from 'pkg/front_end/testcases/extension_types/simple_method_resolution.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'baz'.
   a.baz(); // Error.
-    ^^^";
+    ^^^" in a{<unresolved>}.baz();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_method_resolution.dart:22:5: Error: The method 'foo' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing method, or defining a method name 'foo'.
   e.foo(); // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.foo();
   self::E|bar(e);
   invalid-expression "pkg/front_end/testcases/extension_types/simple_method_resolution.dart:24:5: Error: The method 'baz' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing method, or defining a method name 'baz'.
   e.baz(); // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.baz();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_method_resolution.dart:26:6: Error: The method 'foo' isn't defined for the extension 'ET'.
 Try correcting the name to the name of an existing method, or defining a method name 'foo'.
   et.foo(); // Error.
-     ^^^";
+     ^^^" in et{<unresolved>}.foo();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_method_resolution.dart:27:6: Error: The method 'bar' isn't defined for the extension 'ET'.
 Try correcting the name to the name of an existing method, or defining a method name 'bar'.
   et.bar(); // Error.
-     ^^^";
+     ^^^" in et{<unresolved>}.bar();
   self::ET|baz(et);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.weak.expect b/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.weak.expect
index d468a09..ae7cf69 100644
--- a/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.weak.expect
+++ b/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.weak.expect
@@ -60,24 +60,24 @@
  - 'A' is from 'pkg/front_end/testcases/extension_types/simple_method_resolution.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'baz'.
   a.baz(); // Error.
-    ^^^";
+    ^^^" in a{<unresolved>}.baz();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_method_resolution.dart:22:5: Error: The method 'foo' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing method, or defining a method name 'foo'.
   e.foo(); // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.foo();
   self::E|bar(e);
   invalid-expression "pkg/front_end/testcases/extension_types/simple_method_resolution.dart:24:5: Error: The method 'baz' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing method, or defining a method name 'baz'.
   e.baz(); // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.baz();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_method_resolution.dart:26:6: Error: The method 'foo' isn't defined for the extension 'ET'.
 Try correcting the name to the name of an existing method, or defining a method name 'foo'.
   et.foo(); // Error.
-     ^^^";
+     ^^^" in et{<unresolved>}.foo();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_method_resolution.dart:27:6: Error: The method 'bar' isn't defined for the extension 'ET'.
 Try correcting the name to the name of an existing method, or defining a method name 'bar'.
   et.bar(); // Error.
-     ^^^";
+     ^^^" in et{<unresolved>}.bar();
   self::ET|baz(et);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.strong.expect b/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.strong.expect
index 743deb8..8a58ea2 100644
--- a/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.strong.expect
@@ -93,48 +93,48 @@
  - 'A' is from 'pkg/front_end/testcases/extension_types/simple_operator_resolution.dart'.
 Try correcting the operator to an existing operator, or defining a '~/' operator.
   a ~/ \"foobar\"; // Error.
-    ^^";
+    ^^" in a{<unresolved>}.~/("foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:28:5: Error: The operator '*' isn't defined for the extension 'E'.
 Try correcting the operator to an existing operator, or defining a '*' operator.
   e * \"foobar\"; // Error.
-    ^";
+    ^" in e{<unresolved>}.*("foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:29:4: Error: The operator '[]' isn't defined for the extension 'E'.
 Try correcting the operator to an existing operator, or defining a '[]' operator.
   e[0]; // Error.
-   ^";
+   ^" in e{<unresolved>}.[](0);
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:30:4: Error: The operator '[]=' isn't defined for the extension 'E'.
 Try correcting the operator to an existing operator, or defining a '[]=' operator.
   e[0] = \"foobar\"; // Error.
-   ^";
+   ^" in e{<unresolved>}.[]=(0, "foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:31:3: Error: The operator 'unary-' isn't defined for the extension 'E'.
 Try correcting the operator to an existing operator, or defining a 'unary-' operator.
   -e; // Error.
-  ^";
+  ^" in e{<unresolved>}.unary-();
   self::E|+(e, "foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:33:5: Error: The operator '~/' isn't defined for the extension 'E'.
 Try correcting the operator to an existing operator, or defining a '~/' operator.
   e ~/ \"foobar\"; // Error.
-    ^^";
+    ^^" in e{<unresolved>}.~/("foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:35:6: Error: The operator '*' isn't defined for the extension 'ET'.
 Try correcting the operator to an existing operator, or defining a '*' operator.
   et * \"foobar\"; // Error.
-     ^";
+     ^" in et{<unresolved>}.*("foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:36:5: Error: The operator '[]' isn't defined for the extension 'ET'.
 Try correcting the operator to an existing operator, or defining a '[]' operator.
   et[0]; // Error.
-    ^";
+    ^" in et{<unresolved>}.[](0);
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:37:5: Error: The operator '[]=' isn't defined for the extension 'ET'.
 Try correcting the operator to an existing operator, or defining a '[]=' operator.
   et[0] = \"foobar\"; // Error.
-    ^";
+    ^" in et{<unresolved>}.[]=(0, "foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:38:3: Error: The operator 'unary-' isn't defined for the extension 'ET'.
 Try correcting the operator to an existing operator, or defining a 'unary-' operator.
   -et; // Error.
-  ^";
+  ^" in et{<unresolved>}.unary-();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:39:6: Error: The operator '+' isn't defined for the extension 'ET'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
   et + \"foobar\"; // Error.
-     ^";
+     ^" in et{<unresolved>}.+("foobar");
   self::ET|~/(et, "foobar");
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.weak.expect b/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.weak.expect
index 743deb8..8a58ea2 100644
--- a/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.weak.expect
+++ b/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.weak.expect
@@ -93,48 +93,48 @@
  - 'A' is from 'pkg/front_end/testcases/extension_types/simple_operator_resolution.dart'.
 Try correcting the operator to an existing operator, or defining a '~/' operator.
   a ~/ \"foobar\"; // Error.
-    ^^";
+    ^^" in a{<unresolved>}.~/("foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:28:5: Error: The operator '*' isn't defined for the extension 'E'.
 Try correcting the operator to an existing operator, or defining a '*' operator.
   e * \"foobar\"; // Error.
-    ^";
+    ^" in e{<unresolved>}.*("foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:29:4: Error: The operator '[]' isn't defined for the extension 'E'.
 Try correcting the operator to an existing operator, or defining a '[]' operator.
   e[0]; // Error.
-   ^";
+   ^" in e{<unresolved>}.[](0);
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:30:4: Error: The operator '[]=' isn't defined for the extension 'E'.
 Try correcting the operator to an existing operator, or defining a '[]=' operator.
   e[0] = \"foobar\"; // Error.
-   ^";
+   ^" in e{<unresolved>}.[]=(0, "foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:31:3: Error: The operator 'unary-' isn't defined for the extension 'E'.
 Try correcting the operator to an existing operator, or defining a 'unary-' operator.
   -e; // Error.
-  ^";
+  ^" in e{<unresolved>}.unary-();
   self::E|+(e, "foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:33:5: Error: The operator '~/' isn't defined for the extension 'E'.
 Try correcting the operator to an existing operator, or defining a '~/' operator.
   e ~/ \"foobar\"; // Error.
-    ^^";
+    ^^" in e{<unresolved>}.~/("foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:35:6: Error: The operator '*' isn't defined for the extension 'ET'.
 Try correcting the operator to an existing operator, or defining a '*' operator.
   et * \"foobar\"; // Error.
-     ^";
+     ^" in et{<unresolved>}.*("foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:36:5: Error: The operator '[]' isn't defined for the extension 'ET'.
 Try correcting the operator to an existing operator, or defining a '[]' operator.
   et[0]; // Error.
-    ^";
+    ^" in et{<unresolved>}.[](0);
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:37:5: Error: The operator '[]=' isn't defined for the extension 'ET'.
 Try correcting the operator to an existing operator, or defining a '[]=' operator.
   et[0] = \"foobar\"; // Error.
-    ^";
+    ^" in et{<unresolved>}.[]=(0, "foobar");
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:38:3: Error: The operator 'unary-' isn't defined for the extension 'ET'.
 Try correcting the operator to an existing operator, or defining a 'unary-' operator.
   -et; // Error.
-  ^";
+  ^" in et{<unresolved>}.unary-();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:39:6: Error: The operator '+' isn't defined for the extension 'ET'.
 Try correcting the operator to an existing operator, or defining a '+' operator.
   et + \"foobar\"; // Error.
-     ^";
+     ^" in et{<unresolved>}.+("foobar");
   self::ET|~/(et, "foobar");
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extension_types/simple_setter_resolution.dart.strong.expect b/pkg/front_end/testcases/extension_types/simple_setter_resolution.dart.strong.expect
index 1ce4b82..f9edfa5 100644
--- a/pkg/front_end/testcases/extension_types/simple_setter_resolution.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/simple_setter_resolution.dart.strong.expect
@@ -54,24 +54,24 @@
  - 'A' is from 'pkg/front_end/testcases/extension_types/simple_setter_resolution.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'baz'.
   a.baz = 42; // Error.
-    ^^^";
+    ^^^" in a{<unresolved>}.baz = 42;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_setter_resolution.dart:22:5: Error: The setter 'foo' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'foo'.
   e.foo = 42; // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.foo = 42;
   self::E|set#bar(e, 42);
   invalid-expression "pkg/front_end/testcases/extension_types/simple_setter_resolution.dart:24:5: Error: The setter 'baz' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'baz'.
   e.baz = 42; // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.baz = 42;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_setter_resolution.dart:26:3: Error: Getter not found: 'et'.
   et.foo = 42; // Error.
-  ^^"{dynamic}.foo = 42;
+  ^^"{<invalid>}.foo = 42;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_setter_resolution.dart:27:3: Error: Getter not found: 'et'.
   et.bar = 42; // Error.
-  ^^"{dynamic}.bar = 42;
+  ^^"{<invalid>}.bar = 42;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_setter_resolution.dart:28:3: Error: Getter not found: 'et'.
   et.baz = 42; // Ok.
-  ^^"{dynamic}.baz = 42;
+  ^^"{<invalid>}.baz = 42;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extension_types/simple_setter_resolution.dart.weak.expect b/pkg/front_end/testcases/extension_types/simple_setter_resolution.dart.weak.expect
index 1ce4b82..f9edfa5 100644
--- a/pkg/front_end/testcases/extension_types/simple_setter_resolution.dart.weak.expect
+++ b/pkg/front_end/testcases/extension_types/simple_setter_resolution.dart.weak.expect
@@ -54,24 +54,24 @@
  - 'A' is from 'pkg/front_end/testcases/extension_types/simple_setter_resolution.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'baz'.
   a.baz = 42; // Error.
-    ^^^";
+    ^^^" in a{<unresolved>}.baz = 42;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_setter_resolution.dart:22:5: Error: The setter 'foo' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'foo'.
   e.foo = 42; // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.foo = 42;
   self::E|set#bar(e, 42);
   invalid-expression "pkg/front_end/testcases/extension_types/simple_setter_resolution.dart:24:5: Error: The setter 'baz' isn't defined for the extension 'E'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'baz'.
   e.baz = 42; // Error.
-    ^^^";
+    ^^^" in e{<unresolved>}.baz = 42;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_setter_resolution.dart:26:3: Error: Getter not found: 'et'.
   et.foo = 42; // Error.
-  ^^"{dynamic}.foo = 42;
+  ^^"{<invalid>}.foo = 42;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_setter_resolution.dart:27:3: Error: Getter not found: 'et'.
   et.bar = 42; // Error.
-  ^^"{dynamic}.bar = 42;
+  ^^"{<invalid>}.bar = 42;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_setter_resolution.dart:28:3: Error: Getter not found: 'et'.
   et.baz = 42; // Ok.
-  ^^"{dynamic}.baz = 42;
+  ^^"{<invalid>}.baz = 42;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extension_types/simple_show_hide.dart.strong.expect b/pkg/front_end/testcases/extension_types/simple_show_hide.dart.strong.expect
index d246aca..47d4185 100644
--- a/pkg/front_end/testcases/extension_types/simple_show_hide.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/simple_show_hide.dart.strong.expect
@@ -191,66 +191,66 @@
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:8:6: Error: The method 'ceil' isn't defined for the extension 'E1'.
 Try correcting the name to the name of an existing method, or defining a method name 'ceil'.
   e1.ceil(); // Ok.
-     ^^^^";
+     ^^^^" in e1{<unresolved>}.ceil();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:9:3: Error: Getter not found: 'e2'.
   e2.floor(); // Ok.
   ^^"{dynamic}.floor();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:10:6: Error: The getter 'isEven' isn't defined for the extension 'E1'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
   e1.isEven; // Error.
-     ^^^^^^";
+     ^^^^^^" in e1{<unresolved>}.isEven;
 }
 static method ceil() → invalid-type {}
 static method test2(self::E2 e2) → dynamic {
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:16:6: Error: The method 'ceil' isn't defined for the extension 'E2'.
 Try correcting the name to the name of an existing method, or defining a method name 'ceil'.
   e2.ceil(); // Error.
-     ^^^^";
+     ^^^^" in e2{<unresolved>}.ceil();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:17:6: Error: The method 'floor' isn't defined for the extension 'E2'.
 Try correcting the name to the name of an existing method, or defining a method name 'floor'.
   e2.floor(); // Ok.
-     ^^^^^";
+     ^^^^^" in e2{<unresolved>}.floor();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:18:6: Error: The getter 'isEven' isn't defined for the extension 'E2'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
   e2.isEven; // Error.
-     ^^^^^^";
+     ^^^^^^" in e2{<unresolved>}.isEven;
 }
 static method isEven() → invalid-type {}
 static method test3(self::E3 e3) → dynamic {
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:24:6: Error: The getter 'isOdd' isn't defined for the extension 'E3'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'isOdd'.
   e3.isOdd; // Ok.
-     ^^^^^";
+     ^^^^^" in e3{<unresolved>}.isOdd;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:25:6: Error: The getter 'isEven' isn't defined for the extension 'E3'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
   e3.isEven; // Error.
-     ^^^^^^";
+     ^^^^^^" in e3{<unresolved>}.isEven;
 }
 static method floor() → invalid-type {
   core::int get;
-  function twice() → core::num
+  function twice() → core::double
     return 2.{core::num::*}(invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:29:24: Error: Expected identifier, but got 'this'.
   int get twice => 2 * this;
-                       ^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::num){(core::num) → core::num};
+                       ^^^^"){(core::num) → core::double};
 }
 static method test() → dynamic {
   self::MyInt m = 42;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:34:5: Error: The getter 'twice' isn't defined for the extension 'MyInt'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'twice'.
   m.twice; // OK, in the extension type.
-    ^^^^^";
+    ^^^^^" in m{<unresolved>}.twice;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:35:5: Error: The getter 'isEven' isn't defined for the extension 'MyInt'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
   m.isEven; // OK, a shown instance member.
-    ^^^^^^";
+    ^^^^^^" in m{<unresolved>}.isEven;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:36:5: Error: The method 'ceil' isn't defined for the extension 'MyInt'.
 Try correcting the name to the name of an existing method, or defining a method name 'ceil'.
   m.ceil(); // OK, a shown instance member.
-    ^^^^";
+    ^^^^" in m{<unresolved>}.ceil();
   m.{core::Object::toString}(){() → core::String};
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:38:5: Error: The method 'floor' isn't defined for the extension 'MyInt'.
 Try correcting the name to the name of an existing method, or defining a method name 'floor'.
   m.floor(); // Error, hidden.
-    ^^^^^";
+    ^^^^^" in m{<unresolved>}.floor();
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extension_types/simple_show_hide.dart.weak.expect b/pkg/front_end/testcases/extension_types/simple_show_hide.dart.weak.expect
index d246aca..47d4185 100644
--- a/pkg/front_end/testcases/extension_types/simple_show_hide.dart.weak.expect
+++ b/pkg/front_end/testcases/extension_types/simple_show_hide.dart.weak.expect
@@ -191,66 +191,66 @@
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:8:6: Error: The method 'ceil' isn't defined for the extension 'E1'.
 Try correcting the name to the name of an existing method, or defining a method name 'ceil'.
   e1.ceil(); // Ok.
-     ^^^^";
+     ^^^^" in e1{<unresolved>}.ceil();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:9:3: Error: Getter not found: 'e2'.
   e2.floor(); // Ok.
   ^^"{dynamic}.floor();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:10:6: Error: The getter 'isEven' isn't defined for the extension 'E1'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
   e1.isEven; // Error.
-     ^^^^^^";
+     ^^^^^^" in e1{<unresolved>}.isEven;
 }
 static method ceil() → invalid-type {}
 static method test2(self::E2 e2) → dynamic {
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:16:6: Error: The method 'ceil' isn't defined for the extension 'E2'.
 Try correcting the name to the name of an existing method, or defining a method name 'ceil'.
   e2.ceil(); // Error.
-     ^^^^";
+     ^^^^" in e2{<unresolved>}.ceil();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:17:6: Error: The method 'floor' isn't defined for the extension 'E2'.
 Try correcting the name to the name of an existing method, or defining a method name 'floor'.
   e2.floor(); // Ok.
-     ^^^^^";
+     ^^^^^" in e2{<unresolved>}.floor();
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:18:6: Error: The getter 'isEven' isn't defined for the extension 'E2'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
   e2.isEven; // Error.
-     ^^^^^^";
+     ^^^^^^" in e2{<unresolved>}.isEven;
 }
 static method isEven() → invalid-type {}
 static method test3(self::E3 e3) → dynamic {
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:24:6: Error: The getter 'isOdd' isn't defined for the extension 'E3'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'isOdd'.
   e3.isOdd; // Ok.
-     ^^^^^";
+     ^^^^^" in e3{<unresolved>}.isOdd;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:25:6: Error: The getter 'isEven' isn't defined for the extension 'E3'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
   e3.isEven; // Error.
-     ^^^^^^";
+     ^^^^^^" in e3{<unresolved>}.isEven;
 }
 static method floor() → invalid-type {
   core::int get;
-  function twice() → core::num
+  function twice() → core::double
     return 2.{core::num::*}(invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:29:24: Error: Expected identifier, but got 'this'.
   int get twice => 2 * this;
-                       ^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::num){(core::num) → core::num};
+                       ^^^^"){(core::num) → core::double};
 }
 static method test() → dynamic {
   self::MyInt m = 42;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:34:5: Error: The getter 'twice' isn't defined for the extension 'MyInt'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'twice'.
   m.twice; // OK, in the extension type.
-    ^^^^^";
+    ^^^^^" in m{<unresolved>}.twice;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:35:5: Error: The getter 'isEven' isn't defined for the extension 'MyInt'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
   m.isEven; // OK, a shown instance member.
-    ^^^^^^";
+    ^^^^^^" in m{<unresolved>}.isEven;
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:36:5: Error: The method 'ceil' isn't defined for the extension 'MyInt'.
 Try correcting the name to the name of an existing method, or defining a method name 'ceil'.
   m.ceil(); // OK, a shown instance member.
-    ^^^^";
+    ^^^^" in m{<unresolved>}.ceil();
   m.{core::Object::toString}(){() → core::String};
   invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:38:5: Error: The method 'floor' isn't defined for the extension 'MyInt'.
 Try correcting the name to the name of an existing method, or defining a method name 'floor'.
   m.floor(); // Error, hidden.
-    ^^^^^";
+    ^^^^^" in m{<unresolved>}.floor();
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.strong.expect b/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.strong.expect
index 6d68160..b62bef7 100644
--- a/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.strong.expect
@@ -111,19 +111,19 @@
 }
 static method num() → invalid-type {
   function ceil() → core::int {
-    return let final Never #t1 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:6:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:6:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int ceil() {} // Error.
   ^" in null;
   }
 }
 static method ceil() → invalid-type {
   function ceil() → core::int {
-    return let final Never #t2 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:10:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:10:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int ceil() {} // Ok.
   ^" in null;
   }
   function floor() → core::int {
-    return let final Never #t3 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:11:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:11:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int floor() {} // Error.
   ^" in null;
   }
@@ -134,7 +134,7 @@
     return throw 42;
   core::bool get = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:17:8: Error: 'get' is already declared in this scope.
   bool get isEven => throw 42; // Ok.
-       ^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+       ^^^";
   function isEven() → Never
     return throw 42;
 }
diff --git a/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.strong.transformed.expect
index 9fe722e..b62bef7 100644
--- a/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.strong.transformed.expect
@@ -111,19 +111,19 @@
 }
 static method num() → invalid-type {
   function ceil() → core::int {
-    return let final Never #t1 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:6:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:6:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int ceil() {} // Error.
   ^" in null;
   }
 }
 static method ceil() → invalid-type {
   function ceil() → core::int {
-    return let final Never #t2 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:10:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:10:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int ceil() {} // Ok.
   ^" in null;
   }
   function floor() → core::int {
-    return let final Never #t3 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:11:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:11:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int floor() {} // Error.
   ^" in null;
   }
diff --git a/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.weak.expect b/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.weak.expect
index 6d68160..b62bef7 100644
--- a/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.weak.expect
+++ b/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.weak.expect
@@ -111,19 +111,19 @@
 }
 static method num() → invalid-type {
   function ceil() → core::int {
-    return let final Never #t1 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:6:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:6:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int ceil() {} // Error.
   ^" in null;
   }
 }
 static method ceil() → invalid-type {
   function ceil() → core::int {
-    return let final Never #t2 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:10:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:10:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int ceil() {} // Ok.
   ^" in null;
   }
   function floor() → core::int {
-    return let final Never #t3 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:11:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:11:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int floor() {} // Error.
   ^" in null;
   }
@@ -134,7 +134,7 @@
     return throw 42;
   core::bool get = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:17:8: Error: 'get' is already declared in this scope.
   bool get isEven => throw 42; // Ok.
-       ^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+       ^^^";
   function isEven() → Never
     return throw 42;
 }
diff --git a/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.weak.transformed.expect b/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.weak.transformed.expect
index 9fe722e..b62bef7 100644
--- a/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart.weak.transformed.expect
@@ -111,19 +111,19 @@
 }
 static method num() → invalid-type {
   function ceil() → core::int {
-    return let final Never #t1 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:6:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:6:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int ceil() {} // Error.
   ^" in null;
   }
 }
 static method ceil() → invalid-type {
   function ceil() → core::int {
-    return let final Never #t2 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:10:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:10:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int ceil() {} // Ok.
   ^" in null;
   }
   function floor() → core::int {
-    return let final Never #t3 = invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:11:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
+    return invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide_conflicts.dart:11:3: Error: A non-null value must be returned since the return type 'int' doesn't allow null.
   int floor() {} // Error.
   ^" in null;
   }
diff --git a/pkg/front_end/testcases/extensions/ambiguous.dart.weak.expect b/pkg/front_end/testcases/extensions/ambiguous.dart.weak.expect
index 3797b04..1dca435 100644
--- a/pkg/front_end/testcases/extensions/ambiguous.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/ambiguous.dart.weak.expect
@@ -215,61 +215,61 @@
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.method();
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.method();
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:29:5: Error: The property 'method' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.method;
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.method;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:30:5: Error: The property 'getter' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.getter;
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.getter;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:31:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.setter;
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.setter;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:32:5: Error: The property 'getter' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.getter = 42;
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.getter = 42;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:33:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.setter = 42;
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.setter = 42;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:34:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.property;
-    ^^^^^^^^";
+    ^^^^^^^^" in c{<unresolved>}.property;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:35:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.property = 42;
-    ^^^^^^^^";
+    ^^^^^^^^" in c{<unresolved>}.property = 42;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:36:5: Error: The operator '+' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c + 0;
-    ^";
+    ^" in c{<unresolved>}.+(0);
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:37:3: Error: The operator 'unary-' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   -c;
-  ^";
+  ^" in c{<unresolved>}.unary-();
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:38:4: Error: The operator '[]' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c[42];
-   ^";
+   ^" in c{<unresolved>}.[](42);
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:39:4: Error: The operator '[]=' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c[42] = 0;
-   ^";
+   ^" in c{<unresolved>}.[]=(42, 0);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/ambiguous.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/ambiguous.dart.weak.transformed.expect
index 3797b04..1dca435 100644
--- a/pkg/front_end/testcases/extensions/ambiguous.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/ambiguous.dart.weak.transformed.expect
@@ -215,61 +215,61 @@
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.method();
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.method();
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:29:5: Error: The property 'method' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.method;
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.method;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:30:5: Error: The property 'getter' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.getter;
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.getter;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:31:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.setter;
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.setter;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:32:5: Error: The property 'getter' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.getter = 42;
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.getter = 42;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:33:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.setter = 42;
-    ^^^^^^";
+    ^^^^^^" in c{<unresolved>}.setter = 42;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:34:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.property;
-    ^^^^^^^^";
+    ^^^^^^^^" in c{<unresolved>}.property;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:35:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.property = 42;
-    ^^^^^^^^";
+    ^^^^^^^^" in c{<unresolved>}.property = 42;
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:36:5: Error: The operator '+' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c + 0;
-    ^";
+    ^" in c{<unresolved>}.+(0);
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:37:3: Error: The operator 'unary-' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   -c;
-  ^";
+  ^" in c{<unresolved>}.unary-();
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:38:4: Error: The operator '[]' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c[42];
-   ^";
+   ^" in c{<unresolved>}.[](42);
   invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:39:4: Error: The operator '[]=' is defined in multiple extensions for 'C' and neither is more specific.
  - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c[42] = 0;
-   ^";
+   ^" in c{<unresolved>}.[]=(42, 0);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/call_methods.dart.weak.expect b/pkg/front_end/testcases/extensions/call_methods.dart.weak.expect
index 6f3ad1d..9fbb059 100644
--- a/pkg/front_end/testcases/extensions/call_methods.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/call_methods.dart.weak.expect
@@ -138,19 +138,19 @@
 extension _extension#2 on core::String* {
   get call = self::_extension#2|get#call;
 }
-static field core::String* topLevel1 = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:29:18: Error: Too many positional arguments: 0 allowed, but 1 found.
+static field core::String* topLevel1 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:29:18: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
 var topLevel1 = 1(10);
                  ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.(10);
-static field core::String* topLevel2 = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:30:18: Error: Too many positional arguments: 0 allowed, but 1 found.
+static field core::String* topLevel2 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:30:18: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
 var topLevel2 = 1(\"10\");
                  ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.("10");
-static field core::String* topLevel3 = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:31:20: Error: Too many positional arguments: 0 allowed, but 1 found.
+static field core::String* topLevel3 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:31:20: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
 var topLevel3 = 1.0(10);
                    ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.(10);
-static field core::String* topLevel4 = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:32:20: Error: Too many positional arguments: 0 allowed, but 1 found.
+static field core::String* topLevel4 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:32:20: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
 var topLevel4 = 1.0(\"10\");
                    ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.("10");
@@ -176,19 +176,19 @@
   self::_extension#2|get#call("")(){() →* core::String*};
 }
 static method errors() → dynamic {
-  let final Never* #t5 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:39:4: Error: Too many positional arguments: 0 allowed, but 1 found.
+  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:39:4: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   1(10);
    ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.(10);
-  let final Never* #t6 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:40:4: Error: Too many positional arguments: 0 allowed, but 1 found.
+  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:40:4: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   1(\"10\");
    ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.("10");
-  let final Never* #t7 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:41:6: Error: Too many positional arguments: 0 allowed, but 1 found.
+  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:41:6: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   1.0(10);
      ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.(10);
-  let final Never* #t8 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:42:6: Error: Too many positional arguments: 0 allowed, but 1 found.
+  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:42:6: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   1.0(\"10\");
      ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.("10");
diff --git a/pkg/front_end/testcases/extensions/call_methods.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/call_methods.dart.weak.transformed.expect
index 55e391b..f07583d 100644
--- a/pkg/front_end/testcases/extensions/call_methods.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/call_methods.dart.weak.transformed.expect
@@ -138,19 +138,19 @@
 extension _extension#2 on core::String* {
   get call = self::_extension#2|get#call;
 }
-static field core::String* topLevel1 = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:29:18: Error: Too many positional arguments: 0 allowed, but 1 found.
+static field core::String* topLevel1 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:29:18: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
 var topLevel1 = 1(10);
                  ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.(10);
-static field core::String* topLevel2 = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:30:18: Error: Too many positional arguments: 0 allowed, but 1 found.
+static field core::String* topLevel2 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:30:18: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
 var topLevel2 = 1(\"10\");
                  ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.("10");
-static field core::String* topLevel3 = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:31:20: Error: Too many positional arguments: 0 allowed, but 1 found.
+static field core::String* topLevel3 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:31:20: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
 var topLevel3 = 1.0(10);
                    ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.(10);
-static field core::String* topLevel4 = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:32:20: Error: Too many positional arguments: 0 allowed, but 1 found.
+static field core::String* topLevel4 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:32:20: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
 var topLevel4 = 1.0(\"10\");
                    ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.("10");
@@ -176,19 +176,19 @@
   self::_extension#2|get#call("")(){() →* core::String*};
 }
 static method errors() → dynamic {
-  let final Never* #t5 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:39:4: Error: Too many positional arguments: 0 allowed, but 1 found.
+  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:39:4: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   1(10);
    ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.(10);
-  let final Never* #t6 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:40:4: Error: Too many positional arguments: 0 allowed, but 1 found.
+  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:40:4: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   1(\"10\");
    ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.("10");
-  let final Never* #t7 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:41:6: Error: Too many positional arguments: 0 allowed, but 1 found.
+  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:41:6: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   1.0(10);
      ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.(10);
-  let final Never* #t8 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:42:6: Error: Too many positional arguments: 0 allowed, but 1 found.
+  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:42:6: Error: Too many positional arguments: 0 allowed, but 1 found.
 Try removing the extra positional arguments.
   1.0(\"10\");
      ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.("10");
diff --git a/pkg/front_end/testcases/extensions/check_bounds.dart.weak.expect b/pkg/front_end/testcases/extensions/check_bounds.dart.weak.expect
index cef7b3b..0e8aa01 100644
--- a/pkg/front_end/testcases/extensions/check_bounds.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/check_bounds.dart.weak.expect
@@ -855,7 +855,7 @@
  - 'A' is from 'pkg/front_end/testcases/extensions/check_bounds.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'method'.
 final field1 = classA.method(); // Expect method not found.
-                      ^^^^^^";
+                      ^^^^^^" in self::classA{<unresolved>}.method();
 static final field dynamic field2 = self::Extension|method<self::A*>(self::classA);
 static final field dynamic field3 = self::Extension|method<self::A*>(self::classA);
 static final field dynamic field4 = self::Extension|method<self::B*>(self::classA as{TypeError} self::Class<self::B*>*);
@@ -900,7 +900,7 @@
  - 'A' is from 'pkg/front_end/testcases/extensions/check_bounds.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'method'.
   classA.method(); // Expect method not found.
-         ^^^^^^";
+         ^^^^^^" in classA{<unresolved>}.method();
   self::Extension|method<self::A*>(classA);
   self::Extension|method<self::A*>(classA);
   self::Extension|method<self::B*>(classA as{TypeError} self::Class<self::B*>*);
@@ -939,7 +939,7 @@
  - 'A' is from 'pkg/front_end/testcases/extensions/check_bounds.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'method'.
   classA.method();
-         ^^^^^^";
+         ^^^^^^" in classA{<unresolved>}.method();
   self::Extension|method<self::A*>(classA);
   self::Extension|method<self::A*>(classA);
   self::Extension|method<self::B*>(classA as{TypeError} self::Class<self::B*>*);
diff --git a/pkg/front_end/testcases/extensions/check_bounds.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/check_bounds.dart.weak.transformed.expect
index cef7b3b..0e8aa01 100644
--- a/pkg/front_end/testcases/extensions/check_bounds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/check_bounds.dart.weak.transformed.expect
@@ -855,7 +855,7 @@
  - 'A' is from 'pkg/front_end/testcases/extensions/check_bounds.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'method'.
 final field1 = classA.method(); // Expect method not found.
-                      ^^^^^^";
+                      ^^^^^^" in self::classA{<unresolved>}.method();
 static final field dynamic field2 = self::Extension|method<self::A*>(self::classA);
 static final field dynamic field3 = self::Extension|method<self::A*>(self::classA);
 static final field dynamic field4 = self::Extension|method<self::B*>(self::classA as{TypeError} self::Class<self::B*>*);
@@ -900,7 +900,7 @@
  - 'A' is from 'pkg/front_end/testcases/extensions/check_bounds.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'method'.
   classA.method(); // Expect method not found.
-         ^^^^^^";
+         ^^^^^^" in classA{<unresolved>}.method();
   self::Extension|method<self::A*>(classA);
   self::Extension|method<self::A*>(classA);
   self::Extension|method<self::B*>(classA as{TypeError} self::Class<self::B*>*);
@@ -939,7 +939,7 @@
  - 'A' is from 'pkg/front_end/testcases/extensions/check_bounds.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'method'.
   classA.method();
-         ^^^^^^";
+         ^^^^^^" in classA{<unresolved>}.method();
   self::Extension|method<self::A*>(classA);
   self::Extension|method<self::A*>(classA);
   self::Extension|method<self::B*>(classA as{TypeError} self::Class<self::B*>*);
diff --git a/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.expect b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.expect
index 96b1de2..101c651 100644
--- a/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.expect
@@ -71,15 +71,15 @@
 }
 static method errors() → dynamic {
   core::int* value;
-  value = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:27:14: Error: A value of type 'dynamic Function(Invocation)' can't be assigned to a variable of type 'int'.
+  value = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:27:14: Error: A value of type 'dynamic Function(Invocation)' can't be assigned to a variable of type 'int'.
  - 'Invocation' is from 'dart:core'.
   value = \"\".noSuchMethod;
              ^" in "".{core::Object::noSuchMethod}{(core::Invocation*) →* dynamic} as{TypeError} core::int*;
   invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:28:6: Error: The setter 'hashCode' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'hashCode'.
   \"\".hashCode = 42;
-     ^^^^^^^^";
-  value = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:29:14: Error: A value of type 'Type' can't be assigned to a variable of type 'int'.
+     ^^^^^^^^" in ""{<unresolved>}.hashCode = 42;
+  value = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:29:14: Error: A value of type 'Type' can't be assigned to a variable of type 'int'.
  - 'Type' is from 'dart:core'.
   value = \"\".runtimeType;
              ^" in "".{core::Object::runtimeType}{core::Type*} as{TypeError} core::int*;
diff --git a/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.transformed.expect
index 5c1250b..bfce2e3 100644
--- a/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.transformed.expect
@@ -71,15 +71,15 @@
 }
 static method errors() → dynamic {
   core::int* value;
-  value = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:27:14: Error: A value of type 'dynamic Function(Invocation)' can't be assigned to a variable of type 'int'.
+  value = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:27:14: Error: A value of type 'dynamic Function(Invocation)' can't be assigned to a variable of type 'int'.
  - 'Invocation' is from 'dart:core'.
   value = \"\".noSuchMethod;
              ^" in "".{core::Object::noSuchMethod}{(core::Invocation*) →* dynamic} as{TypeError} core::int*;
   invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:28:6: Error: The setter 'hashCode' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'hashCode'.
   \"\".hashCode = 42;
-     ^^^^^^^^";
-  value = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:29:14: Error: A value of type 'Type' can't be assigned to a variable of type 'int'.
+     ^^^^^^^^" in ""{<unresolved>}.hashCode = 42;
+  value = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:29:14: Error: A value of type 'Type' can't be assigned to a variable of type 'int'.
  - 'Type' is from 'dart:core'.
   value = \"\".runtimeType;
              ^" in "".{core::Object::runtimeType}{core::Type*} as{TypeError} core::int*;
@@ -93,4 +93,4 @@
 
 Extra constant evaluation status:
 Evaluated: EqualsCall @ org-dartlang-testcase:///conflict_with_object.dart:21:19 -> BoolConstant(true)
-Extra constant evaluation: evaluated: 37, effectively constant: 1
+Extra constant evaluation: evaluated: 31, effectively constant: 1
diff --git a/pkg/front_end/testcases/extensions/conflicts.dart.weak.expect b/pkg/front_end/testcases/extensions/conflicts.dart.weak.expect
index a6fe24f..3373345 100644
--- a/pkg/front_end/testcases/extensions/conflicts.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/conflicts.dart.weak.expect
@@ -86,5 +86,5 @@
  - 'Class2' is from 'pkg/front_end/testcases/extensions/conflicts.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'uniqueMethod2'.
   c2.uniqueMethod2();
-     ^^^^^^^^^^^^^";
+     ^^^^^^^^^^^^^" in c2{<unresolved>}.uniqueMethod2();
 }
diff --git a/pkg/front_end/testcases/extensions/conflicts.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/conflicts.dart.weak.transformed.expect
index a6fe24f..3373345 100644
--- a/pkg/front_end/testcases/extensions/conflicts.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/conflicts.dart.weak.transformed.expect
@@ -86,5 +86,5 @@
  - 'Class2' is from 'pkg/front_end/testcases/extensions/conflicts.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'uniqueMethod2'.
   c2.uniqueMethod2();
-     ^^^^^^^^^^^^^";
+     ^^^^^^^^^^^^^" in c2{<unresolved>}.uniqueMethod2();
 }
diff --git a/pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.expect b/pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.expect
index 9f115ce..9811ed6 100644
--- a/pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.expect
@@ -31,10 +31,10 @@
 static method GenericExtension|set#setter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void {}
 static method error() → dynamic {
   self::GenericClass<core::int*>* genericClass = new self::GenericClass::•<core::int*>();
-  self::expect(null, let final self::GenericClass<core::int*>* #t1 = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/extension_setter_error.dart:13:41: Error: A value of type 'GenericClass<int>' can't be assigned to a variable of type 'GenericClass<double>'.
+  self::expect(null, let final self::GenericClass<core::int*>* #t1 = invalid-expression "pkg/front_end/testcases/extensions/extension_setter_error.dart:13:41: Error: A value of type 'GenericClass<int>' can't be assigned to a variable of type 'GenericClass<double>'.
  - 'GenericClass' is from 'pkg/front_end/testcases/extensions/extension_setter_error.dart'.
   expect(null, GenericExtension<double>(genericClass).setter = null);
-                                        ^" in genericClass as{TypeError} self::GenericClass<core::double*>* in let final Null #t3 = null in let final void #t4 = self::GenericExtension|set#setter<core::double*>(#t1, #t3) in #t3);
+                                        ^" in genericClass as{TypeError} self::GenericClass<core::double*>* in let final Null #t2 = null in let final void #t3 = self::GenericExtension|set#setter<core::double*>(#t1, #t2) in #t2);
 }
 static method expect(dynamic expected, dynamic actual) → dynamic {
   if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
diff --git a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.expect b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.expect
index 9ae037b..6666d8f 100644
--- a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.expect
@@ -113,32 +113,32 @@
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'm2'.
   expect(0, c.m2);
-              ^^");
+              ^^" in c{<unresolved>}.m2);
   invalid-expression "pkg/front_end/testcases/extensions/getter_setter_conflict.dart:31:5: Error: The setter 'm1' isn't defined for the class 'Class'.
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'm1'.
   c.m1 = 2;
-    ^^";
+    ^^" in c{<unresolved>}.m1 = 2;
   invalid-expression "pkg/front_end/testcases/extensions/getter_setter_conflict.dart:32:5: Error: The property 'm3' is defined in multiple extensions for 'Class' and neither is more specific.
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.m3;
-    ^^";
+    ^^" in c{<unresolved>}.m3;
   invalid-expression "pkg/front_end/testcases/extensions/getter_setter_conflict.dart:33:5: Error: The property 'm3' is defined in multiple extensions for 'Class' and neither is more specific.
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.m3 = 2;
-    ^^";
+    ^^" in c{<unresolved>}.m3 = 2;
   invalid-expression "pkg/front_end/testcases/extensions/getter_setter_conflict.dart:34:5: Error: The property 'm4' is defined in multiple extensions for 'Class' and neither is more specific.
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.m4;
-    ^^";
+    ^^" in c{<unresolved>}.m4;
   invalid-expression "pkg/front_end/testcases/extensions/getter_setter_conflict.dart:35:5: Error: The property 'm4' is defined in multiple extensions for 'Class' and neither is more specific.
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.m4 = 2;
-    ^^";
+    ^^" in c{<unresolved>}.m4 = 2;
 }
 static method expect(dynamic expected, dynamic actual) → dynamic {
   if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
diff --git a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.transformed.expect
index 9ae037b..6666d8f 100644
--- a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.transformed.expect
@@ -113,32 +113,32 @@
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'm2'.
   expect(0, c.m2);
-              ^^");
+              ^^" in c{<unresolved>}.m2);
   invalid-expression "pkg/front_end/testcases/extensions/getter_setter_conflict.dart:31:5: Error: The setter 'm1' isn't defined for the class 'Class'.
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'm1'.
   c.m1 = 2;
-    ^^";
+    ^^" in c{<unresolved>}.m1 = 2;
   invalid-expression "pkg/front_end/testcases/extensions/getter_setter_conflict.dart:32:5: Error: The property 'm3' is defined in multiple extensions for 'Class' and neither is more specific.
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.m3;
-    ^^";
+    ^^" in c{<unresolved>}.m3;
   invalid-expression "pkg/front_end/testcases/extensions/getter_setter_conflict.dart:33:5: Error: The property 'm3' is defined in multiple extensions for 'Class' and neither is more specific.
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.m3 = 2;
-    ^^";
+    ^^" in c{<unresolved>}.m3 = 2;
   invalid-expression "pkg/front_end/testcases/extensions/getter_setter_conflict.dart:34:5: Error: The property 'm4' is defined in multiple extensions for 'Class' and neither is more specific.
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.m4;
-    ^^";
+    ^^" in c{<unresolved>}.m4;
   invalid-expression "pkg/front_end/testcases/extensions/getter_setter_conflict.dart:35:5: Error: The property 'm4' is defined in multiple extensions for 'Class' and neither is more specific.
  - 'Class' is from 'pkg/front_end/testcases/extensions/getter_setter_conflict.dart'.
 Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
   c.m4 = 2;
-    ^^";
+    ^^" in c{<unresolved>}.m4 = 2;
 }
 static method expect(dynamic expected, dynamic actual) → dynamic {
   if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
diff --git a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.expect b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.expect
index 42cf217..1dadbb1 100644
--- a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.expect
@@ -79,30 +79,30 @@
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'staticMethod'.
   c.staticMethod();
-    ^^^^^^^^^^^^";
+    ^^^^^^^^^^^^" in c{<unresolved>}.staticMethod();
   invalid-expression "pkg/front_end/testcases/extensions/instance_access_of_static.dart:27:5: Error: The getter 'staticMethod' isn't defined for the class 'Class1'.
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'staticMethod'.
   c.staticMethod;
-    ^^^^^^^^^^^^";
+    ^^^^^^^^^^^^" in c{<unresolved>}.staticMethod;
   invalid-expression "pkg/front_end/testcases/extensions/instance_access_of_static.dart:28:5: Error: The getter 'staticProperty' isn't defined for the class 'Class1'.
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'staticProperty'.
   c.staticProperty;
-    ^^^^^^^^^^^^^^";
+    ^^^^^^^^^^^^^^" in c{<unresolved>}.staticProperty;
   invalid-expression "pkg/front_end/testcases/extensions/instance_access_of_static.dart:29:5: Error: The setter 'staticProperty' isn't defined for the class 'Class1'.
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'staticProperty'.
   c.staticProperty = 42;
-    ^^^^^^^^^^^^^^";
+    ^^^^^^^^^^^^^^" in c{<unresolved>}.staticProperty = 42;
   invalid-expression "pkg/front_end/testcases/extensions/instance_access_of_static.dart:30:5: Error: The getter 'staticField' isn't defined for the class 'Class1'.
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'staticField'.
   c.staticField;
-    ^^^^^^^^^^^";
+    ^^^^^^^^^^^" in c{<unresolved>}.staticField;
   invalid-expression "pkg/front_end/testcases/extensions/instance_access_of_static.dart:31:5: Error: The setter 'staticField' isn't defined for the class 'Class1'.
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'staticField'.
   c.staticField = 42;
-    ^^^^^^^^^^^";
+    ^^^^^^^^^^^" in c{<unresolved>}.staticField = 42;
 }
diff --git a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.transformed.expect
index 42cf217..1dadbb1 100644
--- a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.transformed.expect
@@ -79,30 +79,30 @@
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'staticMethod'.
   c.staticMethod();
-    ^^^^^^^^^^^^";
+    ^^^^^^^^^^^^" in c{<unresolved>}.staticMethod();
   invalid-expression "pkg/front_end/testcases/extensions/instance_access_of_static.dart:27:5: Error: The getter 'staticMethod' isn't defined for the class 'Class1'.
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'staticMethod'.
   c.staticMethod;
-    ^^^^^^^^^^^^";
+    ^^^^^^^^^^^^" in c{<unresolved>}.staticMethod;
   invalid-expression "pkg/front_end/testcases/extensions/instance_access_of_static.dart:28:5: Error: The getter 'staticProperty' isn't defined for the class 'Class1'.
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'staticProperty'.
   c.staticProperty;
-    ^^^^^^^^^^^^^^";
+    ^^^^^^^^^^^^^^" in c{<unresolved>}.staticProperty;
   invalid-expression "pkg/front_end/testcases/extensions/instance_access_of_static.dart:29:5: Error: The setter 'staticProperty' isn't defined for the class 'Class1'.
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'staticProperty'.
   c.staticProperty = 42;
-    ^^^^^^^^^^^^^^";
+    ^^^^^^^^^^^^^^" in c{<unresolved>}.staticProperty = 42;
   invalid-expression "pkg/front_end/testcases/extensions/instance_access_of_static.dart:30:5: Error: The getter 'staticField' isn't defined for the class 'Class1'.
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'staticField'.
   c.staticField;
-    ^^^^^^^^^^^";
+    ^^^^^^^^^^^" in c{<unresolved>}.staticField;
   invalid-expression "pkg/front_end/testcases/extensions/instance_access_of_static.dart:31:5: Error: The setter 'staticField' isn't defined for the class 'Class1'.
  - 'Class1' is from 'pkg/front_end/testcases/extensions/instance_access_of_static.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'staticField'.
   c.staticField = 42;
-    ^^^^^^^^^^^";
+    ^^^^^^^^^^^" in c{<unresolved>}.staticField = 42;
 }
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.expect b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.expect
index b85efb2..dd8a12d 100644
--- a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.expect
@@ -186,7 +186,7 @@
   invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:27:3: Error: Explicit extension application of extension 'Extension' takes '0' type argument(s).
   Extension<int>(c1).method(null);
   ^^^^^^^^^"{dynamic}.method(null);
-  self::Extension|method(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:28:13: Error: The argument type 'String' can't be assigned to the parameter type 'Class'.
+  self::Extension|method(invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:28:13: Error: The argument type 'String' can't be assigned to the parameter type 'Class'.
  - 'Class' is from 'pkg/front_end/testcases/extensions/invalid_explicit_access.dart'.
   Extension(s).method(null);
             ^" in s as{TypeError} self::Class*, null);
@@ -243,11 +243,11 @@
   invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:50:3: Error: Explicit extension application of extension 'GenericExtension' takes '1' type argument(s).
   GenericExtension<int, String>(c2).method();
   ^^^^^^^^^^^^^^^^"{dynamic}.method();
-  self::GenericExtension|method<dynamic>(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:51:20: Error: The argument type 'String' can't be assigned to the parameter type 'GenericClass<dynamic>'.
+  self::GenericExtension|method<dynamic>(invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:51:20: Error: The argument type 'String' can't be assigned to the parameter type 'GenericClass<dynamic>'.
  - 'GenericClass' is from 'pkg/front_end/testcases/extensions/invalid_explicit_access.dart'.
   GenericExtension(s).method();
                    ^" in s as{TypeError} self::GenericClass<dynamic>*);
-  self::GenericExtension|method<core::int*>(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:52:25: Error: The argument type 'String' can't be assigned to the parameter type 'GenericClass<int>'.
+  self::GenericExtension|method<core::int*>(invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:52:25: Error: The argument type 'String' can't be assigned to the parameter type 'GenericClass<int>'.
  - 'GenericClass' is from 'pkg/front_end/testcases/extensions/invalid_explicit_access.dart'.
   GenericExtension<int>(s).method();
                         ^" in s as{TypeError} self::GenericClass<core::int*>*);
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.transformed.expect
index b85efb2..dd8a12d 100644
--- a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.transformed.expect
@@ -186,7 +186,7 @@
   invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:27:3: Error: Explicit extension application of extension 'Extension' takes '0' type argument(s).
   Extension<int>(c1).method(null);
   ^^^^^^^^^"{dynamic}.method(null);
-  self::Extension|method(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:28:13: Error: The argument type 'String' can't be assigned to the parameter type 'Class'.
+  self::Extension|method(invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:28:13: Error: The argument type 'String' can't be assigned to the parameter type 'Class'.
  - 'Class' is from 'pkg/front_end/testcases/extensions/invalid_explicit_access.dart'.
   Extension(s).method(null);
             ^" in s as{TypeError} self::Class*, null);
@@ -243,11 +243,11 @@
   invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:50:3: Error: Explicit extension application of extension 'GenericExtension' takes '1' type argument(s).
   GenericExtension<int, String>(c2).method();
   ^^^^^^^^^^^^^^^^"{dynamic}.method();
-  self::GenericExtension|method<dynamic>(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:51:20: Error: The argument type 'String' can't be assigned to the parameter type 'GenericClass<dynamic>'.
+  self::GenericExtension|method<dynamic>(invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:51:20: Error: The argument type 'String' can't be assigned to the parameter type 'GenericClass<dynamic>'.
  - 'GenericClass' is from 'pkg/front_end/testcases/extensions/invalid_explicit_access.dart'.
   GenericExtension(s).method();
                    ^" in s as{TypeError} self::GenericClass<dynamic>*);
-  self::GenericExtension|method<core::int*>(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:52:25: Error: The argument type 'String' can't be assigned to the parameter type 'GenericClass<int>'.
+  self::GenericExtension|method<core::int*>(invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:52:25: Error: The argument type 'String' can't be assigned to the parameter type 'GenericClass<int>'.
  - 'GenericClass' is from 'pkg/front_end/testcases/extensions/invalid_explicit_access.dart'.
   GenericExtension<int>(s).method();
                         ^" in s as{TypeError} self::GenericClass<core::int*>*);
diff --git a/pkg/front_end/testcases/extensions/issue38745.dart.weak.expect b/pkg/front_end/testcases/extensions/issue38745.dart.weak.expect
index 13017ea..fc38e42 100644
--- a/pkg/front_end/testcases/extensions/issue38745.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue38745.dart.weak.expect
@@ -154,28 +154,28 @@
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'field'.
   c.field;
-    ^^^^^";
+    ^^^^^" in c{<unresolved>}.field;
   invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:35:5: Error: The setter 'field' isn't defined for the class 'C<int>'.
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'field'.
   c.field = 23;
-    ^^^^^";
+    ^^^^^" in c{<unresolved>}.field = 23;
   invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:36:5: Error: The getter 'property' isn't defined for the class 'C<int>'.
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
   c.property;
-    ^^^^^^^^";
+    ^^^^^^^^" in c{<unresolved>}.property;
   self::ext|set#property<core::int*>(c, 23);
   invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:38:5: Error: The getter 'property2' isn't defined for the class 'C<int>'.
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'property2'.
   c.property2;
-    ^^^^^^^^^";
+    ^^^^^^^^^" in c{<unresolved>}.property2;
   invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:39:5: Error: The setter 'property2' isn't defined for the class 'C<int>'.
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'property2'.
   c.property2 = 23;
-    ^^^^^^^^^";
+    ^^^^^^^^^" in c{<unresolved>}.property2 = 23;
   invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:40:10: Error: Getter not found: 'field'.
   ext(c).field;
          ^^^^^";
diff --git a/pkg/front_end/testcases/extensions/issue38745.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue38745.dart.weak.transformed.expect
index 13017ea..fc38e42 100644
--- a/pkg/front_end/testcases/extensions/issue38745.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue38745.dart.weak.transformed.expect
@@ -154,28 +154,28 @@
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'field'.
   c.field;
-    ^^^^^";
+    ^^^^^" in c{<unresolved>}.field;
   invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:35:5: Error: The setter 'field' isn't defined for the class 'C<int>'.
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'field'.
   c.field = 23;
-    ^^^^^";
+    ^^^^^" in c{<unresolved>}.field = 23;
   invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:36:5: Error: The getter 'property' isn't defined for the class 'C<int>'.
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
   c.property;
-    ^^^^^^^^";
+    ^^^^^^^^" in c{<unresolved>}.property;
   self::ext|set#property<core::int*>(c, 23);
   invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:38:5: Error: The getter 'property2' isn't defined for the class 'C<int>'.
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'property2'.
   c.property2;
-    ^^^^^^^^^";
+    ^^^^^^^^^" in c{<unresolved>}.property2;
   invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:39:5: Error: The setter 'property2' isn't defined for the class 'C<int>'.
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'property2'.
   c.property2 = 23;
-    ^^^^^^^^^";
+    ^^^^^^^^^" in c{<unresolved>}.property2 = 23;
   invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:40:10: Error: Getter not found: 'field'.
   ext(c).field;
          ^^^^^";
diff --git a/pkg/front_end/testcases/extensions/issue38750.dart.weak.expect b/pkg/front_end/testcases/extensions/issue38750.dart.weak.expect
index 1a16509..f72ca64 100644
--- a/pkg/front_end/testcases/extensions/issue38750.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue38750.dart.weak.expect
@@ -31,7 +31,7 @@
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38750_lib1.dart'.
 Try correcting the name to the name of an existing method, or defining a method named '_foo'.
   c._foo();
-    ^^^^";
+    ^^^^" in c{<unresolved>}._foo();
   invalid-expression "pkg/front_end/testcases/extensions/issue38750.dart:13:5: Error: Method not found: 'C._staticFoo'.
   C._staticFoo();
     ^^^^^^^^^^";
@@ -41,7 +41,7 @@
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38750_lib1.dart'.
 Try correcting the name to the name of an existing method, or defining a method named '_bar'.
   c._bar();
-    ^^^^";
+    ^^^^" in c{<unresolved>}._bar();
 }
 
 library;
@@ -114,5 +114,5 @@
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38750_lib1.dart'.
 Try correcting the name to the name of an existing method, or defining a method named '_bar'.
   c._bar();
-    ^^^^";
+    ^^^^" in c{<unresolved>}._bar();
 }
diff --git a/pkg/front_end/testcases/extensions/issue38750.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue38750.dart.weak.transformed.expect
index 1a16509..f72ca64 100644
--- a/pkg/front_end/testcases/extensions/issue38750.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue38750.dart.weak.transformed.expect
@@ -31,7 +31,7 @@
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38750_lib1.dart'.
 Try correcting the name to the name of an existing method, or defining a method named '_foo'.
   c._foo();
-    ^^^^";
+    ^^^^" in c{<unresolved>}._foo();
   invalid-expression "pkg/front_end/testcases/extensions/issue38750.dart:13:5: Error: Method not found: 'C._staticFoo'.
   C._staticFoo();
     ^^^^^^^^^^";
@@ -41,7 +41,7 @@
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38750_lib1.dart'.
 Try correcting the name to the name of an existing method, or defining a method named '_bar'.
   c._bar();
-    ^^^^";
+    ^^^^" in c{<unresolved>}._bar();
 }
 
 library;
@@ -114,5 +114,5 @@
  - 'C' is from 'pkg/front_end/testcases/extensions/issue38750_lib1.dart'.
 Try correcting the name to the name of an existing method, or defining a method named '_bar'.
   c._bar();
-    ^^^^";
+    ^^^^" in c{<unresolved>}._bar();
 }
diff --git a/pkg/front_end/testcases/extensions/issue40713.dart.weak.expect b/pkg/front_end/testcases/extensions/issue40713.dart.weak.expect
index 5609379..568f207 100644
--- a/pkg/front_end/testcases/extensions/issue40713.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue40713.dart.weak.expect
@@ -30,9 +30,9 @@
   final core::List<core::Object*>* list = <core::Object*>[];
   invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:22:8: Error: 'safeFirst' isn't a function or method and can't be invoked.
   list.safeFirst();
-       ^^^^^^^^^";
+       ^^^^^^^^^" in self::SafeAccess|get#safeFirst<core::Object*>(list){<unresolved>}.call();
   final core::List<(core::int*) →* void>* list2 = <(core::int*) →* void>[];
-  let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:24:18: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:24:18: Error: Too few positional arguments: 1 required, 0 given.
   list2.safeFirst();
                  ^" in self::SafeAccess|get#safeFirst<(core::int*) →* void>(list2){<inapplicable>}.();
 }
diff --git a/pkg/front_end/testcases/extensions/issue40713.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue40713.dart.weak.transformed.expect
index 4627c59..7dc278b 100644
--- a/pkg/front_end/testcases/extensions/issue40713.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue40713.dart.weak.transformed.expect
@@ -30,9 +30,9 @@
   final core::List<core::Object*>* list = core::_GrowableList::•<core::Object*>(0);
   invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:22:8: Error: 'safeFirst' isn't a function or method and can't be invoked.
   list.safeFirst();
-       ^^^^^^^^^";
+       ^^^^^^^^^" in self::SafeAccess|get#safeFirst<core::Object*>(list){<unresolved>}.call();
   final core::List<(core::int*) →* void>* list2 = core::_GrowableList::•<(core::int*) →* void>(0);
-  let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:24:18: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:24:18: Error: Too few positional arguments: 1 required, 0 given.
   list2.safeFirst();
                  ^" in self::SafeAccess|get#safeFirst<(core::int*) →* void>(list2){<inapplicable>}.();
 }
diff --git a/pkg/front_end/testcases/extensions/issue43218.dart.weak.expect b/pkg/front_end/testcases/extensions/issue43218.dart.weak.expect
index 26ad712..8f03ff9 100644
--- a/pkg/front_end/testcases/extensions/issue43218.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue43218.dart.weak.expect
@@ -43,6 +43,6 @@
   let final self::C* #t1 = c in invalid-expression "pkg/front_end/testcases/extensions/issue43218.dart:24:10: Error: The setter 'id' isn't defined for the class 'int'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'id'.
   Ext(c).id++;
-         ^^";
+         ^^" in #t1{<unresolved>}.id = self::Ext|get#id(#t1).{core::num::+}(1){(core::num*) →* core::int*};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/issue43218.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue43218.dart.weak.transformed.expect
index 26ad712..8f03ff9 100644
--- a/pkg/front_end/testcases/extensions/issue43218.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue43218.dart.weak.transformed.expect
@@ -43,6 +43,6 @@
   let final self::C* #t1 = c in invalid-expression "pkg/front_end/testcases/extensions/issue43218.dart:24:10: Error: The setter 'id' isn't defined for the class 'int'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'id'.
   Ext(c).id++;
-         ^^";
+         ^^" in #t1{<unresolved>}.id = self::Ext|get#id(#t1).{core::num::+}(1){(core::num*) →* core::int*};
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/issue44003.dart.weak.expect b/pkg/front_end/testcases/extensions/issue44003.dart.weak.expect
index 00f8324..a8d4f63 100644
--- a/pkg/front_end/testcases/extensions/issue44003.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue44003.dart.weak.expect
@@ -27,7 +27,7 @@
  - 'List' is from 'dart:core'.
 Try correcting the name to the name of an existing method, or defining a method named 'foo'.
   args.foo('1', 2);
-       ^^^";
+       ^^^" in args{<unresolved>}.foo("1", 2);
 }
 static method _extension#0|foo(lowered final core::List<core::String*>* #this, core::String* bar) → void {
   core::print(1);
diff --git a/pkg/front_end/testcases/extensions/issue44003.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue44003.dart.weak.transformed.expect
index 00f8324..a8d4f63 100644
--- a/pkg/front_end/testcases/extensions/issue44003.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue44003.dart.weak.transformed.expect
@@ -27,7 +27,7 @@
  - 'List' is from 'dart:core'.
 Try correcting the name to the name of an existing method, or defining a method named 'foo'.
   args.foo('1', 2);
-       ^^^";
+       ^^^" in args{<unresolved>}.foo("1", 2);
 }
 static method _extension#0|foo(lowered final core::List<core::String*>* #this, core::String* bar) → void {
   core::print(1);
diff --git a/pkg/front_end/testcases/extensions/issue44844.dart.weak.expect b/pkg/front_end/testcases/extensions/issue44844.dart.weak.expect
index b967f55..1a705d7 100644
--- a/pkg/front_end/testcases/extensions/issue44844.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue44844.dart.weak.expect
@@ -25,6 +25,6 @@
   invalid-expression "pkg/front_end/testcases/extensions/issue44844.dart:11:5: Error: The method 'foo' isn't defined for the class 'int'.
 Try correcting the name to the name of an existing method, or defining a method named 'foo'.
   3.foo();
-    ^^^";
+    ^^^" in 3{<unresolved>}.foo();
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/issue44844.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue44844.dart.weak.transformed.expect
index b967f55..1a705d7 100644
--- a/pkg/front_end/testcases/extensions/issue44844.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue44844.dart.weak.transformed.expect
@@ -25,6 +25,6 @@
   invalid-expression "pkg/front_end/testcases/extensions/issue44844.dart:11:5: Error: The method 'foo' isn't defined for the class 'int'.
 Try correcting the name to the name of an existing method, or defining a method named 'foo'.
   3.foo();
-    ^^^";
+    ^^^" in 3{<unresolved>}.foo();
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.expect b/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.expect
index b657553..b9fb9f7 100644
--- a/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.expect
@@ -14,7 +14,7 @@
     : super core::Object::•()
     ;
   method test1(generic-covariant-impl self::Foo::S* x) → void {
-    (self::Foo::S*) →* self::Foo::S* f = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/language_issue1182.dart:11:25: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'S Function(S)'.
+    (self::Foo::S*) →* self::Foo::S* f = invalid-expression "pkg/front_end/testcases/extensions/language_issue1182.dart:11:25: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'S Function(S)'.
     S Function(S) f = x.test;
                         ^" in self::Test|get#test<core::num*>(x) as{TypeError} Never;
   }
diff --git a/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.transformed.expect
index b657553..b9fb9f7 100644
--- a/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.transformed.expect
@@ -14,7 +14,7 @@
     : super core::Object::•()
     ;
   method test1(generic-covariant-impl self::Foo::S* x) → void {
-    (self::Foo::S*) →* self::Foo::S* f = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/language_issue1182.dart:11:25: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'S Function(S)'.
+    (self::Foo::S*) →* self::Foo::S* f = invalid-expression "pkg/front_end/testcases/extensions/language_issue1182.dart:11:25: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'S Function(S)'.
     S Function(S) f = x.test;
                         ^" in self::Test|get#test<core::num*>(x) as{TypeError} Never;
   }
diff --git a/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.expect b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.expect
index e492265..6d6179a 100644
--- a/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.expect
@@ -34,6 +34,6 @@
  - 'Class' is from 'pkg/front_end/testcases/extensions/missing_toplevel.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'setter'.
 var missingGetter = c.setter += 42;
-                      ^^^^^^"{dynamic}.+(42) as{TypeError,ForDynamic} core::int* in let final void #t3 = self::Extension|set#setter(#t1, #t2) in #t2;
+                      ^^^^^^" in #t1{<unresolved>}.setter{dynamic}.+(42) as{TypeError,ForDynamic} core::int* in let final void #t3 = self::Extension|set#setter(#t1, #t2) in #t2;
 static method Extension|set#setter(lowered final self::Class* #this, core::int* value) → void {}
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.transformed.expect
index d71c075..29bae48 100644
--- a/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.transformed.expect
@@ -34,6 +34,6 @@
  - 'Class' is from 'pkg/front_end/testcases/extensions/missing_toplevel.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'setter'.
 var missingGetter = c.setter += 42;
-                      ^^^^^^"{dynamic}.+(42) as{TypeError,ForDynamic} core::int* in let final void #t3 = self::Extension|set#setter(#t1, #t2) in #t2;
+                      ^^^^^^" in #t1{<unresolved>}.setter{dynamic}.+(42) as{TypeError,ForDynamic} core::int* in let final void #t3 = self::Extension|set#setter(#t1, #t2) in #t2;
 static method Extension|set#setter(lowered final self::Class* #this, core::int* value) → void {}
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.expect b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.expect
index 4fa3d96..ea9e928 100644
--- a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.expect
@@ -120,25 +120,29 @@
  - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'method'.
   nonStruct.method();
-            ^^^^^^";
+            ^^^^^^" in nonStruct{<unresolved>}.method();
   invalid-expression "pkg/front_end/testcases/extensions/on_type_variable_inference.dart:45:13: Error: The setter 'property' isn't defined for the class 'NonStruct'.
  - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
   nonStruct.property = nonStruct.property;
-            ^^^^^^^^";
+            ^^^^^^^^" in nonStruct{<unresolved>}.property = invalid-expression "pkg/front_end/testcases/extensions/on_type_variable_inference.dart:45:34: Error: The getter 'property' isn't defined for the class 'NonStruct'.
+ - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
+Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
+  nonStruct.property = nonStruct.property;
+                                 ^^^^^^^^" in nonStruct{<unresolved>}.property;
   invalid-expression "pkg/front_end/testcases/extensions/on_type_variable_inference.dart:46:19: Error: The method 'method' isn't defined for the class 'NonStruct'.
  - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'method'.
   new NonStruct().method();
-                  ^^^^^^";
+                  ^^^^^^" in new self::NonStruct::•(){<unresolved>}.method();
   invalid-expression "pkg/front_end/testcases/extensions/on_type_variable_inference.dart:47:19: Error: The getter 'property' isn't defined for the class 'NonStruct'.
  - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
   new NonStruct().property;
-                  ^^^^^^^^";
+                  ^^^^^^^^" in new self::NonStruct::•(){<unresolved>}.property;
   invalid-expression "pkg/front_end/testcases/extensions/on_type_variable_inference.dart:48:19: Error: The setter 'property' isn't defined for the class 'NonStruct'.
  - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
   new NonStruct().property = null;
-                  ^^^^^^^^";
+                  ^^^^^^^^" in new self::NonStruct::•(){<unresolved>}.property = null;
 }
diff --git a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.transformed.expect
index 4fa3d96..ea9e928 100644
--- a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.transformed.expect
@@ -120,25 +120,29 @@
  - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'method'.
   nonStruct.method();
-            ^^^^^^";
+            ^^^^^^" in nonStruct{<unresolved>}.method();
   invalid-expression "pkg/front_end/testcases/extensions/on_type_variable_inference.dart:45:13: Error: The setter 'property' isn't defined for the class 'NonStruct'.
  - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
   nonStruct.property = nonStruct.property;
-            ^^^^^^^^";
+            ^^^^^^^^" in nonStruct{<unresolved>}.property = invalid-expression "pkg/front_end/testcases/extensions/on_type_variable_inference.dart:45:34: Error: The getter 'property' isn't defined for the class 'NonStruct'.
+ - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
+Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
+  nonStruct.property = nonStruct.property;
+                                 ^^^^^^^^" in nonStruct{<unresolved>}.property;
   invalid-expression "pkg/front_end/testcases/extensions/on_type_variable_inference.dart:46:19: Error: The method 'method' isn't defined for the class 'NonStruct'.
  - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'method'.
   new NonStruct().method();
-                  ^^^^^^";
+                  ^^^^^^" in new self::NonStruct::•(){<unresolved>}.method();
   invalid-expression "pkg/front_end/testcases/extensions/on_type_variable_inference.dart:47:19: Error: The getter 'property' isn't defined for the class 'NonStruct'.
  - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
   new NonStruct().property;
-                  ^^^^^^^^";
+                  ^^^^^^^^" in new self::NonStruct::•(){<unresolved>}.property;
   invalid-expression "pkg/front_end/testcases/extensions/on_type_variable_inference.dart:48:19: Error: The setter 'property' isn't defined for the class 'NonStruct'.
  - 'NonStruct' is from 'pkg/front_end/testcases/extensions/on_type_variable_inference.dart'.
 Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
   new NonStruct().property = null;
-                  ^^^^^^^^";
+                  ^^^^^^^^" in new self::NonStruct::•(){<unresolved>}.property = null;
 }
diff --git a/pkg/front_end/testcases/extensions/private_members.dart.weak.expect b/pkg/front_end/testcases/extensions/private_members.dart.weak.expect
index 4a003d0..477337e 100644
--- a/pkg/front_end/testcases/extensions/private_members.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/private_members.dart.weak.expect
@@ -66,23 +66,23 @@
   pri::expect(42, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:17:17: Error: The method 'publicMethod1' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing method, or defining a method named 'publicMethod1'.
   expect(42, \"\".publicMethod1());
-                ^^^^^^^^^^^^^");
+                ^^^^^^^^^^^^^" in ""{<unresolved>}.publicMethod1());
   pri::expect(87, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:18:17: Error: The method '_privateMethod1' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing method, or defining a method named '_privateMethod1'.
   expect(87, \"\"._privateMethod1());
-                ^^^^^^^^^^^^^^^");
+                ^^^^^^^^^^^^^^^" in ""{<unresolved>}._privateMethod1());
   pri::expect(237, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:19:18: Error: The method '_privateMethod2' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing method, or defining a method named '_privateMethod2'.
   expect(237, \"\"._privateMethod2());
-                 ^^^^^^^^^^^^^^^");
+                 ^^^^^^^^^^^^^^^" in ""{<unresolved>}._privateMethod2());
   pri::expect(473, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:20:18: Error: The method 'publicMethod3' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing method, or defining a method named 'publicMethod3'.
   expect(473, \"\".publicMethod3());
-                 ^^^^^^^^^^^^^");
+                 ^^^^^^^^^^^^^" in ""{<unresolved>}.publicMethod3());
   pri::expect(586, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:21:18: Error: The method '_privateMethod3' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing method, or defining a method named '_privateMethod3'.
   expect(586, \"\"._privateMethod3());
-                 ^^^^^^^^^^^^^^^");
+                 ^^^^^^^^^^^^^^^" in ""{<unresolved>}._privateMethod3());
   pri::expect(42, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:23:14: Error: Method not found: '_PrivateExtension'.
   expect(42, _PrivateExtension(\"\").publicMethod1());
              ^^^^^^^^^^^^^^^^^"{dynamic}.publicMethod1());
diff --git a/pkg/front_end/testcases/extensions/private_members.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/private_members.dart.weak.transformed.expect
index 4a003d0..477337e 100644
--- a/pkg/front_end/testcases/extensions/private_members.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/private_members.dart.weak.transformed.expect
@@ -66,23 +66,23 @@
   pri::expect(42, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:17:17: Error: The method 'publicMethod1' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing method, or defining a method named 'publicMethod1'.
   expect(42, \"\".publicMethod1());
-                ^^^^^^^^^^^^^");
+                ^^^^^^^^^^^^^" in ""{<unresolved>}.publicMethod1());
   pri::expect(87, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:18:17: Error: The method '_privateMethod1' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing method, or defining a method named '_privateMethod1'.
   expect(87, \"\"._privateMethod1());
-                ^^^^^^^^^^^^^^^");
+                ^^^^^^^^^^^^^^^" in ""{<unresolved>}._privateMethod1());
   pri::expect(237, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:19:18: Error: The method '_privateMethod2' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing method, or defining a method named '_privateMethod2'.
   expect(237, \"\"._privateMethod2());
-                 ^^^^^^^^^^^^^^^");
+                 ^^^^^^^^^^^^^^^" in ""{<unresolved>}._privateMethod2());
   pri::expect(473, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:20:18: Error: The method 'publicMethod3' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing method, or defining a method named 'publicMethod3'.
   expect(473, \"\".publicMethod3());
-                 ^^^^^^^^^^^^^");
+                 ^^^^^^^^^^^^^" in ""{<unresolved>}.publicMethod3());
   pri::expect(586, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:21:18: Error: The method '_privateMethod3' isn't defined for the class 'String'.
 Try correcting the name to the name of an existing method, or defining a method named '_privateMethod3'.
   expect(586, \"\"._privateMethod3());
-                 ^^^^^^^^^^^^^^^");
+                 ^^^^^^^^^^^^^^^" in ""{<unresolved>}._privateMethod3());
   pri::expect(42, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:23:14: Error: Method not found: '_PrivateExtension'.
   expect(42, _PrivateExtension(\"\").publicMethod1());
              ^^^^^^^^^^^^^^^^^"{dynamic}.publicMethod1());
diff --git a/pkg/front_end/testcases/extensions/tear_offs.dart.weak.expect b/pkg/front_end/testcases/extensions/tear_offs.dart.weak.expect
index 3899ae5..d56bc4b 100644
--- a/pkg/front_end/testcases/extensions/tear_offs.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/tear_offs.dart.weak.expect
@@ -53,7 +53,7 @@
 static method Extension|get#method(lowered final self::Class* #this) → () →* dynamic
   return () → dynamic => self::Extension|method(#this);
 static method Extension|errors(lowered final self::Class* #this) → dynamic {
-  (core::int*) →* core::int* intId = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:17:31: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
+  (core::int*) →* core::int* intId = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:17:31: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
     int Function(int) intId = getter;
                               ^" in self::Extension|get#getter(#this) as{TypeError} (core::int*) →* core::int*;
 }
@@ -66,10 +66,10 @@
 }
 static method errors() → dynamic {
   self::Class* c = new self::Class::•();
-  (core::num*) →* core::num* numId = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:30:31: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'num Function(num)'.
+  (core::num*) →* core::num* numId = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:30:31: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'num Function(num)'.
   num Function(num) numId = c.getter;
                               ^" in self::Extension|get#getter(c) as{TypeError} (core::num*) →* core::num*;
-  (core::bool*) →* core::bool* boolId = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:31:45: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'bool Function(bool)'.
+  (core::bool*) →* core::bool* boolId = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:31:45: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'bool Function(bool)'.
   bool Function(bool) boolId = Extension(c).getter;
                                             ^" in self::Extension|get#getter(c) as{TypeError} (core::bool*) →* core::bool*;
 }
diff --git a/pkg/front_end/testcases/extensions/tear_offs.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/tear_offs.dart.weak.transformed.expect
index 3899ae5..d56bc4b 100644
--- a/pkg/front_end/testcases/extensions/tear_offs.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/tear_offs.dart.weak.transformed.expect
@@ -53,7 +53,7 @@
 static method Extension|get#method(lowered final self::Class* #this) → () →* dynamic
   return () → dynamic => self::Extension|method(#this);
 static method Extension|errors(lowered final self::Class* #this) → dynamic {
-  (core::int*) →* core::int* intId = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:17:31: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
+  (core::int*) →* core::int* intId = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:17:31: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
     int Function(int) intId = getter;
                               ^" in self::Extension|get#getter(#this) as{TypeError} (core::int*) →* core::int*;
 }
@@ -66,10 +66,10 @@
 }
 static method errors() → dynamic {
   self::Class* c = new self::Class::•();
-  (core::num*) →* core::num* numId = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:30:31: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'num Function(num)'.
+  (core::num*) →* core::num* numId = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:30:31: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'num Function(num)'.
   num Function(num) numId = c.getter;
                               ^" in self::Extension|get#getter(c) as{TypeError} (core::num*) →* core::num*;
-  (core::bool*) →* core::bool* boolId = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:31:45: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'bool Function(bool)'.
+  (core::bool*) →* core::bool* boolId = invalid-expression "pkg/front_end/testcases/extensions/tear_offs.dart:31:45: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'bool Function(bool)'.
   bool Function(bool) boolId = Extension(c).getter;
                                             ^" in self::Extension|get#getter(c) as{TypeError} (core::bool*) →* core::bool*;
 }
diff --git a/pkg/front_end/testcases/general/abstract_instantiation.dart b/pkg/front_end/testcases/general/abstract_instantiation.dart
new file mode 100644
index 0000000..9aea66f
--- /dev/null
+++ b/pkg/front_end/testcases/general/abstract_instantiation.dart
@@ -0,0 +1,16 @@
+// Copyright (c) 2018, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+abstract class A {}
+
+abstract class B implements A {
+  factory B() = A;
+}
+
+test() {
+  new A();
+  new B();
+}
+
+main() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/abstract_instantiation.dart.textual_outline.expect b/pkg/front_end/testcases/general/abstract_instantiation.dart.textual_outline.expect
new file mode 100644
index 0000000..ab0aa6b
--- /dev/null
+++ b/pkg/front_end/testcases/general/abstract_instantiation.dart.textual_outline.expect
@@ -0,0 +1,8 @@
+abstract class A {}
+
+abstract class B implements A {
+  factory B() = A;
+}
+
+test() {}
+main() {}
diff --git a/pkg/front_end/testcases/general/abstract_instantiation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/abstract_instantiation.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..561a10b
--- /dev/null
+++ b/pkg/front_end/testcases/general/abstract_instantiation.dart.textual_outline_modelled.expect
@@ -0,0 +1,8 @@
+abstract class A {}
+
+abstract class B implements A {
+  factory B() = A;
+}
+
+main() {}
+test() {}
diff --git a/pkg/front_end/testcases/general/abstract_instantiation.dart.weak.expect b/pkg/front_end/testcases/general/abstract_instantiation.dart.weak.expect
new file mode 100644
index 0000000..3d26130
--- /dev/null
+++ b/pkg/front_end/testcases/general/abstract_instantiation.dart.weak.expect
@@ -0,0 +1,36 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/abstract_instantiation.dart:8:17: Error: The constructor function type 'A Function()' isn't a subtype of 'B Function()'.
+//  - 'A' is from 'pkg/front_end/testcases/general/abstract_instantiation.dart'.
+//  - 'B' is from 'pkg/front_end/testcases/general/abstract_instantiation.dart'.
+//   factory B() = A;
+//                 ^
+//
+// pkg/front_end/testcases/general/abstract_instantiation.dart:12:7: Error: The class 'A' is abstract and can't be instantiated.
+//   new A();
+//       ^
+//
+// pkg/front_end/testcases/general/abstract_instantiation.dart:8:11: Error: Factory redirects to class 'A', which is abstract and can't be instantiated.
+//   factory B() = A;
+//           ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+  synthetic constructor •() → self::A
+    : super core::Object::•()
+    ;
+}
+abstract class B extends core::Object implements self::A {
+  static final field dynamic _redirecting# = <dynamic>[self::B::•]/*isLegacy*/;
+  static factory •() → self::B
+    let dynamic #redirecting_factory = self::A::• in invalid-expression;
+}
+static method test() → dynamic {
+  throw new core::AbstractClassInstantiationError::•("A");
+  throw new core::AbstractClassInstantiationError::•("A");
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/abstract_instantiation.dart.weak.outline.expect b/pkg/front_end/testcases/general/abstract_instantiation.dart.weak.outline.expect
new file mode 100644
index 0000000..abaa3b2
--- /dev/null
+++ b/pkg/front_end/testcases/general/abstract_instantiation.dart.weak.outline.expect
@@ -0,0 +1,26 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/abstract_instantiation.dart:8:17: Error: The constructor function type 'A Function()' isn't a subtype of 'B Function()'.
+//  - 'A' is from 'pkg/front_end/testcases/general/abstract_instantiation.dart'.
+//  - 'B' is from 'pkg/front_end/testcases/general/abstract_instantiation.dart'.
+//   factory B() = A;
+//                 ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+  synthetic constructor •() → self::A
+    ;
+}
+abstract class B extends core::Object implements self::A {
+  static final field dynamic _redirecting# = <dynamic>[self::B::•]/*isLegacy*/;
+  static factory •() → self::B
+    let dynamic #redirecting_factory = self::A::• in invalid-expression;
+}
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/abstract_instantiation.dart.weak.transformed.expect b/pkg/front_end/testcases/general/abstract_instantiation.dart.weak.transformed.expect
new file mode 100644
index 0000000..593c025
--- /dev/null
+++ b/pkg/front_end/testcases/general/abstract_instantiation.dart.weak.transformed.expect
@@ -0,0 +1,36 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/abstract_instantiation.dart:8:17: Error: The constructor function type 'A Function()' isn't a subtype of 'B Function()'.
+//  - 'A' is from 'pkg/front_end/testcases/general/abstract_instantiation.dart'.
+//  - 'B' is from 'pkg/front_end/testcases/general/abstract_instantiation.dart'.
+//   factory B() = A;
+//                 ^
+//
+// pkg/front_end/testcases/general/abstract_instantiation.dart:12:7: Error: The class 'A' is abstract and can't be instantiated.
+//   new A();
+//       ^
+//
+// pkg/front_end/testcases/general/abstract_instantiation.dart:8:11: Error: Factory redirects to class 'A', which is abstract and can't be instantiated.
+//   factory B() = A;
+//           ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+  synthetic constructor •() → self::A
+    : super core::Object::•()
+    ;
+}
+abstract class B extends core::Object implements self::A {
+  static final field dynamic _redirecting# = <dynamic>[self::B::•]/*isLegacy*/;
+  static factory •() → self::B
+    let Never #redirecting_factory = self::A::• in invalid-expression;
+}
+static method test() → dynamic {
+  throw new core::AbstractClassInstantiationError::•("A");
+  throw new core::AbstractClassInstantiationError::•("A");
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/abstract_members.dart b/pkg/front_end/testcases/general/abstract_members.dart
index 967a96e..656f193 100644
--- a/pkg/front_end/testcases/general/abstract_members.dart
+++ b/pkg/front_end/testcases/general/abstract_members.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
+
 class Interface1 {
   void interfaceMethod1() {}
 }
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.weak.expect b/pkg/front_end/testcases/general/abstract_members.dart.weak.expect
index b4b8531..67d0267 100644
--- a/pkg/front_end/testcases/general/abstract_members.dart.weak.expect
+++ b/pkg/front_end/testcases/general/abstract_members.dart.weak.expect
@@ -2,37 +2,37 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/abstract_members.dart:19:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:21:16: Error: Can't inherit members that conflict with each other.
 // abstract class A implements Interface1, Interface2, Interface3 {
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:27:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:29:16: Error: Can't inherit members that conflict with each other.
 // abstract class B extends A {
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:33:7: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:35:7: Error: Can't inherit members that conflict with each other.
 // class MyClass extends B {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:33:7: Error: The non-abstract class 'MyClass' is missing implementations for these members:
+// pkg/front_end/testcases/general/abstract_members.dart:35:7: Error: The non-abstract class 'MyClass' is missing implementations for these members:
 //  - A.abstractMethod
 //  - A.property1=
 //  - A.property3=
@@ -48,59 +48,59 @@
 //
 // class MyClass extends B {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:21:3: Context: 'A.abstractMethod' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:23:3: Context: 'A.abstractMethod' is defined here.
 //   abstractMethod();
 //   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:22:12: Context: 'A.property1=' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property1=' is defined here.
 //   void set property1(_);
 //            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property3=' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:26:12: Context: 'A.property3=' is defined here.
 //   void set property3(_);
 //            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: 'Interface1.interfaceMethod1' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: 'Interface1.interfaceMethod1' is defined here.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: 'Interface2.interfaceMethod1' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: 'Interface2.interfaceMethod1' is defined here.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:10:8: Context: 'Interface2.interfaceMethod2' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:12:8: Context: 'Interface2.interfaceMethod2' is defined here.
 //   void interfaceMethod2() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:16:8: Context: 'Interface3.interfaceMethod3' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:18:8: Context: 'Interface3.interfaceMethod3' is defined here.
 //   void interfaceMethod3() {}
 //        ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:42:7: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:44:7: Error: Can't inherit members that conflict with each other.
 // class MyMock1 extends B {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:48:7: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:50:7: Error: Can't inherit members that conflict with each other.
 // class MyMock2 extends MyMock1 {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:54:7: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:56:7: Error: Can't inherit members that conflict with each other.
 // class MyMock3 extends B {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:54:7: Error: The non-abstract class 'MyMock3' is missing implementations for these members:
+// pkg/front_end/testcases/general/abstract_members.dart:56:7: Error: The non-abstract class 'MyMock3' is missing implementations for these members:
 //  - A.abstractMethod
 //  - A.property1=
 //  - A.property2=
@@ -117,68 +117,68 @@
 //
 // class MyMock3 extends B {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:21:3: Context: 'A.abstractMethod' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:23:3: Context: 'A.abstractMethod' is defined here.
 //   abstractMethod();
 //   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:22:12: Context: 'A.property1=' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property1=' is defined here.
 //   void set property1(_);
 //            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:23:12: Context: 'A.property2=' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:25:12: Context: 'A.property2=' is defined here.
 //   void set property2(_);
 //            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property3=' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:26:12: Context: 'A.property3=' is defined here.
 //   void set property3(_);
 //            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: 'Interface1.interfaceMethod1' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: 'Interface1.interfaceMethod1' is defined here.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: 'Interface2.interfaceMethod1' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: 'Interface2.interfaceMethod1' is defined here.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:10:8: Context: 'Interface2.interfaceMethod2' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:12:8: Context: 'Interface2.interfaceMethod2' is defined here.
 //   void interfaceMethod2() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:16:8: Context: 'Interface3.interfaceMethod3' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:18:8: Context: 'Interface3.interfaceMethod3' is defined here.
 //   void interfaceMethod3() {}
 //        ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:64:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:66:16: Error: Can't inherit members that conflict with each other.
 // abstract class D extends C implements Interface2 {}
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is one inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:59:8: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:61:8: Context: This is the other inherited member.
 //   void interfaceMethod1(_) {}
 //        ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:72:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:74:16: Error: Can't inherit members that conflict with each other.
 // abstract class F extends E implements Interface1 {}
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:67:12: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:69:12: Context: This is the other inherited member.
 //   void set interfaceMethod1(_) {}
 //            ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:84:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:86:16: Error: Can't inherit members that conflict with each other.
 // abstract class H extends G implements Foo {}
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:75:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:77:8: Context: This is one inherited member.
 //   void foo() {}
 //        ^^^
-// pkg/front_end/testcases/general/abstract_members.dart:79:14: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:81:14: Context: This is the other inherited member.
 //   Object get foo => null;
 //              ^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:96:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:98:16: Error: Can't inherit members that conflict with each other.
 // abstract class J extends I implements Bar {}
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:87:14: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:89:14: Context: This is one inherited member.
 //   Object get foo => null;
 //              ^^^
-// pkg/front_end/testcases/general/abstract_members.dart:91:10: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:93:10: Context: This is the other inherited member.
 //   Object foo() {}
 //          ^^^
 //
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.weak.outline.expect b/pkg/front_end/testcases/general/abstract_members.dart.weak.outline.expect
index e5153b7..49ba0ba 100644
--- a/pkg/front_end/testcases/general/abstract_members.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/abstract_members.dart.weak.outline.expect
@@ -2,37 +2,37 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/abstract_members.dart:19:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:21:16: Error: Can't inherit members that conflict with each other.
 // abstract class A implements Interface1, Interface2, Interface3 {
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:27:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:29:16: Error: Can't inherit members that conflict with each other.
 // abstract class B extends A {
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:33:7: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:35:7: Error: Can't inherit members that conflict with each other.
 // class MyClass extends B {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:33:7: Error: The non-abstract class 'MyClass' is missing implementations for these members:
+// pkg/front_end/testcases/general/abstract_members.dart:35:7: Error: The non-abstract class 'MyClass' is missing implementations for these members:
 //  - A.abstractMethod
 //  - A.property1=
 //  - A.property3=
@@ -48,59 +48,59 @@
 //
 // class MyClass extends B {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:21:3: Context: 'A.abstractMethod' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:23:3: Context: 'A.abstractMethod' is defined here.
 //   abstractMethod();
 //   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:22:12: Context: 'A.property1=' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property1=' is defined here.
 //   void set property1(_);
 //            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property3=' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:26:12: Context: 'A.property3=' is defined here.
 //   void set property3(_);
 //            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: 'Interface1.interfaceMethod1' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: 'Interface1.interfaceMethod1' is defined here.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: 'Interface2.interfaceMethod1' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: 'Interface2.interfaceMethod1' is defined here.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:10:8: Context: 'Interface2.interfaceMethod2' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:12:8: Context: 'Interface2.interfaceMethod2' is defined here.
 //   void interfaceMethod2() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:16:8: Context: 'Interface3.interfaceMethod3' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:18:8: Context: 'Interface3.interfaceMethod3' is defined here.
 //   void interfaceMethod3() {}
 //        ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:42:7: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:44:7: Error: Can't inherit members that conflict with each other.
 // class MyMock1 extends B {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:48:7: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:50:7: Error: Can't inherit members that conflict with each other.
 // class MyMock2 extends MyMock1 {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:54:7: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:56:7: Error: Can't inherit members that conflict with each other.
 // class MyMock3 extends B {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is the other inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:54:7: Error: The non-abstract class 'MyMock3' is missing implementations for these members:
+// pkg/front_end/testcases/general/abstract_members.dart:56:7: Error: The non-abstract class 'MyMock3' is missing implementations for these members:
 //  - A.abstractMethod
 //  - A.property1=
 //  - A.property2=
@@ -117,68 +117,68 @@
 //
 // class MyMock3 extends B {
 //       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:21:3: Context: 'A.abstractMethod' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:23:3: Context: 'A.abstractMethod' is defined here.
 //   abstractMethod();
 //   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:22:12: Context: 'A.property1=' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property1=' is defined here.
 //   void set property1(_);
 //            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:23:12: Context: 'A.property2=' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:25:12: Context: 'A.property2=' is defined here.
 //   void set property2(_);
 //            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property3=' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:26:12: Context: 'A.property3=' is defined here.
 //   void set property3(_);
 //            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: 'Interface1.interfaceMethod1' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: 'Interface1.interfaceMethod1' is defined here.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: 'Interface2.interfaceMethod1' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: 'Interface2.interfaceMethod1' is defined here.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:10:8: Context: 'Interface2.interfaceMethod2' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:12:8: Context: 'Interface2.interfaceMethod2' is defined here.
 //   void interfaceMethod2() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:16:8: Context: 'Interface3.interfaceMethod3' is defined here.
+// pkg/front_end/testcases/general/abstract_members.dart:18:8: Context: 'Interface3.interfaceMethod3' is defined here.
 //   void interfaceMethod3() {}
 //        ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:64:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:66:16: Error: Can't inherit members that conflict with each other.
 // abstract class D extends C implements Interface2 {}
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:14:7: Context: This is one inherited member.
 //   var interfaceMethod1;
 //       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:59:8: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:61:8: Context: This is the other inherited member.
 //   void interfaceMethod1(_) {}
 //        ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:72:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:74:16: Error: Can't inherit members that conflict with each other.
 // abstract class F extends E implements Interface1 {}
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:8:8: Context: This is one inherited member.
 //   void interfaceMethod1() {}
 //        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:67:12: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:69:12: Context: This is the other inherited member.
 //   void set interfaceMethod1(_) {}
 //            ^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:84:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:86:16: Error: Can't inherit members that conflict with each other.
 // abstract class H extends G implements Foo {}
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:75:8: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:77:8: Context: This is one inherited member.
 //   void foo() {}
 //        ^^^
-// pkg/front_end/testcases/general/abstract_members.dart:79:14: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:81:14: Context: This is the other inherited member.
 //   Object get foo => null;
 //              ^^^
 //
-// pkg/front_end/testcases/general/abstract_members.dart:96:16: Error: Can't inherit members that conflict with each other.
+// pkg/front_end/testcases/general/abstract_members.dart:98:16: Error: Can't inherit members that conflict with each other.
 // abstract class J extends I implements Bar {}
 //                ^
-// pkg/front_end/testcases/general/abstract_members.dart:87:14: Context: This is one inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:89:14: Context: This is one inherited member.
 //   Object get foo => null;
 //              ^^^
-// pkg/front_end/testcases/general/abstract_members.dart:91:10: Context: This is the other inherited member.
+// pkg/front_end/testcases/general/abstract_members.dart:93:10: Context: This is the other inherited member.
 //   Object foo() {}
 //          ^^^
 //
@@ -425,32 +425,32 @@
 
 
 Extra constant evaluation status:
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:10:8 -> SymbolConstant(#interfaceMethod2)
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:10:8 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:10:8 -> ListConstant(const <dynamic>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:10:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:21:3 -> SymbolConstant(#abstractMethod)
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:21:3 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:21:3 -> ListConstant(const <dynamic>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:21:3 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:6:8 -> SymbolConstant(#interfaceMethod1)
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:6:8 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:6:8 -> ListConstant(const <dynamic>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:6:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:16:8 -> SymbolConstant(#interfaceMethod3)
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:16:8 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:16:8 -> ListConstant(const <dynamic>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:16:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:24:12 -> SymbolConstant(#property3=)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:12:8 -> SymbolConstant(#interfaceMethod2)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:12:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:12:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:12:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:23:3 -> SymbolConstant(#abstractMethod)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:23:3 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:23:3 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:23:3 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:8:8 -> SymbolConstant(#interfaceMethod1)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:8:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:8:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:8:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:18:8 -> SymbolConstant(#interfaceMethod3)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:18:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:18:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:18:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:26:12 -> SymbolConstant(#property3=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:26:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:26:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:14:7 -> SymbolConstant(#interfaceMethod1=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:14:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:14:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:24:12 -> SymbolConstant(#property1=)
 Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:24:12 -> ListConstant(const <Type*>[])
 Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:24:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:12:7 -> SymbolConstant(#interfaceMethod1=)
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:12:7 -> ListConstant(const <Type*>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:12:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:22:12 -> SymbolConstant(#property1=)
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:22:12 -> ListConstant(const <Type*>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:22:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:23:12 -> SymbolConstant(#property2=)
-Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:23:12 -> ListConstant(const <Type*>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:23:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:25:12 -> SymbolConstant(#property2=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:25:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:25:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
 Extra constant evaluation: evaluated: 73, effectively constant: 28
diff --git a/pkg/front_end/testcases/general/accessors.dart.weak.expect b/pkg/front_end/testcases/general/accessors.dart.weak.expect
index b57abd58..d09f07b 100644
--- a/pkg/front_end/testcases/general/accessors.dart.weak.expect
+++ b/pkg/front_end/testcases/general/accessors.dart.weak.expect
@@ -34,7 +34,7 @@
  - 'C' is from 'pkg/front_end/testcases/general/accessors.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
       print(onlySetter);
-            ^^^^^^^^^^");
+            ^^^^^^^^^^" in this{<unresolved>}.onlySetter);
       throw "No error thrown";
     }
     on core::NoSuchMethodError* catch(final core::NoSuchMethodError* e) {
@@ -47,7 +47,7 @@
  - 'C' is from 'pkg/front_end/testcases/general/accessors.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
     print(onlySetter);
-          ^^^^^^^^^^");
+          ^^^^^^^^^^" in this{<unresolved>}.onlySetter);
     this.{self::C::onlySetter} = "hest";
   }
   abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/general/accessors.dart.weak.transformed.expect b/pkg/front_end/testcases/general/accessors.dart.weak.transformed.expect
index b57abd58..d09f07b 100644
--- a/pkg/front_end/testcases/general/accessors.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/accessors.dart.weak.transformed.expect
@@ -34,7 +34,7 @@
  - 'C' is from 'pkg/front_end/testcases/general/accessors.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
       print(onlySetter);
-            ^^^^^^^^^^");
+            ^^^^^^^^^^" in this{<unresolved>}.onlySetter);
       throw "No error thrown";
     }
     on core::NoSuchMethodError* catch(final core::NoSuchMethodError* e) {
@@ -47,7 +47,7 @@
  - 'C' is from 'pkg/front_end/testcases/general/accessors.dart'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
     print(onlySetter);
-          ^^^^^^^^^^");
+          ^^^^^^^^^^" in this{<unresolved>}.onlySetter);
     this.{self::C::onlySetter} = "hest";
   }
   abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/general/bounded_implicit_instantiation.dart.weak.expect b/pkg/front_end/testcases/general/bounded_implicit_instantiation.dart.weak.expect
index cf6e3f3..2b37371 100644
--- a/pkg/front_end/testcases/general/bounded_implicit_instantiation.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bounded_implicit_instantiation.dart.weak.expect
@@ -23,7 +23,7 @@
 static method test() → dynamic {
   function bounded<X extends core::num>(X x) → X
     return x;
-  core::String a = let final Never #t1 = bounded<Never>(let final Never #t2 = invalid-expression "pkg/front_end/testcases/general/bounded_implicit_instantiation.dart:7:22: Error: The argument type 'String' can't be assigned to the parameter type 'Never'.
+  core::String a = let final Never #t1 = bounded<Never>(invalid-expression "pkg/front_end/testcases/general/bounded_implicit_instantiation.dart:7:22: Error: The argument type 'String' can't be assigned to the parameter type 'Never'.
   String a = bounded('');
                      ^" in "" as{TypeError,ForNonNullableByDefault} Never){(Never) → Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
   core::String b = bounded<core::String>(""){(core::String) → core::String};
diff --git a/pkg/front_end/testcases/general/bug21938.dart.weak.expect b/pkg/front_end/testcases/general/bug21938.dart.weak.expect
index 0fce68f..d46ee72 100644
--- a/pkg/front_end/testcases/general/bug21938.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug21938.dart.weak.expect
@@ -30,18 +30,18 @@
  - 'Object' is from 'dart:core'.
 Try correcting the name to the name of an existing method, or defining a method named 'call'.
   x();
-   ^";
+   ^" in x{<unresolved>}.call();
   invalid-expression "pkg/front_end/testcases/general/bug21938.dart:9:4: Error: The method 'call' isn't defined for the class 'Object'.
  - 'Object' is from 'dart:core'.
 Try correcting the name to the name of an existing method, or defining a method named 'call'.
   x(3);
-   ^";
+   ^" in x{<unresolved>}.call(3);
   f(5, 2);
   invalid-expression "pkg/front_end/testcases/general/bug21938.dart:11:5: Error: The method 'call' isn't defined for the class 'Object'.
  - 'Object' is from 'dart:core'.
 Try correcting the name to the name of an existing method, or defining a method named 'call'.
   x.call();
-    ^^^^";
+    ^^^^" in x{<unresolved>}.call();
   f.call;
   f(5, 2);
 }
diff --git a/pkg/front_end/testcases/general/bug21938.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug21938.dart.weak.transformed.expect
index 0fce68f..d46ee72 100644
--- a/pkg/front_end/testcases/general/bug21938.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug21938.dart.weak.transformed.expect
@@ -30,18 +30,18 @@
  - 'Object' is from 'dart:core'.
 Try correcting the name to the name of an existing method, or defining a method named 'call'.
   x();
-   ^";
+   ^" in x{<unresolved>}.call();
   invalid-expression "pkg/front_end/testcases/general/bug21938.dart:9:4: Error: The method 'call' isn't defined for the class 'Object'.
  - 'Object' is from 'dart:core'.
 Try correcting the name to the name of an existing method, or defining a method named 'call'.
   x(3);
-   ^";
+   ^" in x{<unresolved>}.call(3);
   f(5, 2);
   invalid-expression "pkg/front_end/testcases/general/bug21938.dart:11:5: Error: The method 'call' isn't defined for the class 'Object'.
  - 'Object' is from 'dart:core'.
 Try correcting the name to the name of an existing method, or defining a method named 'call'.
   x.call();
-    ^^^^";
+    ^^^^" in x{<unresolved>}.call();
   f.call;
   f(5, 2);
 }
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.weak.expect b/pkg/front_end/testcases/general/bug32414a.dart.weak.expect
index a688e6b..8f4896c 100644
--- a/pkg/front_end/testcases/general/bug32414a.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug32414a.dart.weak.expect
@@ -12,7 +12,7 @@
 static method test() → void {
   dynamic a = 5;
   core::String* b = a.{core::Object::toString}(){() →* core::String*};
-  b = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/bug32414a.dart:10:7: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+  b = invalid-expression "pkg/front_end/testcases/general/bug32414a.dart:10:7: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   b = 42;
       ^" in 42 as{TypeError} core::String*;
 }
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug32414a.dart.weak.transformed.expect
index a688e6b..8f4896c 100644
--- a/pkg/front_end/testcases/general/bug32414a.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug32414a.dart.weak.transformed.expect
@@ -12,7 +12,7 @@
 static method test() → void {
   dynamic a = 5;
   core::String* b = a.{core::Object::toString}(){() →* core::String*};
-  b = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/bug32414a.dart:10:7: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+  b = invalid-expression "pkg/front_end/testcases/general/bug32414a.dart:10:7: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   b = 42;
       ^" in 42 as{TypeError} core::String*;
 }
diff --git a/pkg/front_end/testcases/general/bug32629.dart.weak.expect b/pkg/front_end/testcases/general/bug32629.dart.weak.expect
index 7b0256f..48c5ec01a 100644
--- a/pkg/front_end/testcases/general/bug32629.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug32629.dart.weak.expect
@@ -30,8 +30,8 @@
 }
 static method foo<S extends core::Object* = dynamic>((self::foo::S*, dynamic) →* self::foo::S* v) → void {}
 static method test() → void {
-  self::foo<core::String*>(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/bug32629.dart:16:19: Error: The argument type 'dynamic Function(dynamic, dynamic)' can't be assigned to the parameter type 'String Function(String, dynamic)'.
+  self::foo<core::String*>(invalid-expression "pkg/front_end/testcases/general/bug32629.dart:16:19: Error: The argument type 'dynamic Function(dynamic, dynamic)' can't be assigned to the parameter type 'String Function(String, dynamic)'.
   foo<String>(new A());
-                  ^" in (let final self::A* #t2 = new self::A::•() in #t2 == null ?{(dynamic, dynamic) →* dynamic} null : #t2.{self::A::call}{(dynamic, dynamic) →* dynamic}) as{TypeError} (core::String*, dynamic) →* core::String*);
+                  ^" in (let final self::A* #t1 = new self::A::•() in #t1 == null ?{(dynamic, dynamic) →* dynamic} null : #t1.{self::A::call}{(dynamic, dynamic) →* dynamic}) as{TypeError} (core::String*, dynamic) →* core::String*);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug32629.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug32629.dart.weak.transformed.expect
index 7b0256f..48c5ec01a 100644
--- a/pkg/front_end/testcases/general/bug32629.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug32629.dart.weak.transformed.expect
@@ -30,8 +30,8 @@
 }
 static method foo<S extends core::Object* = dynamic>((self::foo::S*, dynamic) →* self::foo::S* v) → void {}
 static method test() → void {
-  self::foo<core::String*>(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/bug32629.dart:16:19: Error: The argument type 'dynamic Function(dynamic, dynamic)' can't be assigned to the parameter type 'String Function(String, dynamic)'.
+  self::foo<core::String*>(invalid-expression "pkg/front_end/testcases/general/bug32629.dart:16:19: Error: The argument type 'dynamic Function(dynamic, dynamic)' can't be assigned to the parameter type 'String Function(String, dynamic)'.
   foo<String>(new A());
-                  ^" in (let final self::A* #t2 = new self::A::•() in #t2 == null ?{(dynamic, dynamic) →* dynamic} null : #t2.{self::A::call}{(dynamic, dynamic) →* dynamic}) as{TypeError} (core::String*, dynamic) →* core::String*);
+                  ^" in (let final self::A* #t1 = new self::A::•() in #t1 == null ?{(dynamic, dynamic) →* dynamic} null : #t1.{self::A::call}{(dynamic, dynamic) →* dynamic}) as{TypeError} (core::String*, dynamic) →* core::String*);
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug33298.dart.weak.expect b/pkg/front_end/testcases/general/bug33298.dart.weak.expect
index 06e4055..397db9f 100644
--- a/pkg/front_end/testcases/general/bug33298.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug33298.dart.weak.expect
@@ -69,8 +69,8 @@
   core::List<core::String*>* list4 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(let final self::B<core::String*>* #t2 = b in #t2 == null ?{(core::String*) →* core::String*} null : #t2.{self::B::call}{(core::String*) →* core::String*}){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
   self::C* c = new self::C::•();
   core::List<core::String*>* list5 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(c.{self::C::call}{<T extends core::Object* = dynamic>(T*) →* T*}<core::String*>){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
-  core::List<core::String*>* list6 = <core::String*>["a", "b", "c"].{core::Iterable::map}<dynamic>(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/bug33298.dart:28:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
+  core::List<core::String*>* list6 = <core::String*>["a", "b", "c"].{core::Iterable::map}<dynamic>(invalid-expression "pkg/front_end/testcases/general/bug33298.dart:28:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
   List<String> list6 = ['a', 'b', 'c'].map(c).toList();
-                                           ^" in (let final self::C* #t4 = c in #t4 == null ?{<T extends core::Object* = dynamic>(T*) →* T*} null : #t4.{self::C::call}{<T extends core::Object* = dynamic>(T*) →* T*}) as{TypeError} (core::String*) →* dynamic){((core::String*) →* dynamic) →* core::Iterable<dynamic>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<dynamic>*} as{TypeError} core::List<core::String*>*;
+                                           ^" in (let final self::C* #t3 = c in #t3 == null ?{<T extends core::Object* = dynamic>(T*) →* T*} null : #t3.{self::C::call}{<T extends core::Object* = dynamic>(T*) →* T*}) as{TypeError} (core::String*) →* dynamic){((core::String*) →* dynamic) →* core::Iterable<dynamic>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<dynamic>*} as{TypeError} core::List<core::String*>*;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug33298.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug33298.dart.weak.transformed.expect
index 8558dba..8f7030e 100644
--- a/pkg/front_end/testcases/general/bug33298.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug33298.dart.weak.transformed.expect
@@ -69,8 +69,8 @@
   core::List<core::String*>* list4 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(let final self::B<core::String*>* #t2 = b in #t2 == null ?{(core::String*) →* core::String*} null : #t2.{self::B::call}{(core::String*) →* core::String*}){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
   self::C* c = new self::C::•();
   core::List<core::String*>* list5 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(c.{self::C::call}{<T extends core::Object* = dynamic>(T*) →* T*}<core::String*>){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
-  core::List<core::String*>* list6 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<dynamic>(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/bug33298.dart:28:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
+  core::List<core::String*>* list6 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<dynamic>(invalid-expression "pkg/front_end/testcases/general/bug33298.dart:28:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
   List<String> list6 = ['a', 'b', 'c'].map(c).toList();
-                                           ^" in (let final self::C* #t4 = c in #t4 == null ?{<T extends core::Object* = dynamic>(T*) →* T*} null : #t4.{self::C::call}{<T extends core::Object* = dynamic>(T*) →* T*}) as{TypeError} (core::String*) →* dynamic){((core::String*) →* dynamic) →* core::Iterable<dynamic>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<dynamic>*} as{TypeError} core::List<core::String*>*;
+                                           ^" in (let final self::C* #t3 = c in #t3 == null ?{<T extends core::Object* = dynamic>(T*) →* T*} null : #t3.{self::C::call}{<T extends core::Object* = dynamic>(T*) →* T*}) as{TypeError} (core::String*) →* dynamic){((core::String*) →* dynamic) →* core::Iterable<dynamic>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<dynamic>*} as{TypeError} core::List<core::String*>*;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/call.dart.weak.expect b/pkg/front_end/testcases/general/call.dart.weak.expect
index bb3fe1b..c717175 100644
--- a/pkg/front_end/testcases/general/call.dart.weak.expect
+++ b/pkg/front_end/testcases/general/call.dart.weak.expect
@@ -147,28 +147,28 @@
 static field dynamic string6 = let final self::CallableGetter* #t1 = self::callableGetter in let final core::int* #t2 = 1 in #t1.{self::CallableGetter::call}{dynamic}{dynamic}.call(#t2);
 static field dynamic string7 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call(1);
 static field dynamic string8 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call{dynamic}.call(1);
-static field dynamic nothing1 = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/call.dart:68:23: Error: Too few positional arguments: 1 required, 0 given.
+static field dynamic nothing1 = invalid-expression "pkg/front_end/testcases/general/call.dart:68:23: Error: Too few positional arguments: 1 required, 0 given.
 var nothing1 = closure();
                       ^" in self::closure{<inapplicable>}.();
-static field dynamic nothing2 = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/general/call.dart:69:28: Error: Too few positional arguments: 1 required, 0 given.
+static field dynamic nothing2 = invalid-expression "pkg/front_end/testcases/general/call.dart:69:28: Error: Too few positional arguments: 1 required, 0 given.
 var nothing2 = closure.call();
                            ^" in self::closure{<inapplicable>}.();
-static field dynamic nothing3 = let final Never* #t5 = invalid-expression "pkg/front_end/testcases/general/call.dart:70:33: Error: Too few positional arguments: 1 required, 0 given.
+static field dynamic nothing3 = invalid-expression "pkg/front_end/testcases/general/call.dart:70:33: Error: Too few positional arguments: 1 required, 0 given.
 var nothing3 = closure.call.call();
                                 ^" in self::closure.call{<inapplicable>}.();
-static field dynamic nothing4 = let final Never* #t6 = invalid-expression "pkg/front_end/testcases/general/call.dart:71:38: Error: Too few positional arguments: 1 required, 0 given.
+static field dynamic nothing4 = invalid-expression "pkg/front_end/testcases/general/call.dart:71:38: Error: Too few positional arguments: 1 required, 0 given.
 var nothing4 = closure.call.call.call();
                                      ^" in self::closure.call.call{<inapplicable>}.();
-static field dynamic nothing5 = let final Never* #t7 = invalid-expression "pkg/front_end/testcases/general/call.dart:73:24: Error: Too few positional arguments: 1 required, 0 given.
+static field dynamic nothing5 = invalid-expression "pkg/front_end/testcases/general/call.dart:73:24: Error: Too few positional arguments: 1 required, 0 given.
 var nothing5 = callable();
                        ^" in self::callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
-static field dynamic nothing6 = let final Never* #t8 = invalid-expression "pkg/front_end/testcases/general/call.dart:74:29: Error: Too few positional arguments: 1 required, 0 given.
+static field dynamic nothing6 = invalid-expression "pkg/front_end/testcases/general/call.dart:74:29: Error: Too few positional arguments: 1 required, 0 given.
 var nothing6 = callable.call();
                             ^" in self::callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
-static field dynamic nothing7 = let final Never* #t9 = invalid-expression "pkg/front_end/testcases/general/call.dart:75:34: Error: Too few positional arguments: 1 required, 0 given.
+static field dynamic nothing7 = invalid-expression "pkg/front_end/testcases/general/call.dart:75:34: Error: Too few positional arguments: 1 required, 0 given.
 var nothing7 = callable.call.call();
                                  ^" in self::callable.{self::Callable::call}{(dynamic) →* dynamic}{<inapplicable>}.();
-static field dynamic nothing8 = let final Never* #t10 = invalid-expression "pkg/front_end/testcases/general/call.dart:76:39: Error: Too few positional arguments: 1 required, 0 given.
+static field dynamic nothing8 = invalid-expression "pkg/front_end/testcases/general/call.dart:76:39: Error: Too few positional arguments: 1 required, 0 given.
 var nothing8 = callable.call.call.call();
                                       ^" in self::callable.{self::Callable::call}{(dynamic) →* dynamic}.call{<inapplicable>}.();
 static field dynamic nothing9 = invalid-expression "pkg/front_end/testcases/general/call.dart:78:30: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
@@ -196,31 +196,31 @@
 Try changing 'call' to a method or explicitly invoke 'call'.
   var string5 = callableGetter(1);
                               ^";
-  dynamic string6 = let final self::CallableGetter* #t11 = callableGetter in let final core::int* #t12 = 1 in #t11.{self::CallableGetter::call}{dynamic}{dynamic}.call(#t12);
+  dynamic string6 = let final self::CallableGetter* #t3 = callableGetter in let final core::int* #t4 = 1 in #t3.{self::CallableGetter::call}{dynamic}{dynamic}.call(#t4);
   dynamic string7 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call(1);
   dynamic string8 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call{dynamic}.call(1);
-  invalid-type nothing1 = let final Never* #t13 = invalid-expression "pkg/front_end/testcases/general/call.dart:34:25: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-type nothing1 = invalid-expression "pkg/front_end/testcases/general/call.dart:34:25: Error: Too few positional arguments: 1 required, 0 given.
   var nothing1 = closure();
                         ^" in closure{<inapplicable>}.();
-  invalid-type nothing2 = let final Never* #t14 = invalid-expression "pkg/front_end/testcases/general/call.dart:35:30: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-type nothing2 = invalid-expression "pkg/front_end/testcases/general/call.dart:35:30: Error: Too few positional arguments: 1 required, 0 given.
   var nothing2 = closure.call();
                              ^" in closure{<inapplicable>}.();
-  invalid-type nothing3 = let final Never* #t15 = invalid-expression "pkg/front_end/testcases/general/call.dart:36:35: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-type nothing3 = invalid-expression "pkg/front_end/testcases/general/call.dart:36:35: Error: Too few positional arguments: 1 required, 0 given.
   var nothing3 = closure.call.call();
                                   ^" in closure.call{<inapplicable>}.();
-  invalid-type nothing4 = let final Never* #t16 = invalid-expression "pkg/front_end/testcases/general/call.dart:37:40: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-type nothing4 = invalid-expression "pkg/front_end/testcases/general/call.dart:37:40: Error: Too few positional arguments: 1 required, 0 given.
   var nothing4 = closure.call.call.call();
                                        ^" in closure.call.call{<inapplicable>}.();
-  invalid-type nothing5 = let final Never* #t17 = invalid-expression "pkg/front_end/testcases/general/call.dart:39:26: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-type nothing5 = invalid-expression "pkg/front_end/testcases/general/call.dart:39:26: Error: Too few positional arguments: 1 required, 0 given.
   var nothing5 = callable();
                          ^" in callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
-  invalid-type nothing6 = let final Never* #t18 = invalid-expression "pkg/front_end/testcases/general/call.dart:40:31: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-type nothing6 = invalid-expression "pkg/front_end/testcases/general/call.dart:40:31: Error: Too few positional arguments: 1 required, 0 given.
   var nothing6 = callable.call();
                               ^" in callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
-  invalid-type nothing7 = let final Never* #t19 = invalid-expression "pkg/front_end/testcases/general/call.dart:41:36: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-type nothing7 = invalid-expression "pkg/front_end/testcases/general/call.dart:41:36: Error: Too few positional arguments: 1 required, 0 given.
   var nothing7 = callable.call.call();
                                    ^" in callable.{self::Callable::call}{(dynamic) →* dynamic}{<inapplicable>}.();
-  invalid-type nothing8 = let final Never* #t20 = invalid-expression "pkg/front_end/testcases/general/call.dart:42:41: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-type nothing8 = invalid-expression "pkg/front_end/testcases/general/call.dart:42:41: Error: Too few positional arguments: 1 required, 0 given.
   var nothing8 = callable.call.call.call();
                                         ^" in callable.{self::Callable::call}{(dynamic) →* dynamic}.call{<inapplicable>}.();
   dynamic nothing9 = invalid-expression "pkg/front_end/testcases/general/call.dart:44:32: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
diff --git a/pkg/front_end/testcases/general/call.dart.weak.transformed.expect b/pkg/front_end/testcases/general/call.dart.weak.transformed.expect
new file mode 100644
index 0000000..5d9b478
--- /dev/null
+++ b/pkg/front_end/testcases/general/call.dart.weak.transformed.expect
@@ -0,0 +1,240 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/call.dart:29:31: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
+//  - 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
+// Try changing 'call' to a method or explicitly invoke 'call'.
+//   var string5 = callableGetter(1);
+//                               ^
+//
+// pkg/front_end/testcases/general/call.dart:34:25: Error: Too few positional arguments: 1 required, 0 given.
+//   var nothing1 = closure();
+//                         ^
+//
+// pkg/front_end/testcases/general/call.dart:35:30: Error: Too few positional arguments: 1 required, 0 given.
+//   var nothing2 = closure.call();
+//                              ^
+//
+// pkg/front_end/testcases/general/call.dart:36:35: Error: Too few positional arguments: 1 required, 0 given.
+//   var nothing3 = closure.call.call();
+//                                   ^
+//
+// pkg/front_end/testcases/general/call.dart:37:40: Error: Too few positional arguments: 1 required, 0 given.
+//   var nothing4 = closure.call.call.call();
+//                                        ^
+//
+// pkg/front_end/testcases/general/call.dart:39:26: Error: Too few positional arguments: 1 required, 0 given.
+//   var nothing5 = callable();
+//                          ^
+//
+// pkg/front_end/testcases/general/call.dart:40:31: Error: Too few positional arguments: 1 required, 0 given.
+//   var nothing6 = callable.call();
+//                               ^
+//
+// pkg/front_end/testcases/general/call.dart:41:36: Error: Too few positional arguments: 1 required, 0 given.
+//   var nothing7 = callable.call.call();
+//                                    ^
+//
+// pkg/front_end/testcases/general/call.dart:42:41: Error: Too few positional arguments: 1 required, 0 given.
+//   var nothing8 = callable.call.call.call();
+//                                         ^
+//
+// pkg/front_end/testcases/general/call.dart:44:32: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
+//  - 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
+// Try changing 'call' to a method or explicitly invoke 'call'.
+//   var nothing9 = callableGetter();
+//                                ^
+//
+// pkg/front_end/testcases/general/call.dart:63:29: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
+//  - 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
+// Try changing 'call' to a method or explicitly invoke 'call'.
+// var string5 = callableGetter(1);
+//                             ^
+//
+// pkg/front_end/testcases/general/call.dart:68:23: Error: Too few positional arguments: 1 required, 0 given.
+// var nothing1 = closure();
+//                       ^
+//
+// pkg/front_end/testcases/general/call.dart:69:28: Error: Too few positional arguments: 1 required, 0 given.
+// var nothing2 = closure.call();
+//                            ^
+//
+// pkg/front_end/testcases/general/call.dart:70:33: Error: Too few positional arguments: 1 required, 0 given.
+// var nothing3 = closure.call.call();
+//                                 ^
+//
+// pkg/front_end/testcases/general/call.dart:71:38: Error: Too few positional arguments: 1 required, 0 given.
+// var nothing4 = closure.call.call.call();
+//                                      ^
+//
+// pkg/front_end/testcases/general/call.dart:73:24: Error: Too few positional arguments: 1 required, 0 given.
+// var nothing5 = callable();
+//                        ^
+//
+// pkg/front_end/testcases/general/call.dart:74:29: Error: Too few positional arguments: 1 required, 0 given.
+// var nothing6 = callable.call();
+//                             ^
+//
+// pkg/front_end/testcases/general/call.dart:75:34: Error: Too few positional arguments: 1 required, 0 given.
+// var nothing7 = callable.call.call();
+//                                  ^
+//
+// pkg/front_end/testcases/general/call.dart:76:39: Error: Too few positional arguments: 1 required, 0 given.
+// var nothing8 = callable.call.call.call();
+//                                       ^
+//
+// pkg/front_end/testcases/general/call.dart:78:30: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
+//  - 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
+// Try changing 'call' to a method or explicitly invoke 'call'.
+// var nothing9 = callableGetter();
+//                              ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Callable extends core::Object {
+  synthetic constructor •() → self::Callable*
+    : super core::Object::•()
+    ;
+  method call(dynamic x) → dynamic {
+    return "string";
+  }
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class CallableGetter extends core::Object {
+  synthetic constructor •() → self::CallableGetter*
+    : super core::Object::•()
+    ;
+  get call() → dynamic
+    return new self::Callable::•();
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::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) →* dynamic closure = (dynamic x) → dynamic => x;
+static field dynamic int1 = self::closure(1){(dynamic) →* dynamic};
+static field dynamic int2 = self::closure(1){(dynamic) →* dynamic};
+static field dynamic int3 = self::closure.call(1){(dynamic) →* dynamic};
+static field dynamic int4 = self::closure.call.call(1){(dynamic) →* dynamic};
+static field self::Callable* callable = new self::Callable::•();
+static field dynamic string1 = self::callable.{self::Callable::call}(1){(dynamic) →* dynamic};
+static field dynamic string2 = self::callable.{self::Callable::call}(1){(dynamic) →* dynamic};
+static field dynamic string3 = self::callable.{self::Callable::call}{(dynamic) →* dynamic}(1){(dynamic) →* dynamic};
+static field dynamic string4 = self::callable.{self::Callable::call}{(dynamic) →* dynamic}.call(1){(dynamic) →* dynamic};
+static field self::CallableGetter* callableGetter = new self::CallableGetter::•();
+static field dynamic string5 = invalid-expression "pkg/front_end/testcases/general/call.dart:63:29: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
+ - 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
+Try changing 'call' to a method or explicitly invoke 'call'.
+var string5 = callableGetter(1);
+                            ^";
+static field dynamic string6 = let final self::CallableGetter* #t1 = self::callableGetter in let final core::int* #t2 = 1 in #t1.{self::CallableGetter::call}{dynamic}{dynamic}.call(#t2);
+static field dynamic string7 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call(1);
+static field dynamic string8 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call{dynamic}.call(1);
+static field dynamic nothing1 = invalid-expression "pkg/front_end/testcases/general/call.dart:68:23: Error: Too few positional arguments: 1 required, 0 given.
+var nothing1 = closure();
+                      ^" in self::closure{<inapplicable>}.();
+static field dynamic nothing2 = invalid-expression "pkg/front_end/testcases/general/call.dart:69:28: Error: Too few positional arguments: 1 required, 0 given.
+var nothing2 = closure.call();
+                           ^" in self::closure{<inapplicable>}.();
+static field dynamic nothing3 = invalid-expression "pkg/front_end/testcases/general/call.dart:70:33: Error: Too few positional arguments: 1 required, 0 given.
+var nothing3 = closure.call.call();
+                                ^" in self::closure.call{<inapplicable>}.();
+static field dynamic nothing4 = invalid-expression "pkg/front_end/testcases/general/call.dart:71:38: Error: Too few positional arguments: 1 required, 0 given.
+var nothing4 = closure.call.call.call();
+                                     ^" in self::closure.call.call{<inapplicable>}.();
+static field dynamic nothing5 = invalid-expression "pkg/front_end/testcases/general/call.dart:73:24: Error: Too few positional arguments: 1 required, 0 given.
+var nothing5 = callable();
+                       ^" in self::callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
+static field dynamic nothing6 = invalid-expression "pkg/front_end/testcases/general/call.dart:74:29: Error: Too few positional arguments: 1 required, 0 given.
+var nothing6 = callable.call();
+                            ^" in self::callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
+static field dynamic nothing7 = invalid-expression "pkg/front_end/testcases/general/call.dart:75:34: Error: Too few positional arguments: 1 required, 0 given.
+var nothing7 = callable.call.call();
+                                 ^" in self::callable.{self::Callable::call}{(dynamic) →* dynamic}{<inapplicable>}.();
+static field dynamic nothing8 = invalid-expression "pkg/front_end/testcases/general/call.dart:76:39: Error: Too few positional arguments: 1 required, 0 given.
+var nothing8 = callable.call.call.call();
+                                      ^" in self::callable.{self::Callable::call}{(dynamic) →* dynamic}.call{<inapplicable>}.();
+static field dynamic nothing9 = invalid-expression "pkg/front_end/testcases/general/call.dart:78:30: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
+ - 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
+Try changing 'call' to a method or explicitly invoke 'call'.
+var nothing9 = callableGetter();
+                             ^";
+static field dynamic nothing10 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call();
+static field dynamic nothing11 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call();
+static field dynamic nothing12 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call{dynamic}.call();
+static method main() → dynamic {
+  (dynamic) →* dynamic closure = (dynamic x) → dynamic => x;
+  dynamic int1 = closure(1){(dynamic) →* dynamic};
+  dynamic int2 = closure(1){(dynamic) →* dynamic};
+  dynamic int3 = closure.call(1){(dynamic) →* dynamic};
+  dynamic int4 = closure.call.call(1){(dynamic) →* dynamic};
+  self::Callable* callable = new self::Callable::•();
+  dynamic string1 = callable.{self::Callable::call}(1){(dynamic) →* dynamic};
+  dynamic string2 = callable.{self::Callable::call}(1){(dynamic) →* dynamic};
+  dynamic string3 = callable.{self::Callable::call}{(dynamic) →* dynamic}(1){(dynamic) →* dynamic};
+  dynamic string4 = callable.{self::Callable::call}{(dynamic) →* dynamic}.call(1){(dynamic) →* dynamic};
+  self::CallableGetter* callableGetter = new self::CallableGetter::•();
+  dynamic string5 = invalid-expression "pkg/front_end/testcases/general/call.dart:29:31: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
+ - 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
+Try changing 'call' to a method or explicitly invoke 'call'.
+  var string5 = callableGetter(1);
+                              ^";
+  dynamic string6 = let final self::CallableGetter* #t3 = callableGetter in let final core::int* #t4 = 1 in #t3.{self::CallableGetter::call}{dynamic}{dynamic}.call(#t4);
+  dynamic string7 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call(1);
+  dynamic string8 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call{dynamic}.call(1);
+  invalid-type nothing1 = invalid-expression "pkg/front_end/testcases/general/call.dart:34:25: Error: Too few positional arguments: 1 required, 0 given.
+  var nothing1 = closure();
+                        ^" in closure{<inapplicable>}.();
+  invalid-type nothing2 = invalid-expression "pkg/front_end/testcases/general/call.dart:35:30: Error: Too few positional arguments: 1 required, 0 given.
+  var nothing2 = closure.call();
+                             ^" in closure{<inapplicable>}.();
+  invalid-type nothing3 = invalid-expression "pkg/front_end/testcases/general/call.dart:36:35: Error: Too few positional arguments: 1 required, 0 given.
+  var nothing3 = closure.call.call();
+                                  ^" in closure.call{<inapplicable>}.();
+  invalid-type nothing4 = invalid-expression "pkg/front_end/testcases/general/call.dart:37:40: Error: Too few positional arguments: 1 required, 0 given.
+  var nothing4 = closure.call.call.call();
+                                       ^" in closure.call.call{<inapplicable>}.();
+  invalid-type nothing5 = invalid-expression "pkg/front_end/testcases/general/call.dart:39:26: Error: Too few positional arguments: 1 required, 0 given.
+  var nothing5 = callable();
+                         ^" in callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
+  invalid-type nothing6 = invalid-expression "pkg/front_end/testcases/general/call.dart:40:31: Error: Too few positional arguments: 1 required, 0 given.
+  var nothing6 = callable.call();
+                              ^" in callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
+  invalid-type nothing7 = invalid-expression "pkg/front_end/testcases/general/call.dart:41:36: Error: Too few positional arguments: 1 required, 0 given.
+  var nothing7 = callable.call.call();
+                                   ^" in callable.{self::Callable::call}{(dynamic) →* dynamic}{<inapplicable>}.();
+  invalid-type nothing8 = invalid-expression "pkg/front_end/testcases/general/call.dart:42:41: Error: Too few positional arguments: 1 required, 0 given.
+  var nothing8 = callable.call.call.call();
+                                        ^" in callable.{self::Callable::call}{(dynamic) →* dynamic}.call{<inapplicable>}.();
+  dynamic nothing9 = invalid-expression "pkg/front_end/testcases/general/call.dart:44:32: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
+ - 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
+Try changing 'call' to a method or explicitly invoke 'call'.
+  var nothing9 = callableGetter();
+                               ^";
+  dynamic nothing10 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call();
+  dynamic nothing11 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call();
+  dynamic nothing12 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call{dynamic}.call();
+}
+
+
+Extra constant evaluation status:
+Evaluated: VariableGet @ org-dartlang-testcase:///call.dart:30:37 -> IntConstant(1)
+Evaluated: VariableGet @ org-dartlang-testcase:///call.dart:64:35 -> IntConstant(1)
+Extra constant evaluation: evaluated: 101, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/callable_type_variable.dart.weak.expect b/pkg/front_end/testcases/general/callable_type_variable.dart.weak.expect
index f7d01d7..59e805d 100644
--- a/pkg/front_end/testcases/general/callable_type_variable.dart.weak.expect
+++ b/pkg/front_end/testcases/general/callable_type_variable.dart.weak.expect
@@ -42,12 +42,12 @@
     : self::Class2::field = field, super core::Object::•()
     ;
   method method() → dynamic {
-    invalid-type v1 = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:25:19: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-type v1 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:25:19: Error: Too few positional arguments: 1 required, 0 given.
     var v1 = field(); // error
                   ^" in this.{self::Class2::field}{self::Class2::T*}{<inapplicable>}.();
-    core::String* v2 = let final core::int* #t3 = 0 in this.{self::Class2::field}{self::Class2::T*}(#t3){(core::int*) →* core::String*};
+    core::String* v2 = let final core::int* #t2 = 0 in this.{self::Class2::field}{self::Class2::T*}(#t2){(core::int*) →* core::String*};
     self::Class2::T* v3 = this.{self::Class2::field}{self::Class2::T*}.call;
-    invalid-type v4 = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:28:24: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-type v4 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:28:24: Error: Too few positional arguments: 1 required, 0 given.
     var v4 = field.call(); // error
                        ^" in this.{self::Class2::field}{self::Class2::T*}{<inapplicable>}.();
     core::String* v5 = this.{self::Class2::field}{self::Class2::T*}(0){(core::int*) →* core::String*};
diff --git a/pkg/front_end/testcases/general/callable_type_variable.dart.weak.transformed.expect b/pkg/front_end/testcases/general/callable_type_variable.dart.weak.transformed.expect
index cd3a7b7..f740b10 100644
--- a/pkg/front_end/testcases/general/callable_type_variable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/callable_type_variable.dart.weak.transformed.expect
@@ -42,12 +42,12 @@
     : self::Class2::field = field, super core::Object::•()
     ;
   method method() → dynamic {
-    invalid-type v1 = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:25:19: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-type v1 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:25:19: Error: Too few positional arguments: 1 required, 0 given.
     var v1 = field(); // error
                   ^" in this.{self::Class2::field}{self::Class2::T*}{<inapplicable>}.();
-    core::String* v2 = let final core::int* #t3 = 0 in this.{self::Class2::field}{self::Class2::T*}(#t3){(core::int*) →* core::String*};
+    core::String* v2 = let final core::int* #t2 = 0 in this.{self::Class2::field}{self::Class2::T*}(#t2){(core::int*) →* core::String*};
     self::Class2::T* v3 = this.{self::Class2::field}{self::Class2::T*}.call;
-    invalid-type v4 = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:28:24: Error: Too few positional arguments: 1 required, 0 given.
+    invalid-type v4 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:28:24: Error: Too few positional arguments: 1 required, 0 given.
     var v4 = field.call(); // error
                        ^" in this.{self::Class2::field}{self::Class2::T*}{<inapplicable>}.();
     core::String* v5 = this.{self::Class2::field}{self::Class2::T*}(0){(core::int*) →* core::String*};
@@ -69,4 +69,4 @@
 Extra constant evaluation status:
 Evaluated: VariableGet @ org-dartlang-testcase:///callable_type_variable.dart:12:20 -> IntConstant(0)
 Evaluated: VariableGet @ org-dartlang-testcase:///callable_type_variable.dart:26:20 -> IntConstant(0)
-Extra constant evaluation: evaluated: 38, effectively constant: 2
+Extra constant evaluation: evaluated: 30, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/candidate_found.dart.weak.expect b/pkg/front_end/testcases/general/candidate_found.dart.weak.expect
index b1e197c..a8817a7 100644
--- a/pkg/front_end/testcases/general/candidate_found.dart.weak.expect
+++ b/pkg/front_end/testcases/general/candidate_found.dart.weak.expect
@@ -78,7 +78,7 @@
   invalid-expression "pkg/front_end/testcases/general/candidate_found.dart:20:20: Error: Too few positional arguments: 1 required, 0 given.
   Fisk.staticMethod();
                    ^";
-  let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/candidate_found.dart:21:24: Error: Too few positional arguments: 1 required, 0 given.
+  invalid-expression "pkg/front_end/testcases/general/candidate_found.dart:21:24: Error: Too few positional arguments: 1 required, 0 given.
   (null as Fisk).method();
                        ^" in (null as self::Fisk*).{self::Fisk::method}{<inapplicable>}.(){() →* invalid-type};
 }
diff --git a/pkg/front_end/testcases/general/candidate_found.dart.weak.transformed.expect b/pkg/front_end/testcases/general/candidate_found.dart.weak.transformed.expect
new file mode 100644
index 0000000..66c13e5
--- /dev/null
+++ b/pkg/front_end/testcases/general/candidate_found.dart.weak.transformed.expect
@@ -0,0 +1,85 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/candidate_found.dart:16:11: Error: Too few positional arguments: 1 required, 0 given.
+//   new Fisk();
+//           ^
+// pkg/front_end/testcases/general/candidate_found.dart:6:3: Context: Found this candidate, but the arguments don't match.
+//   Fisk(int x) {}
+//   ^^^^
+//
+// pkg/front_end/testcases/general/candidate_found.dart:17:17: Error: Too few positional arguments: 1 required, 0 given.
+//   new Fisk.named();
+//                 ^
+// pkg/front_end/testcases/general/candidate_found.dart:8:3: Context: Found this candidate, but the arguments don't match.
+//   Fisk.named(int x) {}
+//   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/candidate_found.dart:18:7: Error: Too few positional arguments: 1 required, 0 given.
+//   Fisk();
+//       ^
+// pkg/front_end/testcases/general/candidate_found.dart:6:3: Context: Found this candidate, but the arguments don't match.
+//   Fisk(int x) {}
+//   ^^^^
+//
+// pkg/front_end/testcases/general/candidate_found.dart:19:13: Error: Too few positional arguments: 1 required, 0 given.
+//   Fisk.named();
+//             ^
+// pkg/front_end/testcases/general/candidate_found.dart:8:3: Context: Found this candidate, but the arguments don't match.
+//   Fisk.named(int x) {}
+//   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/candidate_found.dart:20:20: Error: Too few positional arguments: 1 required, 0 given.
+//   Fisk.staticMethod();
+//                    ^
+// pkg/front_end/testcases/general/candidate_found.dart:12:15: Context: Found this candidate, but the arguments don't match.
+//   static void staticMethod(int x) {}
+//               ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/candidate_found.dart:21:24: Error: Too few positional arguments: 1 required, 0 given.
+//   (null as Fisk).method();
+//                        ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Fisk extends core::Object {
+  constructor •(core::int* x) → self::Fisk*
+    : super core::Object::•() {}
+  constructor named(core::int* x) → self::Fisk*
+    : super core::Object::•() {}
+  method method(core::int* x) → void {}
+  static method staticMethod(core::int* x) → void {}
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  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 {
+  invalid-expression "pkg/front_end/testcases/general/candidate_found.dart:16:11: Error: Too few positional arguments: 1 required, 0 given.
+  new Fisk();
+          ^";
+  invalid-expression "pkg/front_end/testcases/general/candidate_found.dart:17:17: Error: Too few positional arguments: 1 required, 0 given.
+  new Fisk.named();
+                ^";
+  invalid-expression "pkg/front_end/testcases/general/candidate_found.dart:18:7: Error: Too few positional arguments: 1 required, 0 given.
+  Fisk();
+      ^";
+  invalid-expression "pkg/front_end/testcases/general/candidate_found.dart:19:13: Error: Too few positional arguments: 1 required, 0 given.
+  Fisk.named();
+            ^";
+  invalid-expression "pkg/front_end/testcases/general/candidate_found.dart:20:20: Error: Too few positional arguments: 1 required, 0 given.
+  Fisk.staticMethod();
+                   ^";
+  invalid-expression "pkg/front_end/testcases/general/candidate_found.dart:21:24: Error: Too few positional arguments: 1 required, 0 given.
+  (null as Fisk).method();
+                       ^" in null.{self::Fisk::method}{<inapplicable>}.(){() →* invalid-type};
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/cascade.dart.weak.expect b/pkg/front_end/testcases/general/cascade.dart.weak.expect
index bfd70cc..3d4d8ca 100644
--- a/pkg/front_end/testcases/general/cascade.dart.weak.expect
+++ b/pkg/front_end/testcases/general/cascade.dart.weak.expect
@@ -44,22 +44,22 @@
     #t3.{core::List::[]=}(0, 87){(core::int*, core::int*) →* void};
   } =>#t3;
   core::print(list);
-  list = let final core::List<core::int*>* #t4 = <core::int*>[let final Never* #t5 = invalid-expression "pkg/front_end/testcases/general/cascade.dart:26:5: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+  list = let final core::List<core::int*>* #t4 = <core::int*>[invalid-expression "pkg/front_end/testcases/general/cascade.dart:26:5: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
  - 'List' is from 'dart:core'.
     [1]
     ^" in <core::int*>[1] as{TypeError} core::int*] in block {
     invalid-expression "pkg/front_end/testcases/general/cascade.dart:28:13: Error: The getter 'last' isn't defined for the class 'int'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
     ..first.last.toString()
-            ^^^^".{core::Object::toString}(){() →* core::String*};
+            ^^^^" in #t4.{core::Iterable::first}{core::int*}{<unresolved>}.last.{core::Object::toString}(){() →* core::String*};
     invalid-expression "pkg/front_end/testcases/general/cascade.dart:29:12: Error: The operator '[]' isn't defined for the class 'int'.
 Try correcting the operator to an existing operator, or defining a '[]' operator.
     ..first[0].toString()
-           ^".{core::Object::toString}(){() →* core::String*};
+           ^" in #t4.{core::Iterable::first}{core::int*}{<unresolved>}.[](0).{core::Object::toString}(){() →* core::String*};
     invalid-expression "pkg/front_end/testcases/general/cascade.dart:30:11: Error: The getter 'last' isn't defined for the class 'int'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
     ..[0].last.toString();
-          ^^^^".{core::Object::toString}(){() →* core::String*};
+          ^^^^" in #t4.{core::List::[]}(0){(core::int*) →* core::int*}{<unresolved>}.last.{core::Object::toString}(){() →* core::String*};
   } =>#t4;
   core::print(list);
 }
diff --git a/pkg/front_end/testcases/general/cascade.dart.weak.transformed.expect b/pkg/front_end/testcases/general/cascade.dart.weak.transformed.expect
index 5ae4b4c..b2dbc37 100644
--- a/pkg/front_end/testcases/general/cascade.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/cascade.dart.weak.transformed.expect
@@ -44,22 +44,22 @@
     #t3.{core::List::[]=}(0, 87){(core::int*, core::int*) →* void};
   } =>#t3;
   core::print(list);
-  list = let final core::List<core::int*>* #t4 = core::_GrowableList::_literal1<core::int*>(let final Never* #t5 = invalid-expression "pkg/front_end/testcases/general/cascade.dart:26:5: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+  list = let final core::List<core::int*>* #t4 = core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/cascade.dart:26:5: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
  - 'List' is from 'dart:core'.
     [1]
     ^" in core::_GrowableList::_literal1<core::int*>(1) as{TypeError} core::int*) in block {
     invalid-expression "pkg/front_end/testcases/general/cascade.dart:28:13: Error: The getter 'last' isn't defined for the class 'int'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
     ..first.last.toString()
-            ^^^^".{core::Object::toString}(){() →* core::String*};
+            ^^^^" in #t4.{core::Iterable::first}{core::int*}{<unresolved>}.last.{core::Object::toString}(){() →* core::String*};
     invalid-expression "pkg/front_end/testcases/general/cascade.dart:29:12: Error: The operator '[]' isn't defined for the class 'int'.
 Try correcting the operator to an existing operator, or defining a '[]' operator.
     ..first[0].toString()
-           ^".{core::Object::toString}(){() →* core::String*};
+           ^" in #t4.{core::Iterable::first}{core::int*}{<unresolved>}.[](0).{core::Object::toString}(){() →* core::String*};
     invalid-expression "pkg/front_end/testcases/general/cascade.dart:30:11: Error: The getter 'last' isn't defined for the class 'int'.
 Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
     ..[0].last.toString();
-          ^^^^".{core::Object::toString}(){() →* core::String*};
+          ^^^^" in #t4.{core::List::[]}(0){(core::int*) →* core::int*}{<unresolved>}.last.{core::Object::toString}(){() →* core::String*};
   } =>#t4;
   core::print(list);
 }
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.expect
index 606314d..05feed8 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.expect
@@ -136,7 +136,7 @@
     : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, x), super core::Object::•()
     ;
   const constructor withInvalidCondition(core::int* x) → self::Foo*
-    : self::Foo::x = x, assert(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
+    : self::Foo::x = x, assert(invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   const Foo.withInvalidCondition(this.x) : assert(x);
                                                   ^" in x as{TypeError} core::bool*), super core::Object::•()
     ;
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.outline.expect
index 001ad6a..1aa653d 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.outline.expect
@@ -26,7 +26,7 @@
     : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, x), super core::Object::•()
     ;
   const constructor withInvalidCondition(core::int* x) → self::Foo*
-    : self::Foo::x = x, assert(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
+    : self::Foo::x = x, assert(invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   const Foo.withInvalidCondition(this.x) : assert(x);
                                                   ^" in x as{TypeError} core::bool*), super core::Object::•()
     ;
@@ -94,4 +94,4 @@
 Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_asserts.dart:19:21 -> NullConstant(null)
 Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_asserts.dart:21:22 -> NullConstant(null)
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_asserts.dart:31:24 -> InstanceConstant(const Foo{Foo.x: 1})
-Extra constant evaluation: evaluated: 48, effectively constant: 7
+Extra constant evaluation: evaluated: 45, effectively constant: 7
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.transformed.expect
index 4dd3ed9..01b5185 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.transformed.expect
@@ -136,7 +136,7 @@
     : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, x), super core::Object::•()
     ;
   const constructor withInvalidCondition(core::int* x) → self::Foo*
-    : self::Foo::x = x, assert(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
+    : self::Foo::x = x, assert(invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   const Foo.withInvalidCondition(this.x) : assert(x);
                                                   ^" in x as{TypeError} core::bool*), super core::Object::•()
     ;
@@ -210,7 +210,7 @@
 Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:12:59 -> StringConstant("foo was false")
 Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts.dart:13:50 -> BoolConstant(true)
 Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:15:73 -> StringConstant("btw foo was false")
-Extra constant evaluation: evaluated: 34, effectively constant: 4
+Extra constant evaluation: evaluated: 31, effectively constant: 4
 
 
 Constructor coverage from constants:
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.outline.expect
index 71909ac..3ab56c9 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.outline.expect
@@ -253,7 +253,7 @@
                                      ^";
 static const field core::Set<core::String*>* quxWithCustomIterableSpread1 = self::baz + const self::CustomIterable::•();
 static const field core::Set<core::String*>* quxWithCustomIterableSpread2 = self::baz + const self::CustomIterable::•();
-static const field core::Set<core::String*>* quxWithCustomIterableSpread3 = self::baz + const <core::String*>{let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:48:59: Error: A value of type 'CustomIterable' can't be assigned to a variable of type 'String'.
+static const field core::Set<core::String*>* quxWithCustomIterableSpread3 = self::baz + const <core::String*>{invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:48:59: Error: A value of type 'CustomIterable' can't be assigned to a variable of type 'String'.
  - 'CustomIterable' is from 'pkg/front_end/testcases/general/constants/const_collections.dart'.
 const Set<String> quxWithCustomIterableSpread3 = {...baz, customIterable};
                                                           ^" in self::customIterable as{TypeError} core::String*};
@@ -342,7 +342,6 @@
 Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:47:54 -> InstanceConstant(const _UnmodifiableSet<String*>{_UnmodifiableSet._map: const _ImmutableMap<String*, Null>{_ImmutableMap._kvPairs: const <dynamic>["hello", null, "world", null]}})
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_collections.dart:47:62 -> InstanceConstant(const CustomIterable{})
 Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:48:54 -> InstanceConstant(const _UnmodifiableSet<String*>{_UnmodifiableSet._map: const _ImmutableMap<String*, Null>{_ImmutableMap._kvPairs: const <dynamic>["hello", null, "world", null]}})
-Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:48:59 -> InstanceConstant(const CustomIterable{})
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_collections.dart:49:55 -> InstanceConstant(const WithEquals{WithEquals.i: 42})
 Evaluated: MapLiteral @ org-dartlang-testcase:///const_collections.dart:53:34 -> InstanceConstant(const _ImmutableMap<String*, String*>{_ImmutableMap._kvPairs: const <dynamic>["hello", "world"]})
 Evaluated: MapConcatenation @ org-dartlang-testcase:///const_collections.dart:55:27 -> InstanceConstant(const _ImmutableMap<String*, String*>{_ImmutableMap._kvPairs: const <dynamic>["hello", "world", "!", "bye!"]})
@@ -354,4 +353,4 @@
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_collections.dart:63:45 -> InstanceConstant(const CustomMap{})
 Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:64:51 -> InstanceConstant(const CustomMap{})
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_collections.dart:66:9 -> InstanceConstant(const WithEquals{WithEquals.i: 42})
-Extra constant evaluation: evaluated: 90, effectively constant: 59
+Extra constant evaluation: evaluated: 87, effectively constant: 58
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.weak.outline.expect
index 2aa115c..513f6c7 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.weak.outline.expect
@@ -18,7 +18,7 @@
 static const field core::int shiftNegative2 = 2.{core::int::>>>}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
 static const field core::int shiftNegative3 = 2.{core::int::>>}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
 static const field core::int modZero = 2.{core::num::%}(0){(core::num) → core::int};
-static const field core::int divZero = let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart:9:23: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+static const field core::int divZero = invalid-expression "pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart:9:23: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
 const int divZero = 2 / 0;
                       ^" in 2.{core::num::/}(0){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
 static const field core::int intdivZero = 2.{core::num::~/}(0){(core::num) → core::int};
@@ -26,7 +26,7 @@
 static const field core::int unaryTilde = 2.{core::int::~}(){() → core::int};
 static const field core::int unaryPlus = invalid-expression "pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart:13:23: Error: This couldn't be parsed.
 const int unaryPlus = +2;
-                      ^"{dynamic}.+(2) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+                      ^"{<invalid>}.+(2);
 static const field core::int binaryPlus = 40.{core::num::+}(2){(core::num) → core::int};
 static const field core::int binaryMinus = 44.{core::num::-}(2){(core::num) → core::int};
 static const field core::int binaryTimes = 21.{core::num::*}(2){(core::num) → core::int};
@@ -60,7 +60,6 @@
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:5:33 -> DoubleConstant(-1.0)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:6:34 -> DoubleConstant(-1.0)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:7:33 -> DoubleConstant(-1.0)
-Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:9:23 -> DoubleConstant(Infinity)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:11:24 -> DoubleConstant(-2.0)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:12:24 -> DoubleConstant(4294967293.0)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:15:27 -> DoubleConstant(42.0)
@@ -85,4 +84,4 @@
 Evaluated: AsExpression @ org-dartlang-testcase:///number_folds.dart:39:43 -> NullConstant(null)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:40:27 -> DoubleConstant(NaN)
 Evaluated: StaticGet @ org-dartlang-testcase:///number_folds.dart:41:42 -> DoubleConstant(NaN)
-Extra constant evaluation: evaluated: 40, effectively constant: 28
+Extra constant evaluation: evaluated: 36, effectively constant: 27
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/number_folds_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/js_semantics/number_folds_opt_out.dart.weak.outline.expect
index 92d8300..d03c3a1 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/number_folds_opt_out.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/number_folds_opt_out.dart.weak.outline.expect
@@ -17,7 +17,7 @@
 static const field core::int* shiftNegative1 = 2.{core::int::<<}(1.{core::int::unary-}(){() →* core::int*}){(core::int*) →* core::int*};
 static const field core::int* shiftNegative3 = 2.{core::int::>>}(1.{core::int::unary-}(){() →* core::int*}){(core::int*) →* core::int*};
 static const field core::int* modZero = 2.{core::num::%}(0){(core::num*) →* core::int*};
-static const field core::int* divZero = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/constants/js_semantics/number_folds_opt_out.dart:10:23: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+static const field core::int* divZero = invalid-expression "pkg/front_end/testcases/general/constants/js_semantics/number_folds_opt_out.dart:10:23: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
 const int divZero = 2 / 0;
                       ^" in 2.{core::num::/}(0){(core::num*) →* core::double*} as{TypeError} core::int*;
 static const field core::int* intdivZero = 2.{core::num::~/}(0){(core::num*) →* core::int*};
@@ -25,7 +25,7 @@
 static const field core::int* unaryTilde = 2.{core::int::~}(){() →* core::int*};
 static const field core::int* unaryPlus = invalid-expression "pkg/front_end/testcases/general/constants/js_semantics/number_folds_opt_out.dart:14:23: Error: This couldn't be parsed.
 const int unaryPlus = +2;
-                      ^"{dynamic}.+(2) as{TypeError,ForDynamic} core::int*;
+                      ^"{<invalid>}.+(2);
 static const field core::int* binaryPlus = 40.{core::num::+}(2){(core::num*) →* core::int*};
 static const field core::int* binaryMinus = 44.{core::num::-}(2){(core::num*) →* core::int*};
 static const field core::int* binaryTimes = 21.{core::num::*}(2){(core::num*) →* core::int*};
@@ -55,7 +55,6 @@
 Extra constant evaluation status:
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:7:33 -> DoubleConstant(-1.0)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:8:33 -> DoubleConstant(-1.0)
-Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:10:23 -> DoubleConstant(Infinity)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:12:24 -> DoubleConstant(-2.0)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:13:24 -> DoubleConstant(4294967293.0)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:16:27 -> DoubleConstant(42.0)
@@ -77,4 +76,4 @@
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:34:36 -> DoubleConstant(42.0)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:37:27 -> DoubleConstant(NaN)
 Evaluated: StaticGet @ org-dartlang-testcase:///number_folds_opt_out.dart:38:42 -> DoubleConstant(NaN)
-Extra constant evaluation: evaluated: 35, effectively constant: 24
+Extra constant evaluation: evaluated: 31, effectively constant: 23
diff --git a/pkg/front_end/testcases/general/constants/number_folds.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/number_folds.dart.weak.outline.expect
index 5840a2f..5407b2e 100644
--- a/pkg/front_end/testcases/general/constants/number_folds.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/number_folds.dart.weak.outline.expect
@@ -18,7 +18,7 @@
 static const field core::int shiftNegative2 = 2.{core::int::>>>}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
 static const field core::int shiftNegative3 = 2.{core::int::>>}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
 static const field core::int modZero = 2.{core::num::%}(0){(core::num) → core::int};
-static const field core::int divZero = let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/constants/number_folds.dart:9:23: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+static const field core::int divZero = invalid-expression "pkg/front_end/testcases/general/constants/number_folds.dart:9:23: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
 const int divZero = 2 / 0;
                       ^" in 2.{core::num::/}(0){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
 static const field core::int intdivZero = 2.{core::num::~/}(0){(core::num) → core::int};
@@ -26,7 +26,7 @@
 static const field core::int unaryTilde = 2.{core::int::~}(){() → core::int};
 static const field core::int unaryPlus = invalid-expression "pkg/front_end/testcases/general/constants/number_folds.dart:13:23: Error: This couldn't be parsed.
 const int unaryPlus = +2;
-                      ^"{dynamic}.+(2) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+                      ^"{<invalid>}.+(2);
 static const field core::int binaryPlus = 40.{core::num::+}(2){(core::num) → core::int};
 static const field core::int binaryMinus = 44.{core::num::-}(2){(core::num) → core::int};
 static const field core::int binaryTimes = 21.{core::num::*}(2){(core::num) → core::int};
@@ -58,7 +58,6 @@
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:5:33 -> IntConstant(-1)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:6:34 -> IntConstant(-1)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:7:33 -> IntConstant(-1)
-Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:9:23 -> DoubleConstant(Infinity)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:11:24 -> IntConstant(-2)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:12:24 -> IntConstant(-3)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:15:27 -> IntConstant(42)
@@ -82,4 +81,4 @@
 Evaluated: AsExpression @ org-dartlang-testcase:///number_folds.dart:38:43 -> NullConstant(null)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:39:27 -> DoubleConstant(NaN)
 Evaluated: StaticGet @ org-dartlang-testcase:///number_folds.dart:40:42 -> DoubleConstant(NaN)
-Extra constant evaluation: evaluated: 39, effectively constant: 27
+Extra constant evaluation: evaluated: 35, effectively constant: 26
diff --git a/pkg/front_end/testcases/general/constants/number_folds_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/number_folds_opt_out.dart.weak.outline.expect
index d84f48c..ccf0ec3 100644
--- a/pkg/front_end/testcases/general/constants/number_folds_opt_out.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/number_folds_opt_out.dart.weak.outline.expect
@@ -17,7 +17,7 @@
 static const field core::int* shiftNegative1 = 2.{core::int::<<}(1.{core::int::unary-}(){() →* core::int*}){(core::int*) →* core::int*};
 static const field core::int* shiftNegative3 = 2.{core::int::>>}(1.{core::int::unary-}(){() →* core::int*}){(core::int*) →* core::int*};
 static const field core::int* modZero = 2.{core::num::%}(0){(core::num*) →* core::int*};
-static const field core::int* divZero = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/constants/number_folds_opt_out.dart:10:23: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+static const field core::int* divZero = invalid-expression "pkg/front_end/testcases/general/constants/number_folds_opt_out.dart:10:23: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
 const int divZero = 2 / 0;
                       ^" in 2.{core::num::/}(0){(core::num*) →* core::double*} as{TypeError} core::int*;
 static const field core::int* intdivZero = 2.{core::num::~/}(0){(core::num*) →* core::int*};
@@ -25,7 +25,7 @@
 static const field core::int* unaryTilde = 2.{core::int::~}(){() →* core::int*};
 static const field core::int* unaryPlus = invalid-expression "pkg/front_end/testcases/general/constants/number_folds_opt_out.dart:14:23: Error: This couldn't be parsed.
 const int unaryPlus = +2;
-                      ^"{dynamic}.+(2) as{TypeError,ForDynamic} core::int*;
+                      ^"{<invalid>}.+(2);
 static const field core::int* binaryPlus = 40.{core::num::+}(2){(core::num*) →* core::int*};
 static const field core::int* binaryMinus = 44.{core::num::-}(2){(core::num*) →* core::int*};
 static const field core::int* binaryTimes = 21.{core::num::*}(2){(core::num*) →* core::int*};
@@ -53,7 +53,6 @@
 Extra constant evaluation status:
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:7:33 -> IntConstant(-1)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:8:33 -> IntConstant(-1)
-Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:10:23 -> DoubleConstant(Infinity)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:12:24 -> IntConstant(-2)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:13:24 -> IntConstant(-3)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:16:27 -> IntConstant(42)
@@ -74,4 +73,4 @@
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:33:36 -> IntConstant(42)
 Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:36:27 -> DoubleConstant(NaN)
 Evaluated: StaticGet @ org-dartlang-testcase:///number_folds_opt_out.dart:37:42 -> DoubleConstant(NaN)
-Extra constant evaluation: evaluated: 34, effectively constant: 23
+Extra constant evaluation: evaluated: 30, effectively constant: 22
diff --git a/pkg/front_end/testcases/general/constants/various.dart.weak.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.expect
index 1cde25c..37e01f5 100644
--- a/pkg/front_end/testcases/general/constants/various.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/various.dart.weak.expect
@@ -452,7 +452,7 @@
 }
 class ConstClassWithFinalFields2 extends core::Object /*hasConstConstructor*/  {
   final field core::int* y = 1;
-  final field dynamic z1 = this.{self::ConstClassWithFinalFields2::y}{core::int*};
+  final field invalid-type z1 = this.{self::ConstClassWithFinalFields2::y}{core::int*};
   final field core::int* z2 = self::x;
   const constructor •() → self::ConstClassWithFinalFields2*
     : super core::Object::•()
@@ -523,10 +523,10 @@
 static const field core::int* x3 = invalid-expression "The invocation of 'x' is not allowed in a constant expression.";
 static const field core::int* x4 = invalid-expression "The invocation of 'x' is not allowed in a constant expression.";
 static const field core::int* y = #C12;
-static const field dynamic y1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
+static const field invalid-type y1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
 const y1 = --y;
              ^";
-static const field dynamic y2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:83:14: Error: Setter not found: 'y'.
+static const field invalid-type y2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:83:14: Error: Setter not found: 'y'.
 const y2 = ++y;
              ^";
 static const field core::int* y3 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:84:12: Error: Setter not found: 'y'.
@@ -559,7 +559,7 @@
 static const field core::int* circularity2 = invalid-expression "Constant expression depends on itself.";
 static const field core::int* circularity3 = invalid-expression "Constant expression depends on itself.";
 static const field core::int* circularity4 = invalid-expression "Constant expression depends on itself.";
-static const field dynamic function_const = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:140:24: Error: Not a constant expression.
+static const field invalid-type function_const = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:140:24: Error: Not a constant expression.
 const function_const = () {};
                        ^^";
 static field () →* Null function_var = () → Null {};
@@ -570,7 +570,7 @@
 static field self::ClassWithNonEmptyConstConstructor* classWithNonEmptyConstConstructor = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:168:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
     const ClassWithNonEmptyConstConstructor();
-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic} self::ClassWithNonEmptyConstConstructor*;
+          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
 static field self::ConstClassWithFinalFields2* constClassWithFinalFields = invalid-expression "The invocation of 'x' is not allowed in a constant expression.";
 static const field core::bool* zeroPointZeroIdentical = #C3;
 static const field core::bool* zeroPointZeroIdenticalToZero = #C1;
diff --git a/pkg/front_end/testcases/general/constants/various.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.outline.expect
index 1023df5..28ec243 100644
--- a/pkg/front_end/testcases/general/constants/various.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/various.dart.weak.outline.expect
@@ -230,7 +230,7 @@
 }
 class ConstClassWithFinalFields2 extends core::Object /*hasConstConstructor*/  {
   final field core::int* y = 1;
-  final field dynamic z1 = this.{self::ConstClassWithFinalFields2::y}{core::int*};
+  final field invalid-type z1 = this.{self::ConstClassWithFinalFields2::y}{core::int*};
   final field core::int* z2 = self::x;
   const constructor •() → self::ConstClassWithFinalFields2*
     : super core::Object::•()
@@ -301,23 +301,23 @@
 static const field core::int* x3 = let final core::int* #t4 = self::x in let final core::int* #t5 = self::x = #t4.{core::num::-}(1){(core::num*) →* core::int*} in #t4;
 static const field core::int* x4 = let final core::int* #t6 = self::x in let final core::int* #t7 = self::x = #t6.{core::num::+}(1){(core::num*) →* core::int*} in #t6;
 static const field core::int* y = 1;
-static const field dynamic y1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
+static const field invalid-type y1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
 const y1 = --y;
              ^";
-static const field dynamic y2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:83:14: Error: Setter not found: 'y'.
+static const field invalid-type y2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:83:14: Error: Setter not found: 'y'.
 const y2 = ++y;
              ^";
-static const field core::int* y3 = let final core::int* #t8 = self::y in let final dynamic #t9 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:84:12: Error: Setter not found: 'y'.
+static const field core::int* y3 = let final core::int* #t8 = self::y in let final invalid-type #t9 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:84:12: Error: Setter not found: 'y'.
 const y3 = y--;
            ^" in #t8;
-static const field core::int* y4 = let final core::int* #t10 = self::y in let final dynamic #t11 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:85:12: Error: Setter not found: 'y'.
+static const field core::int* y4 = let final core::int* #t10 = self::y in let final invalid-type #t11 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:85:12: Error: Setter not found: 'y'.
 const y4 = y++;
            ^" in #t10;
 static field self::AbstractClassWithConstructor* abstractClassWithConstructor;
 static const field self::ExtendsFoo1* extendsFoo1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:118:39: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
 const ExtendsFoo1 extendsFoo1 = const ExtendsFoo1();
-                                      ^^^^^^^^^^^" as{TypeError,ForDynamic} self::ExtendsFoo1*;
+                                      ^^^^^^^^^^^";
 static const field self::ExtendsFoo2* extendsFoo2 = const self::ExtendsFoo2::•();
 static const field self::Foo* foo1 = const self::Foo::•(42);
 static const field self::Foo* foo2 = const self::Foo::•(42);
@@ -331,7 +331,7 @@
 static const field core::int* circularity2 = self::circularity3;
 static const field core::int* circularity3 = self::circularity4;
 static const field core::int* circularity4 = self::circularity1;
-static const field dynamic function_const = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:140:24: Error: Not a constant expression.
+static const field invalid-type function_const = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:140:24: Error: Not a constant expression.
 const function_const = () {};
                        ^^";
 static field () →* Null function_var;
@@ -453,4 +453,4 @@
 Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:213:40 -> BoolConstant(false)
 Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:214:25 -> NullConstant(null)
 Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:215:40 -> BoolConstant(false)
-Extra constant evaluation: evaluated: 136, effectively constant: 84
+Extra constant evaluation: evaluated: 135, effectively constant: 84
diff --git a/pkg/front_end/testcases/general/constants/various.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.transformed.expect
index f39f9ab..7218497 100644
--- a/pkg/front_end/testcases/general/constants/various.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/various.dart.weak.transformed.expect
@@ -452,7 +452,7 @@
 }
 class ConstClassWithFinalFields2 extends core::Object /*hasConstConstructor*/  {
   final field core::int* y = 1;
-  final field dynamic z1 = this.{self::ConstClassWithFinalFields2::y}{core::int*};
+  final field invalid-type z1 = this.{self::ConstClassWithFinalFields2::y}{core::int*};
   final field core::int* z2 = self::x;
   const constructor •() → self::ConstClassWithFinalFields2*
     : super core::Object::•()
@@ -523,10 +523,10 @@
 static const field core::int* x3 = invalid-expression "The invocation of 'x' is not allowed in a constant expression.";
 static const field core::int* x4 = invalid-expression "The invocation of 'x' is not allowed in a constant expression.";
 static const field core::int* y = #C12;
-static const field dynamic y1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
+static const field invalid-type y1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
 const y1 = --y;
              ^";
-static const field dynamic y2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:83:14: Error: Setter not found: 'y'.
+static const field invalid-type y2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:83:14: Error: Setter not found: 'y'.
 const y2 = ++y;
              ^";
 static const field core::int* y3 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:84:12: Error: Setter not found: 'y'.
@@ -559,7 +559,7 @@
 static const field core::int* circularity2 = invalid-expression "Constant expression depends on itself.";
 static const field core::int* circularity3 = invalid-expression "Constant expression depends on itself.";
 static const field core::int* circularity4 = invalid-expression "Constant expression depends on itself.";
-static const field dynamic function_const = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:140:24: Error: Not a constant expression.
+static const field invalid-type function_const = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:140:24: Error: Not a constant expression.
 const function_const = () {};
                        ^^";
 static field () →* Null function_var = () → Null {};
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.expect
index a331c77..1569bc7 100644
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.expect
@@ -81,7 +81,7 @@
     : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, x), super core::Object::•()
     ;
   const constructor withInvalidCondition(core::int x) → self::Foo
-    : self::Foo::x = x, assert(let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart:16:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
+    : self::Foo::x = x, assert(invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart:16:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   const Foo.withInvalidCondition(this.x) : assert(x);
                                                   ^" in x as{TypeError,ForNonNullableByDefault} core::bool), super core::Object::•()
     ;
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.outline.expect
index 300a4fa..4e4e0ec 100644
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.outline.expect
@@ -21,7 +21,7 @@
     : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, x), super core::Object::•()
     ;
   const constructor withInvalidCondition(core::int x) → self::Foo
-    : self::Foo::x = x, assert(let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart:16:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
+    : self::Foo::x = x, assert(invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart:16:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   const Foo.withInvalidCondition(this.x) : assert(x);
                                                   ^" in x as{TypeError,ForNonNullableByDefault} core::bool), super core::Object::•()
     ;
@@ -58,4 +58,4 @@
 Evaluated with empty environment: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:14:73 -> StringConstant("btw foo was false")
 Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_asserts.dart:14:44 -> BoolConstant(false)
 Evaluated with empty environment: ConstructorInvocation @ org-dartlang-testcase:///const_asserts.dart:25:24 -> InstanceConstant(const Foo{Foo.x: 1})
-Extra constant evaluation: evaluated: 39, effectively constant: 9
+Extra constant evaluation: evaluated: 36, effectively constant: 9
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.transformed.expect
index 3f365fd..a5d5b58 100644
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.transformed.expect
@@ -81,7 +81,7 @@
     : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, x), super core::Object::•()
     ;
   const constructor withInvalidCondition(core::int x) → self::Foo
-    : self::Foo::x = x, assert(let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart:16:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
+    : self::Foo::x = x, assert(invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart:16:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   const Foo.withInvalidCondition(this.x) : assert(x);
                                                   ^" in x as{TypeError,ForNonNullableByDefault} core::bool), super core::Object::•()
     ;
@@ -137,7 +137,7 @@
 Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_asserts.dart:14:44 -> BoolConstant(false)
 Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_asserts.dart:25:24 -> InstanceConstant(const Foo{Foo.x: 1})
 Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_asserts.dart:25:24 -> InstanceConstant(const Foo{Foo.x: 1})
-Extra constant evaluation: evaluated: 34, effectively constant: 10
+Extra constant evaluation: evaluated: 31, effectively constant: 10
 
 
 Constructor coverage from constants:
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.expect
index ce2a935..dffcd85 100644
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.expect
@@ -91,7 +91,7 @@
     : this self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class::T)
     ;
   const constructor method(self::Class::T t) → self::Class<self::Class::T>
-    : this self::Class::•(let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+    : this self::Class::•(invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
  - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
   const Class.method(T t) : this(-t);
                                  ^" in t.{self::A::unary-}(){() → self::A} as{TypeError,ForNonNullableByDefault} Never)
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.outline.expect
index f9aaa93..7967bf9 100644
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.outline.expect
@@ -73,7 +73,7 @@
     : this self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class::T)
     ;
   const constructor method(self::Class::T t) → self::Class<self::Class::T>
-    : this self::Class::•(let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+    : this self::Class::•(invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
  - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
   const Class.method(T t) : this(-t);
                                  ^" in t.{self::A::unary-}(){() → self::A} as{TypeError,ForNonNullableByDefault} Never)
@@ -96,14 +96,14 @@
 static const field core::bool barFromEnvOrNull = const core::bool::fromEnvironment("bar", defaultValue: self::barFromEnvOrNull0!);
 static const field core::bool notBarFromEnvOrNull = !self::barFromEnvOrNull;
 static const field core::bool conditionalOnNull = self::barFromEnvOrNull ?{core::bool} true : false;
-static const field core::bool nullAwareOnNull = let final core::bool #t2 = self::barFromEnvOrNull in #t2 == null ?{core::bool} true : #t2;
+static const field core::bool nullAwareOnNull = let final core::bool #t1 = self::barFromEnvOrNull in #t1 == null ?{core::bool} true : #t1;
 static const field core::bool andOnNull = self::barFromEnvOrNull && true;
 static const field core::bool andOnNull2 = true && self::barFromEnvOrNull;
 static const field core::bool orOnNull = self::barFromEnvOrNull || true;
 static const field core::bool orOnNull2 = self::barFromEnvOrNull || false;
 static const field core::bool orOnNull3 = true || self::barFromEnvOrNull;
 static const field core::bool orOnNull4 = false || self::barFromEnvOrNull;
-static const field core::int fromDeferredLib = let final dynamic #t3 = CheckLibraryIsLoaded(lib) in var::x;
+static const field core::int fromDeferredLib = let final dynamic #t2 = CheckLibraryIsLoaded(lib) in var::x;
 static const field self::Foo<core::int> x = const self::Foo::•<core::int>(42);
 static const field core::bool? y = true;
 static const field core::bool z = !self::y!;
@@ -228,4 +228,4 @@
 Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:130:10 -> BoolConstant(false)
 Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:130:35 -> BoolConstant(false)
 Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:131:37 -> NullConstant(null)
-Extra constant evaluation: evaluated: 112, effectively constant: 69
+Extra constant evaluation: evaluated: 108, effectively constant: 69
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.transformed.expect
index fef7a55..e35282c 100644
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.transformed.expect
@@ -91,7 +91,7 @@
     : this self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class::T)
     ;
   const constructor method(self::Class::T t) → self::Class<self::Class::T>
-    : this self::Class::•(let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+    : this self::Class::•(invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
  - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
   const Class.method(T t) : this(-t);
                                  ^" in t.{self::A::unary-}(){() → self::A} as{TypeError,ForNonNullableByDefault} Never)
@@ -272,7 +272,7 @@
 Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:127:35 -> BoolConstant(false)
 Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:128:33 -> BoolConstant(true)
 Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:130:33 -> NullConstant(null)
-Extra constant evaluation: evaluated: 66, effectively constant: 24
+Extra constant evaluation: evaluated: 62, effectively constant: 24
 
 
 Constructor coverage from constants:
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.expect b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.expect
index 79f1595..69f8ec9 100644
--- a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.expect
@@ -46,7 +46,7 @@
   constructor •() → self::C2*
     : self::C2::f = invalid-expression "pkg/front_end/testcases/general/constructor_initializer_invalid.dart:6:27: Error: This couldn't be parsed.
 class C2 { int f; C2() : f; }
-                          ^" as{TypeError,ForDynamic} core::int*, super core::Object::•()
+                          ^", super core::Object::•()
     ;
   abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
   abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.expect b/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.expect
index d9400d1..cbaacd1 100644
--- a/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.expect
+++ b/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.expect
@@ -33,13 +33,13 @@
   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method test() → dynamic {
-  let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/continue_inference_after_error.dart:10:3: Error: A prefix can't be used as an expression.
+  invalid-expression "pkg/front_end/testcases/general/continue_inference_after_error.dart:10:3: Error: A prefix can't be used as an expression.
   lib(new C().missing());
-  ^^^" in let final core::Object* #t2 = invalid-expression "pkg/front_end/testcases/general/continue_inference_after_error.dart:10:15: Error: The method 'missing' isn't defined for the class 'C'.
+  ^^^" in let final core::Object* #t1 = invalid-expression "pkg/front_end/testcases/general/continue_inference_after_error.dart:10:15: Error: The method 'missing' isn't defined for the class 'C'.
  - 'C' is from 'pkg/front_end/testcases/general/continue_inference_after_error.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'missing'.
   lib(new C().missing());
-              ^^^^^^^" in null;
+              ^^^^^^^" in new self::C::•(){<unresolved>}.missing() in null;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.transformed.expect b/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.transformed.expect
index d9400d1..cbaacd1 100644
--- a/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.transformed.expect
@@ -33,13 +33,13 @@
   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method test() → dynamic {
-  let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/continue_inference_after_error.dart:10:3: Error: A prefix can't be used as an expression.
+  invalid-expression "pkg/front_end/testcases/general/continue_inference_after_error.dart:10:3: Error: A prefix can't be used as an expression.
   lib(new C().missing());
-  ^^^" in let final core::Object* #t2 = invalid-expression "pkg/front_end/testcases/general/continue_inference_after_error.dart:10:15: Error: The method 'missing' isn't defined for the class 'C'.
+  ^^^" in let final core::Object* #t1 = invalid-expression "pkg/front_end/testcases/general/continue_inference_after_error.dart:10:15: Error: The method 'missing' isn't defined for the class 'C'.
  - 'C' is from 'pkg/front_end/testcases/general/continue_inference_after_error.dart'.
 Try correcting the name to the name of an existing method, or defining a method named 'missing'.
   lib(new C().missing());
-              ^^^^^^^" in null;
+              ^^^^^^^" in new self::C::•(){<unresolved>}.missing() in null;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
index 2a12c98..2ebf6f7 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
@@ -950,67 +950,67 @@
   block {
     final core::List<core::int*>* #t99 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t99.{core::List::add}{Invariant}(let final Never* #t100 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t99.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) \"bar\"];
                            ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
   } =>#t99;
   block {
-    final core::Set<core::int*>* #t101 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t100 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t101.{core::Set::add}{Invariant}(let final Never* #t102 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t100.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{if (oracle(\"foo\")) \"bar\", null};
                            ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
-    #t101.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t101;
+    #t100.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t100;
   block {
-    final core::Map<core::String*, core::int*>* #t103 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t101 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t103.{core::Map::[]=}{Invariant}("bar", let final Never* #t104 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t101.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
                                           ^" in "bar" as{TypeError} core::int*){(core::String*, core::int*) →* void};
-    #t103.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t103;
+    #t101.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t101;
   block {
-    final core::List<core::int*>* #t105 = <core::int*>[];
+    final core::List<core::int*>* #t102 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t105.{core::List::addAll}{Invariant}(<core::int*>[let final Never* #t106 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t102.{core::List::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) ...[\"bar\"]];
                                ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
-  } =>#t105;
+  } =>#t102;
   block {
-    final core::Set<core::int*>* #t107 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t103 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t107.{core::Set::addAll}{Invariant}(<core::int*>[let final Never* #t108 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t103.{core::Set::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{if (oracle(\"foo\")) ...[\"bar\"], null};
                                ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
-    #t107.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t107;
+    #t103.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t103;
   block {
-    final core::Map<core::String*, core::int*>* #t109 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t104 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::MapEntry<core::String*, core::int*>* #t110 in <core::String*, core::int*>{"bar": let final Never* #t111 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      for (final core::MapEntry<core::String*, core::int*>* #t105 in <core::String*, core::int*>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <String, int>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
                                               ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t109.{core::Map::[]=}{Invariant}(#t110.{core::MapEntry::key}{core::String*}, #t110.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t109.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t109;
+        #t104.{core::Map::[]=}{Invariant}(#t105.{core::MapEntry::key}{core::String*}, #t105.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
+    #t104.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t104;
   block {
-    final core::List<core::int*>* #t112 = <core::int*>[];
+    final core::List<core::int*>* #t106 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t112.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t106.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map];
                               ^"){(core::int*) →* void};
-  } =>#t112;
+  } =>#t106;
   block {
-    final core::Set<core::int*>* #t113 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t107 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t113.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t107.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map, null};
                               ^"){(core::int*) →* core::bool*};
-    #t113.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t113;
+    #t107.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t107;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:39: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
@@ -1019,61 +1019,61 @@
   <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
                                       ^": null};
   block {
-    final core::List<core::String*>* #t114 = <core::String*>[];
+    final core::List<core::String*>* #t108 = <core::String*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t114.{core::List::add}{Invariant}(let final Never* #t115 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                               ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
     else
-      #t114.{core::List::add}{Invariant}(let final Never* #t116 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                                       ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t114;
+  } =>#t108;
   block {
-    final core::Set<core::String*>* #t117 = col::LinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t109 = col::LinkedHashSet::•<core::String*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t117.{core::Set::add}{Invariant}(let final Never* #t118 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>{if (oracle(\"foo\")) 42 else 3.14, null};
                               ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
     else
-      #t117.{core::Set::add}{Invariant}(let final Never* #t119 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>{if (oracle(\"foo\")) 42 else 3.14, null};
                                       ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
-    #t117.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
-  } =>#t117;
+    #t109.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
+  } =>#t109;
   block {
-    final core::Map<core::String*, core::String*>* #t120 = <core::String*, core::String*>{};
+    final core::Map<core::String*, core::String*>* #t110 = <core::String*, core::String*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t120.{core::Map::[]=}{Invariant}("bar", let final Never* #t121 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t110.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                              ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
     else
-      #t120.{core::Map::[]=}{Invariant}("baz", let final Never* #t122 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t110.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                                             ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
-    #t120.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
-  } =>#t120;
+    #t110.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
+  } =>#t110;
   block {
-    final core::List<core::int*>* #t123 = <core::int*>[];
+    final core::List<core::int*>* #t111 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t123.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t111.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map else 42];
                               ^"){(core::int*) →* void};
     else
-      #t123.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t123;
+      #t111.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t111;
   block {
-    final core::Set<core::int*>* #t124 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t112 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t124.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t112.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map else 42, null};
                               ^"){(core::int*) →* core::bool*};
     else
-      #t124.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t124.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t124;
+      #t112.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t112.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t112;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:39: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
@@ -1082,26 +1082,26 @@
   <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
                                       ^": null};
   block {
-    final core::List<core::int*>* #t125 = <core::int*>[];
+    final core::List<core::int*>* #t113 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t125.{core::List::add}{Invariant}(42){(core::int*) →* void};
+      #t113.{core::List::add}{Invariant}(42){(core::int*) →* void};
     else
-      #t125.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t113.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) 42 else ...map];
                                       ^"){(core::int*) →* void};
-  } =>#t125;
+  } =>#t113;
   block {
-    final core::Set<core::int*>* #t126 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t114 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t126.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map else 42, null};
                               ^"){(core::int*) →* core::bool*};
     else
-      #t126.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t126.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t126;
+      #t114.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t114.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t114;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
@@ -1121,716 +1121,716 @@
   core::Map<dynamic, dynamic>* map11 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:109:70: Error: Expected ':' after this.
   Map<dynamic, dynamic> map11 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
                                                                      ^": null};
-  core::Map<dynamic, Null>* map12 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:110:35: Error: Expected ':' after this.
+  core::Map<invalid-type, Null>* map12 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:110:35: Error: Expected ':' after this.
   var map12 = {if (oracle(\"foo\")) 42 else \"bar\": 3.14};
                                   ^": null};
-  core::Map<dynamic, Null>* map13 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:111:52: Error: Expected ':' after this.
+  core::Map<invalid-type, Null>* map13 = <invalid-type, Null>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:111:52: Error: Expected ':' after this.
   var map13 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
                                                    ^": null};
   core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t127 = <core::int*>[];
-    if(let final Never* #t128 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:112:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
+    final core::List<core::int*>* #t115 = <core::int*>[];
+    if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:112:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   List<int> list20 = [if (42) 42];
                           ^" in 42 as{TypeError} core::bool*)
-      #t127.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t127;
+      #t115.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t115;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t129 = col::LinkedHashSet::•<core::int*>();
-    if(let final Never* #t130 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:113:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
+    final core::Set<core::int*>* #t116 = col::LinkedHashSet::•<core::int*>();
+    if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:113:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Set<int> set20 = {if (42) 42};
                         ^" in 42 as{TypeError} core::bool*)
-      #t129.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t129;
+      #t116.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t116;
   core::Map<core::int*, core::int*>* map30 = block {
-    final core::Map<core::int*, core::int*>* #t131 = <core::int*, core::int*>{};
-    if(let final Never* #t132 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
+    final core::Map<core::int*, core::int*>* #t117 = <core::int*, core::int*>{};
+    if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Map<int, int> map30 = {if (42) 42: 42};
                              ^" in 42 as{TypeError} core::bool*)
-      #t131.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
-  } =>#t131;
+      #t117.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
+  } =>#t117;
   core::List<core::String*>* list40 = block {
-    final core::List<core::String*>* #t133 = <core::String*>[];
+    final core::List<core::String*>* #t118 = <core::String*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t133.{core::List::add}{Invariant}(let final Never* #t134 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                     ^" in true as{TypeError} core::String*){(core::String*) →* void};
     else
-      #t133.{core::List::add}{Invariant}(let final Never* #t135 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                               ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t133;
+  } =>#t118;
   core::Set<core::String*>* set40 = block {
-    final core::Set<core::String*>* #t136 = col::LinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t119 = col::LinkedHashSet::•<core::String*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t136.{core::Set::add}{Invariant}(let final Never* #t137 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                   ^" in true as{TypeError} core::String*){(core::String*) →* core::bool*};
     else
-      #t136.{core::Set::add}{Invariant}(let final Never* #t138 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                             ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
-  } =>#t136;
+  } =>#t119;
   core::Map<core::String*, core::int*>* map40 = block {
-    final core::Map<core::String*, core::int*>* #t139 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t120 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t139.{core::Map::[]=}{Invariant}(let final Never* #t140 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                             ^" in true as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
     else
-      #t139.{core::Map::[]=}{Invariant}(let final Never* #t141 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                                           ^" in 42 as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
-  } =>#t139;
+  } =>#t120;
   core::Map<core::int*, core::String*>* map41 = block {
-    final core::Map<core::int*, core::String*>* #t142 = <core::int*, core::String*>{};
+    final core::Map<core::int*, core::String*>* #t121 = <core::int*, core::String*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t142.{core::Map::[]=}{Invariant}(42, let final Never* #t143 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                 ^" in true as{TypeError} core::String*){(core::int*, core::String*) →* void};
     else
-      #t142.{core::Map::[]=}{Invariant}(42, let final Never* #t144 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                               ^" in 42 as{TypeError} core::String*){(core::int*, core::String*) →* void};
-  } =>#t142;
+  } =>#t121;
 }
 static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, core::List<core::double*>* listDouble, core::int* index, core::Map<core::String*, core::int*>* mapStringInt, core::Map<core::String*, core::double*>* mapStringDouble) → dynamic {
   core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t145 = <core::int*>[];
+    final core::List<core::int*>* #t122 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t145.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t145;
+      #t122.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t122;
   core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t146 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t123 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t146.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t146.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t146;
+      #t123.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t123.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t123;
   core::Map<core::String*, core::int*>* map10 = block {
-    final core::Map<core::String*, core::int*>* #t147 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t124 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t147.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-    #t147.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t147;
+      #t124.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t124;
   core::List<dynamic>* list11 = block {
-    final core::List<dynamic>* #t148 = <dynamic>[];
+    final core::List<dynamic>* #t125 = <dynamic>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t148.{core::List::add}{Invariant}(dynVar){(dynamic) →* void};
-  } =>#t148;
+      #t125.{core::List::add}{Invariant}(dynVar){(dynamic) →* void};
+  } =>#t125;
   core::Set<dynamic>* set11 = block {
-    final core::Set<dynamic>* #t149 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t126 = col::LinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t149.{core::Set::add}{Invariant}(dynVar){(dynamic) →* core::bool*};
-    #t149.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t149;
+      #t126.{core::Set::add}{Invariant}(dynVar){(dynamic) →* core::bool*};
+    #t126.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t126;
   core::Map<core::String*, dynamic>* map11 = block {
-    final core::Map<core::String*, dynamic>* #t150 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t127 = <core::String*, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t150.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String*, dynamic) →* void};
-    #t150.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t150;
+      #t127.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String*, dynamic) →* void};
+    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t127;
   core::List<core::List<core::int*>*>* list12 = block {
+    final core::List<core::List<core::int*>*>* #t128 = <core::List<core::int*>*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t128.{core::List::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* void};
+  } =>#t128;
+  core::Set<core::List<core::int*>*>* set12 = block {
+    final core::Set<core::List<core::int*>*>* #t129 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t129.{core::Set::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
+    #t129.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t129;
+  core::Map<core::String*, core::List<core::int*>*>* map12 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t130 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t130.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]){(core::String*, core::List<core::int*>*) →* void};
+    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t130;
+  core::List<core::int*>* list20 = block {
+    final core::List<core::int*>* #t131 = <core::int*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t131.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+  } =>#t131;
+  core::Set<core::int*>* set20 = block {
+    final core::Set<core::int*>* #t132 = col::LinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t132.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+    #t132.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t132;
+  core::Map<core::String*, core::int*>* map20 = block {
+    final core::Map<core::String*, core::int*>* #t133 = <core::String*, core::int*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      for (final core::MapEntry<core::String*, core::int*>* #t134 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
+        #t133.{core::Map::[]=}{Invariant}(#t134.{core::MapEntry::key}{core::String*}, #t134.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
+    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t133;
+  core::List<dynamic>* list21 = block {
+    final core::List<dynamic>* #t135 = <dynamic>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t135.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+  } =>#t135;
+  core::Set<dynamic>* set21 = block {
+    final core::Set<dynamic>* #t136 = col::LinkedHashSet::•<dynamic>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t136.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+    #t136.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t136;
+  core::Map<core::String*, dynamic>* map21 = block {
+    final core::Map<core::String*, dynamic>* #t137 = <core::String*, dynamic>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      for (final core::MapEntry<core::String*, dynamic>* #t138 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>})
+        #t137.{core::Map::[]=}{Invariant}(#t138.{core::MapEntry::key}{core::String*}, #t138.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
+    #t137.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t137;
+  core::List<core::List<core::int*>*>* list22 = block {
+    final core::List<core::List<core::int*>*>* #t139 = <core::List<core::int*>*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t139.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t139;
+  core::Set<core::List<core::int*>*>* set22 = block {
+    final core::Set<core::List<core::int*>*>* #t140 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t140.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t140.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t140;
+  core::Map<core::String*, core::List<core::int*>*>* map22 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t141 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t142 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
+        #t141.{core::Map::[]=}{Invariant}(#t142.{core::MapEntry::key}{core::String*}, #t142.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
+    #t141.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t141;
+  core::List<core::int*>* list30 = block {
+    final core::List<core::int*>* #t143 = <core::int*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t143.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+  } =>#t143;
+  core::Set<core::int*>* set30 = block {
+    final core::Set<core::int*>* #t144 = col::LinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t144.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+    #t144.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t144;
+  core::Map<core::String*, core::int*>* map30 = block {
+    final core::Map<core::String*, core::int*>* #t145 = <core::String*, core::int*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        for (final core::MapEntry<core::String*, core::int*>* #t146 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
+          #t145.{core::Map::[]=}{Invariant}(#t146.{core::MapEntry::key}{core::String*}, #t146.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
+    #t145.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t145;
+  core::List<dynamic>* list31 = block {
+    final core::List<dynamic>* #t147 = <dynamic>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t147.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+  } =>#t147;
+  core::Set<dynamic>* set31 = block {
+    final core::Set<dynamic>* #t148 = col::LinkedHashSet::•<dynamic>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t148.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+    #t148.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t148;
+  core::Map<core::String*, dynamic>* map31 = block {
+    final core::Map<core::String*, dynamic>* #t149 = <core::String*, dynamic>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        for (final core::MapEntry<core::String*, dynamic>* #t150 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>})
+          #t149.{core::Map::[]=}{Invariant}(#t150.{core::MapEntry::key}{core::String*}, #t150.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
+    #t149.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t149;
+  core::List<core::List<core::int*>*>* list33 = block {
     final core::List<core::List<core::int*>*>* #t151 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t151.{core::List::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t151.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
   } =>#t151;
-  core::Set<core::List<core::int*>*>* set12 = block {
+  core::Set<core::List<core::int*>*>* set33 = block {
     final core::Set<core::List<core::int*>*>* #t152 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t152.{core::Set::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t152.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
     #t152.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
   } =>#t152;
-  core::Map<core::String*, core::List<core::int*>*>* map12 = block {
+  core::Map<core::String*, core::List<core::int*>*>* map33 = block {
     final core::Map<core::String*, core::List<core::int*>*>* #t153 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t153.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]){(core::String*, core::List<core::int*>*) →* void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t154 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
+          #t153.{core::Map::[]=}{Invariant}(#t154.{core::MapEntry::key}{core::String*}, #t154.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
     #t153.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
   } =>#t153;
-  core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t154 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t154.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-  } =>#t154;
-  core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t155 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t155.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-    #t155.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t155;
-  core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t156 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{Ty