Version 2.17.0-198.0.dev

Merge commit 'c1626742e3c772f74b3a3d1f4e9efc4dd81fe4cb' into 'dev'
diff --git a/pkg/OWNERS b/pkg/OWNERS
index c3abcf9..eec08f0 100644
--- a/pkg/OWNERS
+++ b/pkg/OWNERS
@@ -1,2 +1,5 @@
 file:/tools/OWNERS_FOUNDATION #{LAST_RESORT_SUGGESTION}
 file:/tools/OWNERS_INFRA #{LAST_RESORT_SUGGESTION}
+
+# Test status file
+per-file pkg.status=file:/tools/OWNERS_ENG
diff --git a/pkg/front_end/lib/src/api_prototype/compiler_options.dart b/pkg/front_end/lib/src/api_prototype/compiler_options.dart
index 3bd1f30..71c417b 100644
--- a/pkg/front_end/lib/src/api_prototype/compiler_options.dart
+++ b/pkg/front_end/lib/src/api_prototype/compiler_options.dart
@@ -18,7 +18,6 @@
 
 import '../base/nnbd_mode.dart';
 
-import '../fasta/kernel/macro.dart';
 import '../macro_serializer.dart';
 import 'experimental_flags.dart'
     show
@@ -118,11 +117,11 @@
   Future<MacroExecutor> Function() macroExecutorProvider =
       () async => throw 'Macro execution is not supported.';
 
-  /// Map from [MacroClass] to [Uri] for the precompiled dill that contains
-  /// the macro code.
+  /// Map from library import [Uri]s of libraries that declare macros to
+  /// the [Uri] for the precompiled dill that contains the macro code.
   ///
   /// This is part of the experimental macro feature.
-  Map<MacroClass, Uri>? precompiledMacroUris;
+  Map<Uri, Uri>? precompiledMacroUris;
 
   /// The [Target] used for compiling macros.
   ///
diff --git a/pkg/front_end/lib/src/base/processed_options.dart b/pkg/front_end/lib/src/base/processed_options.dart
index a91d6cb..d129e23 100644
--- a/pkg/front_end/lib/src/base/processed_options.dart
+++ b/pkg/front_end/lib/src/base/processed_options.dart
@@ -70,7 +70,6 @@
         templateSdkSpecificationNotFound,
         templateSdkSummaryNotFound;
 
-import '../fasta/kernel/macro.dart';
 import '../fasta/messages.dart' show getLocation;
 
 import '../fasta/problems.dart' show DebugAbort, unimplemented;
@@ -858,7 +857,7 @@
   Future<MacroExecutor> Function() get macroExecutorProvider =>
       _raw.macroExecutorProvider;
 
-  Map<MacroClass, Uri> get precompiledMacroUris =>
+  Map<Uri, Uri> get precompiledMacroUris =>
       _raw.precompiledMacroUris ?? const {};
 
   CompilerOptions get rawOptionsForTesting => _raw;
diff --git a/pkg/front_end/lib/src/fasta/incremental_compiler.dart b/pkg/front_end/lib/src/fasta/incremental_compiler.dart
index d6c6a97..cd882d6 100644
--- a/pkg/front_end/lib/src/fasta/incremental_compiler.dart
+++ b/pkg/front_end/lib/src/fasta/incremental_compiler.dart
@@ -116,7 +116,7 @@
 
 import 'incremental_serializer.dart' show IncrementalSerializer;
 
-import 'kernel/macro.dart' show enableMacros, MacroClass, NeededPrecompilations;
+import 'kernel/macro.dart' show enableMacros, NeededPrecompilations;
 
 import 'scope.dart' show Scope;
 
@@ -1404,12 +1404,11 @@
       return;
     }
     CompilerOptions compilerOptions = processedOptions.rawOptionsForTesting;
-    Map<MacroClass, Uri>? precompiledMacroUris =
-        compilerOptions.precompiledMacroUris;
+    Map<Uri, Uri>? precompiledMacroUris = compilerOptions.precompiledMacroUris;
     if (precompiledMacroUris != null) {
-      for (MacroClass macroClass in precompiledMacroUris.keys.toList()) {
-        if (invalidatedUris.contains(macroClass.importUri)) {
-          precompiledMacroUris.remove(macroClass);
+      for (Uri macroLibraryUri in precompiledMacroUris.keys.toList()) {
+        if (invalidatedUris.contains(macroLibraryUri)) {
+          precompiledMacroUris.remove(macroLibraryUri);
         }
       }
     }
diff --git a/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart b/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart
index 792c92f..c0d8fed 100644
--- a/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart
@@ -5,6 +5,7 @@
 library fasta.implicit_type;
 
 import 'package:_fe_analyzer_shared/src/scanner/token.dart' show Token;
+import 'package:front_end/src/fasta/source/source_enum_builder.dart';
 import 'package:kernel/ast.dart';
 import 'package:kernel/src/assumptions.dart';
 import 'package:kernel/src/legacy_erasure.dart';
@@ -13,6 +14,7 @@
 import '../constant_context.dart';
 import '../fasta_codes.dart';
 import '../problems.dart' show unsupported;
+import '../builder/builder.dart';
 import '../source/source_field_builder.dart';
 import '../type_inference/type_inferrer.dart';
 import '../type_inference/type_schema.dart';
@@ -115,6 +117,7 @@
     }
     isStarted = true;
     DartType? inferredType;
+    Builder? parent = fieldBuilder.parent;
     if (_overriddenFields != null) {
       for (ImplicitFieldType overridden in _overriddenFields!) {
         DartType overriddenType = overridden.inferType();
@@ -128,6 +131,10 @@
         }
       }
       return inferredType!;
+    } else if (parent is SourceEnumBuilder &&
+        parent.elementBuilders.contains(fieldBuilder)) {
+      inferredType = parent.buildElement(
+          parent.library, fieldBuilder, parent.library.loader.coreTypes);
     } else if (initializerToken != null) {
       InterfaceType? enclosingClassThisType = fieldBuilder.classBuilder == null
           ? null
diff --git a/pkg/front_end/lib/src/fasta/kernel/macro.dart b/pkg/front_end/lib/src/fasta/kernel/macro.dart
index 0b2bb54..b820d53 100644
--- a/pkg/front_end/lib/src/fasta/kernel/macro.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/macro.dart
@@ -51,24 +51,6 @@
   List<Map<Uri, Map<String, List<String>>>> neededPrecompilations = [];
 }
 
-class MacroClass {
-  final Uri importUri;
-  final String className;
-
-  const MacroClass(this.importUri, this.className);
-
-  @override
-  int get hashCode => importUri.hashCode * 13 + className.hashCode * 17;
-
-  @override
-  bool operator ==(Object other) {
-    if (identical(this, other)) return true;
-    return other is MacroClass &&
-        importUri == other.importUri &&
-        className == other.className;
-  }
-}
-
 class MacroApplication {
   final ClassBuilder classBuilder;
   final String constructorName;
@@ -136,7 +118,7 @@
 
   static Future<MacroApplications> loadMacroIds(
       macro.MacroExecutor macroExecutor,
-      Map<MacroClass, Uri> precompiledMacroUris,
+      Map<Uri, Uri> precompiledMacroUris,
       Map<SourceLibraryBuilder, LibraryMacroApplicationData> libraryData,
       MacroApplicationDataForTesting? dataForTesting) async {
     Map<ClassBuilder, macro.MacroClassIdentifier> classIdCache = {};
@@ -147,14 +129,13 @@
         List<MacroApplication>? applications) async {
       if (applications != null) {
         for (MacroApplication application in applications) {
-          MacroClass macroClass = new MacroClass(
-              application.classBuilder.library.importUri,
-              application.classBuilder.name);
-          Uri? precompiledMacroUri = precompiledMacroUris[macroClass];
+          Uri libraryUri = application.classBuilder.library.importUri;
+          String macroClassName = application.classBuilder.name;
+          Uri? precompiledMacroUri = precompiledMacroUris[libraryUri];
           try {
             macro.MacroClassIdentifier macroClassIdentifier =
-                classIdCache[application.classBuilder] ??= await macroExecutor
-                    .loadMacro(macroClass.importUri, macroClass.className,
+                classIdCache[application.classBuilder] ??=
+                    await macroExecutor.loadMacro(libraryUri, macroClassName,
                         precompiledKernelUri: precompiledMacroUri);
             try {
               application.instanceIdentifier = instanceIdCache[application] ??=
diff --git a/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart b/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart
index a177232..0d215bd 100644
--- a/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart
@@ -8,12 +8,12 @@
 
 import 'package:kernel/ast.dart';
 import 'package:kernel/class_hierarchy.dart';
+import 'package:kernel/core_types.dart';
 import 'package:kernel/reference_from_index.dart' show IndexedClass;
 
 import '../builder/builder.dart';
 import '../builder/class_builder.dart';
 import '../builder/constructor_reference_builder.dart';
-import '../builder/field_builder.dart';
 import '../builder/formal_parameter_builder.dart';
 import '../builder/library_builder.dart';
 import '../builder/member_builder.dart';
@@ -43,6 +43,7 @@
 import '../kernel/constructor_tearoff_lowering.dart';
 import '../kernel/expression_generator_helper.dart';
 import '../kernel/kernel_helper.dart';
+import '../kernel/implicit_field_type.dart';
 import '../kernel/internal_ast.dart';
 
 import '../modifier.dart' show constMask, hasInitializerMask, staticMask;
@@ -70,8 +71,17 @@
 
   final NamedTypeBuilder listType;
 
+  final NamedTypeBuilder selfType;
+
   DeclaredSourceConstructorBuilder? synthesizedDefaultConstructorBuilder;
 
+  final List<SourceFieldBuilder> elementBuilders;
+
+  final Set<SourceFieldBuilder> _builtElements =
+      new Set<SourceFieldBuilder>.identity();
+
+  final List<DelayedActionPerformer> _delayedActionPerformers = [];
+
   SourceEnumBuilder.internal(
       List<MetadataBuilder>? metadata,
       String name,
@@ -81,11 +91,13 @@
       Scope scope,
       ConstructorScope constructors,
       Class cls,
+      this.elementBuilders,
       this.enumConstantInfos,
       this.intType,
       this.listType,
       this.objectType,
       this.stringType,
+      this.selfType,
       SourceLibraryBuilder parent,
       List<ConstructorReferenceBuilder> constructorReferences,
       int startCharOffset,
@@ -178,6 +190,7 @@
     Map<String, MemberBuilder> members = <String, MemberBuilder>{};
     Map<String, MemberBuilder> setters = <String, MemberBuilder>{};
     Map<String, MemberBuilder> constructors = <String, MemberBuilder>{};
+    List<SourceFieldBuilder> elementBuilders = <SourceFieldBuilder>[];
     NamedTypeBuilder selfType = new NamedTypeBuilder(
         name,
         const NullabilityBuilder.omitted(),
@@ -418,9 +431,9 @@
           setterReference =
               referencesFromIndexed.lookupSetterReference(nameName);
         }
-        FieldBuilder fieldBuilder = new SourceFieldBuilder(
+        SourceFieldBuilder fieldBuilder = new SourceFieldBuilder(
             metadata,
-            selfType,
+            null,
             name,
             constMask | staticMask | hasInitializerMask,
             /* isTopLevel = */ false,
@@ -431,7 +444,11 @@
             fieldReference: fieldReference,
             fieldGetterReference: getterReference,
             fieldSetterReference: setterReference);
+        fieldBuilder.fieldType = new ImplicitFieldType(
+            fieldBuilder, enumConstantInfo.argumentsBeginToken);
+        parent.registerImplicitlyTypedField(fieldBuilder);
         members[name] = fieldBuilder..next = existing;
+        elementBuilders.add(fieldBuilder);
       }
     }
 
@@ -449,11 +466,13 @@
             isModifiable: false),
         constructorScope..local.addAll(constructors),
         cls,
+        elementBuilders,
         enumConstantInfos,
         intType,
         listType,
         objectType,
         stringType,
+        selfType,
         parent,
         constructorReferences,
         startCharOffsetComputed,
@@ -579,6 +598,143 @@
     return super.build(libraryBuilder, coreLibrary);
   }
 
+  DartType buildElement(SourceLibraryBuilder libraryBuilder,
+      SourceFieldBuilder fieldBuilder, CoreTypes coreTypes) {
+    DartType selfType = this.selfType.build(libraryBuilder);
+    Builder? builder = firstMemberNamed(fieldBuilder.name);
+    if (builder == null || !builder.isField) return selfType;
+    fieldBuilder = builder as SourceFieldBuilder;
+    if (!_builtElements.add(fieldBuilder)) return fieldBuilder.fieldType;
+
+    if (enumConstantInfos == null) return selfType;
+
+    String constant = fieldBuilder.name;
+
+    EnumConstantInfo? enumConstantInfo;
+    int elementIndex = 0;
+    for (EnumConstantInfo? info in enumConstantInfos!) {
+      if (info?.name == constant) {
+        enumConstantInfo = info;
+        break;
+      }
+      // Skip the duplicated entries in numbering.
+      if (info?.name != null) {
+        elementIndex++;
+      }
+    }
+    if (enumConstantInfo == null) return selfType;
+
+    DartType inferredFieldType = selfType;
+
+    String constructorName =
+        enumConstantInfo.constructorReferenceBuilder?.suffix ?? "";
+    String fullConstructorNameForErrors =
+        enumConstantInfo.constructorReferenceBuilder?.fullNameForErrors ?? name;
+    int fileOffset = enumConstantInfo.constructorReferenceBuilder?.charOffset ??
+        enumConstantInfo.charOffset;
+    MemberBuilder? constructorBuilder =
+        constructorScope.lookupLocalMember(constructorName);
+
+    ArgumentsImpl arguments;
+    List<Expression> enumSyntheticArguments = <Expression>[
+      new IntLiteral(elementIndex),
+      new StringLiteral(constant),
+    ];
+    List<DartType>? typeArguments;
+    List<TypeBuilder>? typeArgumentBuilders =
+        enumConstantInfo.constructorReferenceBuilder?.typeArguments;
+    if (typeArgumentBuilders != null) {
+      typeArguments = <DartType>[];
+      for (TypeBuilder typeBuilder in typeArgumentBuilders) {
+        typeArguments.add(typeBuilder.build(library));
+      }
+    }
+    if (libraryBuilder.enableEnhancedEnumsInLibrary) {
+      // We need to create a BodyBuilder to solve the following: 1) if
+      // the arguments token is provided, we'll use the BodyBuilder to
+      // parse them and perform inference, 2) if the type arguments
+      // aren't provided, but required, we'll use it to infer them, and
+      // 3) in case of erroneous code the constructor invocation should
+      // be built via a body builder to detect potential errors.
+      BodyBuilder bodyBuilder = library.loader
+          .createBodyBuilderForOutlineExpression(
+              library, this, this, scope, fileUri);
+      bodyBuilder.constantContext = ConstantContext.inferred;
+
+      if (enumConstantInfo.argumentsBeginToken != null) {
+        arguments =
+            bodyBuilder.parseArguments(enumConstantInfo.argumentsBeginToken!);
+        bodyBuilder.performBacklogComputations(_delayedActionPerformers);
+
+        arguments.positional.insertAll(0, enumSyntheticArguments);
+        arguments.argumentsOriginalOrder?.insertAll(0, enumSyntheticArguments);
+      } else {
+        arguments = new ArgumentsImpl(enumSyntheticArguments);
+      }
+      if (typeArguments != null) {
+        ArgumentsImpl.setNonInferrableArgumentTypes(arguments, typeArguments);
+      } else if (cls.typeParameters.isNotEmpty) {
+        arguments.types.addAll(new List<DartType>.filled(
+            cls.typeParameters.length, const UnknownType()));
+      }
+      setParents(enumSyntheticArguments, arguments);
+      if (constructorBuilder == null ||
+          constructorBuilder is! SourceConstructorBuilder) {
+        if (!fieldBuilder.hasBodyBeenBuilt) {
+          fieldBuilder.buildBody(
+              coreTypes,
+              bodyBuilder.buildUnresolvedError(new NullLiteral(),
+                  fullConstructorNameForErrors, arguments, fileOffset,
+                  kind: UnresolvedKind.Constructor));
+        }
+      } else {
+        Expression initializer = bodyBuilder.buildStaticInvocation(
+            constructorBuilder.constructor, arguments,
+            constness: Constness.explicitConst,
+            charOffset: fieldBuilder.charOffset);
+        ExpressionInferenceResult inferenceResult = bodyBuilder.typeInferrer
+            .inferFieldInitializer(
+                bodyBuilder, const UnknownType(), initializer);
+        initializer = inferenceResult.expression;
+        inferredFieldType = inferenceResult.inferredType;
+        if (!fieldBuilder.hasBodyBeenBuilt) {
+          fieldBuilder.buildBody(coreTypes, initializer);
+        }
+      }
+    } else {
+      arguments = new ArgumentsImpl(enumSyntheticArguments);
+      setParents(enumSyntheticArguments, arguments);
+      if (constructorBuilder == null ||
+          constructorBuilder is! SourceConstructorBuilder ||
+          !constructorBuilder.isConst) {
+        // This can only occur if there enhanced enum features are used
+        // when they are not enabled.
+        assert(libraryBuilder.loader.hasSeenError);
+        String text = libraryBuilder.loader.target.context
+            .format(
+                templateConstructorNotFound
+                    .withArguments(fullConstructorNameForErrors)
+                    .withLocation(fieldBuilder.fileUri, fileOffset, noLength),
+                Severity.error)
+            .plain;
+        if (!fieldBuilder.hasBodyBeenBuilt) {
+          fieldBuilder.buildBody(
+              coreTypes, new InvalidExpression(text)..fileOffset = charOffset);
+        }
+      } else {
+        Expression initializer = new ConstructorInvocation(
+            constructorBuilder.constructor, arguments,
+            isConst: true)
+          ..fileOffset = fieldBuilder.charOffset;
+        if (!fieldBuilder.hasBodyBeenBuilt) {
+          fieldBuilder.buildBody(coreTypes, initializer);
+        }
+      }
+    }
+
+    return inferredFieldType;
+  }
+
   @override
   void buildOutlineExpressions(
       SourceLibraryBuilder libraryBuilder,
@@ -604,123 +760,13 @@
         classHierarchy.coreTypes,
         new ListLiteral(values,
             typeArgument: rawType(library.nonNullable), isConst: true));
-    int index = 0;
-    if (enumConstantInfos != null) {
-      for (EnumConstantInfo? enumConstantInfo in enumConstantInfos!) {
-        if (enumConstantInfo != null) {
-          String constant = enumConstantInfo.name;
-          Builder declaration = firstMemberNamed(constant)!;
-          SourceFieldBuilder field;
-          if (declaration.isField) {
-            field = declaration as SourceFieldBuilder;
-          } else {
-            continue;
-          }
 
-          String constructorName =
-              enumConstantInfo.constructorReferenceBuilder?.suffix ?? "";
-          String fullConstructorNameForErrors =
-              enumConstantInfo.constructorReferenceBuilder?.fullNameForErrors ??
-                  name;
-          int fileOffset =
-              enumConstantInfo.constructorReferenceBuilder?.charOffset ??
-                  enumConstantInfo.charOffset;
-          MemberBuilder? constructorBuilder =
-              constructorScope.lookupLocalMember(constructorName);
-
-          ArgumentsImpl arguments;
-          List<Expression> enumSyntheticArguments = <Expression>[
-            new IntLiteral(index++),
-            new StringLiteral(constant),
-          ];
-          List<DartType>? typeArguments;
-          List<TypeBuilder>? typeArgumentBuilders =
-              enumConstantInfo.constructorReferenceBuilder?.typeArguments;
-          if (typeArgumentBuilders != null) {
-            typeArguments = <DartType>[];
-            for (TypeBuilder typeBuilder in typeArgumentBuilders) {
-              typeArguments.add(typeBuilder.build(library));
-            }
-          }
-          if (libraryBuilder.enableEnhancedEnumsInLibrary) {
-            // We need to create a BodyBuilder to solve the following: 1) if
-            // the arguments token is provided, we'll use the BodyBuilder to
-            // parse them and perform inference, 2) if the type arguments
-            // aren't provided, but required, we'll use it to infer them, and
-            // 3) in case of erroneous code the constructor invocation should
-            // be built via a body builder to detect potential errors.
-            BodyBuilder bodyBuilder = library.loader
-                .createBodyBuilderForOutlineExpression(
-                    library, this, this, scope, fileUri);
-            bodyBuilder.constantContext = ConstantContext.inferred;
-
-            if (enumConstantInfo.argumentsBeginToken != null) {
-              arguments = bodyBuilder
-                  .parseArguments(enumConstantInfo.argumentsBeginToken!);
-              bodyBuilder.performBacklogComputations(delayedActionPerformers);
-
-              arguments.positional.insertAll(0, enumSyntheticArguments);
-              arguments.argumentsOriginalOrder
-                  ?.insertAll(0, enumSyntheticArguments);
-            } else {
-              arguments = new ArgumentsImpl(enumSyntheticArguments);
-            }
-            if (typeArguments != null) {
-              ArgumentsImpl.setNonInferrableArgumentTypes(
-                  arguments, typeArguments);
-            } else if (cls.typeParameters.isNotEmpty) {
-              arguments.types.addAll(new List<DartType>.filled(
-                  cls.typeParameters.length, const UnknownType()));
-            }
-            setParents(enumSyntheticArguments, arguments);
-            if (constructorBuilder == null ||
-                constructorBuilder is! SourceConstructorBuilder) {
-              field.buildBody(
-                  classHierarchy.coreTypes,
-                  bodyBuilder.buildUnresolvedError(new NullLiteral(),
-                      fullConstructorNameForErrors, arguments, fileOffset,
-                      kind: UnresolvedKind.Constructor));
-            } else {
-              Expression initializer = bodyBuilder.buildStaticInvocation(
-                  constructorBuilder.constructor, arguments,
-                  constness: Constness.explicitConst,
-                  charOffset: field.charOffset);
-              ExpressionInferenceResult inferenceResult =
-                  bodyBuilder.typeInferrer.inferFieldInitializer(
-                      bodyBuilder, const UnknownType(), initializer);
-              initializer = inferenceResult.expression;
-              field.fieldType = inferenceResult.inferredType;
-              field.buildBody(classHierarchy.coreTypes, initializer);
-            }
-          } else {
-            arguments = new ArgumentsImpl(enumSyntheticArguments);
-            setParents(enumSyntheticArguments, arguments);
-            if (constructorBuilder == null ||
-                constructorBuilder is! SourceConstructorBuilder ||
-                !constructorBuilder.isConst) {
-              // This can only occur if there enhanced enum features are used
-              // when they are not enabled.
-              assert(libraryBuilder.loader.hasSeenError);
-              String text = libraryBuilder.loader.target.context
-                  .format(
-                      templateConstructorNotFound
-                          .withArguments(fullConstructorNameForErrors)
-                          .withLocation(field.fileUri, fileOffset, noLength),
-                      Severity.error)
-                  .plain;
-              field.buildBody(classHierarchy.coreTypes,
-                  new InvalidExpression(text)..fileOffset = charOffset);
-            } else {
-              Expression initializer = new ConstructorInvocation(
-                  constructorBuilder.constructor, arguments,
-                  isConst: true)
-                ..fileOffset = field.charOffset;
-              field.buildBody(classHierarchy.coreTypes, initializer);
-            }
-          }
-        }
-      }
+    for (SourceFieldBuilder elementBuilder in elementBuilders) {
+      elementBuilder.fieldType = buildElement(
+          libraryBuilder, elementBuilder, classHierarchy.coreTypes);
     }
+    delayedActionPerformers.addAll(_delayedActionPerformers);
+    _delayedActionPerformers.clear();
 
     SourceProcedureBuilder toStringBuilder =
         firstMemberNamed("toString") as SourceProcedureBuilder;
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 88c7198..2db7bc2 100644
--- a/pkg/front_end/lib/src/fasta/source/source_loader.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_loader.dart
@@ -1441,7 +1441,7 @@
     /// Libraries containing precompiled macro classes.
     Set<Uri> precompiledMacroLibraries = {};
 
-    Map<MacroClass, Uri> precompiledMacroUris =
+    Map<Uri, Uri> precompiledMacroUris =
         target.context.options.precompiledMacroUris;
 
     for (LibraryBuilder libraryBuilder in libraryBuilders) {
@@ -1450,8 +1450,7 @@
         Builder builder = iterator.current;
         if (builder is ClassBuilder && builder.isMacro) {
           Uri libraryUri = builder.library.importUri;
-          MacroClass macroClass = new MacroClass(libraryUri, builder.name);
-          if (!precompiledMacroUris.containsKey(macroClass)) {
+          if (!precompiledMacroUris.containsKey(libraryUri)) {
             (macroLibraries[libraryUri] ??= []).add(builder);
             if (retainDataForTesting) {
               (dataForTesting!.macroDeclarationData
@@ -1702,7 +1701,7 @@
     if (libraryData.isNotEmpty) {
       MacroExecutor macroExecutor =
           await target.context.options.macroExecutorProvider();
-      Map<MacroClass, Uri> precompiledMacroUris =
+      Map<Uri, Uri> precompiledMacroUris =
           target.context.options.precompiledMacroUris;
       return await MacroApplications.loadMacroIds(
           macroExecutor,
diff --git a/pkg/front_end/lib/src/kernel_generator_impl.dart b/pkg/front_end/lib/src/kernel_generator_impl.dart
index 2f6adc1..6a02262 100644
--- a/pkg/front_end/lib/src/kernel_generator_impl.dart
+++ b/pkg/front_end/lib/src/kernel_generator_impl.dart
@@ -326,12 +326,9 @@
       await kernelForProgramInternal(uri, precompilationOptions);
   Uri precompiledUri = await options.macroSerializer!
       .createUriForComponent(compilerResult!.component!);
-  Map<MacroClass, Uri> precompiledMacroUris =
-      options.precompiledMacroUris ??= {};
+  Map<Uri, Uri> precompiledMacroUris = options.precompiledMacroUris ??= {};
   neededPrecompilations.macroDeclarations
       .forEach((Uri uri, Map<String, List<String>> macroClasses) {
-    for (String macroClass in macroClasses.keys) {
-      precompiledMacroUris[new MacroClass(uri, macroClass)] = precompiledUri;
-    }
+    precompiledMacroUris[uri] = precompiledUri;
   });
 }
diff --git a/pkg/front_end/test/macros/application/macro_application_test.dart b/pkg/front_end/test/macros/application/macro_application_test.dart
index ce74f2d..731f92d 100644
--- a/pkg/front_end/test/macros/application/macro_application_test.dart
+++ b/pkg/front_end/test/macros/application/macro_application_test.dart
@@ -60,7 +60,7 @@
   final Directory dataDir;
   final MacroSerializer macroSerializer;
   final bool generateExpectations;
-  final Map<MacroClass, Uri> precompiledMacroUris = {};
+  final Map<Uri, Uri> precompiledMacroUris = {};
 
   MacroTestConfig(this.dataDir, this.macroSerializer,
       {required this.generateExpectations})
diff --git a/pkg/front_end/test/macros/declaration/macro_declaration_test.dart b/pkg/front_end/test/macros/declaration/macro_declaration_test.dart
index 01f9653..175c4f3 100644
--- a/pkg/front_end/test/macros/declaration/macro_declaration_test.dart
+++ b/pkg/front_end/test/macros/declaration/macro_declaration_test.dart
@@ -47,7 +47,7 @@
     Uri precompiledPackage =
         Uri.parse('package:precompiled_macro/precompiled_macro.dart');
     options.precompiledMacroUris = {
-      new MacroClass(precompiledPackage, 'PrecompiledMacro'): dummyUri,
+      precompiledPackage: dummyUri,
     };
     return macroExecutor;
   }
diff --git a/pkg/front_end/test/spell_checking_list_common.txt b/pkg/front_end/test/spell_checking_list_common.txt
index e442d51..6928e1f 100644
--- a/pkg/front_end/test/spell_checking_list_common.txt
+++ b/pkg/front_end/test/spell_checking_list_common.txt
@@ -2022,6 +2022,7 @@
 nullable
 num
 number
+numbering
 numbers
 numeric
 object
diff --git a/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart
new file mode 100644
index 0000000..5ab89b1
--- /dev/null
+++ b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart
@@ -0,0 +1,13 @@
+// Copyright (c) 2022, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+enum E<T> {
+  element<int>(),
+  element2<int>();
+
+  static void set element(E<int> val) {} // Ok.
+  static void set element2(E<String> val) {} // Error.
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.strong.expect b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.strong.expect
new file mode 100644
index 0000000..e34c005
--- /dev/null
+++ b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.strong.expect
@@ -0,0 +1,45 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:7:3: Error: The type 'E<int>' of the getter 'E.element2' is not a subtype of the type 'E<String>' of the setter 'E.element2'.
+//  - 'E' is from 'pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart'.
+//   element2<int>();
+//   ^^^^^^^^
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:10:19: Context: This is the declaration of the setter 'E.element2'.
+//   static void set element2(E<String> val) {} // Error.
+//                   ^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class E<T extends core::Object? = dynamic> extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E<dynamic>> values = #C7;
+  static const field self::E<core::int> element = #C3;
+  static const field self::E<core::int> element2 = #C6;
+  const constructor •(core::int index, core::String name) → self::E<self::E::T%>
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E.${this.{core::_Enum::_name}{core::String}}";
+  static set element(self::E<core::int> val) → void {}
+  static set element2(self::E<core::String> val) → void {}
+}
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 0
+  #C2 = "element"
+  #C3 = self::E<core::int> {index:#C1, _name:#C2}
+  #C4 = 1
+  #C5 = "element2"
+  #C6 = self::E<core::int> {index:#C4, _name:#C5}
+  #C7 = <self::E<dynamic>>[#C3, #C6]
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///setter_getter_type_check.dart:
+- E. (from org-dartlang-testcase:///setter_getter_type_check.dart:5:6)
+- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart:103:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
diff --git a/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.strong.transformed.expect b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.strong.transformed.expect
new file mode 100644
index 0000000..e34c005
--- /dev/null
+++ b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.strong.transformed.expect
@@ -0,0 +1,45 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:7:3: Error: The type 'E<int>' of the getter 'E.element2' is not a subtype of the type 'E<String>' of the setter 'E.element2'.
+//  - 'E' is from 'pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart'.
+//   element2<int>();
+//   ^^^^^^^^
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:10:19: Context: This is the declaration of the setter 'E.element2'.
+//   static void set element2(E<String> val) {} // Error.
+//                   ^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class E<T extends core::Object? = dynamic> extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E<dynamic>> values = #C7;
+  static const field self::E<core::int> element = #C3;
+  static const field self::E<core::int> element2 = #C6;
+  const constructor •(core::int index, core::String name) → self::E<self::E::T%>
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E.${this.{core::_Enum::_name}{core::String}}";
+  static set element(self::E<core::int> val) → void {}
+  static set element2(self::E<core::String> val) → void {}
+}
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 0
+  #C2 = "element"
+  #C3 = self::E<core::int> {index:#C1, _name:#C2}
+  #C4 = 1
+  #C5 = "element2"
+  #C6 = self::E<core::int> {index:#C4, _name:#C5}
+  #C7 = <self::E<dynamic>>[#C3, #C6]
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///setter_getter_type_check.dart:
+- E. (from org-dartlang-testcase:///setter_getter_type_check.dart:5:6)
+- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart:103:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
diff --git a/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.textual_outline.expect b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.textual_outline.expect
new file mode 100644
index 0000000..43a8af8
--- /dev/null
+++ b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.textual_outline.expect
@@ -0,0 +1,9 @@
+enum E<T> {
+  element<int>(),
+  element2<int>();
+
+  static void set element(E<int> val) {}
+  static void set element2(E<String> val) {}
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..43a8af8
--- /dev/null
+++ b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.textual_outline_modelled.expect
@@ -0,0 +1,9 @@
+enum E<T> {
+  element<int>(),
+  element2<int>();
+
+  static void set element(E<int> val) {}
+  static void set element2(E<String> val) {}
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.expect b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.expect
new file mode 100644
index 0000000..117fd4f
--- /dev/null
+++ b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.expect
@@ -0,0 +1,45 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:7:3: Error: The type 'E<int>' of the getter 'E.element2' is not a subtype of the type 'E<String>' of the setter 'E.element2'.
+//  - 'E' is from 'pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart'.
+//   element2<int>();
+//   ^^^^^^^^
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:10:19: Context: This is the declaration of the setter 'E.element2'.
+//   static void set element2(E<String> val) {} // Error.
+//                   ^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class E<T extends core::Object? = dynamic> extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E<dynamic>> values = #C7;
+  static const field self::E<core::int> element = #C3;
+  static const field self::E<core::int> element2 = #C6;
+  const constructor •(core::int index, core::String name) → self::E<self::E::T%>
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E.${this.{core::_Enum::_name}{core::String}}";
+  static set element(self::E<core::int> val) → void {}
+  static set element2(self::E<core::String> val) → void {}
+}
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 0
+  #C2 = "element"
+  #C3 = self::E<core::int*> {index:#C1, _name:#C2}
+  #C4 = 1
+  #C5 = "element2"
+  #C6 = self::E<core::int*> {index:#C4, _name:#C5}
+  #C7 = <self::E<dynamic>*>[#C3, #C6]
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///setter_getter_type_check.dart:
+- E. (from org-dartlang-testcase:///setter_getter_type_check.dart:5:6)
+- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart:103:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
diff --git a/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.modular.expect b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.modular.expect
new file mode 100644
index 0000000..117fd4f
--- /dev/null
+++ b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.modular.expect
@@ -0,0 +1,45 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:7:3: Error: The type 'E<int>' of the getter 'E.element2' is not a subtype of the type 'E<String>' of the setter 'E.element2'.
+//  - 'E' is from 'pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart'.
+//   element2<int>();
+//   ^^^^^^^^
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:10:19: Context: This is the declaration of the setter 'E.element2'.
+//   static void set element2(E<String> val) {} // Error.
+//                   ^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class E<T extends core::Object? = dynamic> extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E<dynamic>> values = #C7;
+  static const field self::E<core::int> element = #C3;
+  static const field self::E<core::int> element2 = #C6;
+  const constructor •(core::int index, core::String name) → self::E<self::E::T%>
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E.${this.{core::_Enum::_name}{core::String}}";
+  static set element(self::E<core::int> val) → void {}
+  static set element2(self::E<core::String> val) → void {}
+}
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 0
+  #C2 = "element"
+  #C3 = self::E<core::int*> {index:#C1, _name:#C2}
+  #C4 = 1
+  #C5 = "element2"
+  #C6 = self::E<core::int*> {index:#C4, _name:#C5}
+  #C7 = <self::E<dynamic>*>[#C3, #C6]
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///setter_getter_type_check.dart:
+- E. (from org-dartlang-testcase:///setter_getter_type_check.dart:5:6)
+- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart:103:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
diff --git a/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.outline.expect b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.outline.expect
new file mode 100644
index 0000000..adc5a7d
--- /dev/null
+++ b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.outline.expect
@@ -0,0 +1,38 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:7:3: Error: The type 'E<int>' of the getter 'E.element2' is not a subtype of the type 'E<String>' of the setter 'E.element2'.
+//  - 'E' is from 'pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart'.
+//   element2<int>();
+//   ^^^^^^^^
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:10:19: Context: This is the declaration of the setter 'E.element2'.
+//   static void set element2(E<String> val) {} // Error.
+//                   ^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class E<T extends core::Object? = dynamic> extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E<dynamic>> values = const <self::E<dynamic>>[self::E::element, self::E::element2];
+  static const field self::E<core::int> element = const self::E::•<core::int>(0, "element");
+  static const field self::E<core::int> element2 = const self::E::•<core::int>(1, "element2");
+  const constructor •(core::int index, core::String name) → self::E<self::E::T%>
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E.${this.{core::_Enum::_name}{core::String}}";
+  static set element(self::E<core::int> val) → void
+    ;
+  static set element2(self::E<core::String> val) → void
+    ;
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///setter_getter_type_check.dart:5:6 -> ListConstant(const <E<dynamic>*>[const E<int*>{_Enum.index: 0, _Enum._name: "element"}, const E<int*>{_Enum.index: 1, _Enum._name: "element2"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///setter_getter_type_check.dart:6:3 -> InstanceConstant(const E<int*>{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///setter_getter_type_check.dart:7:3 -> InstanceConstant(const E<int*>{_Enum.index: 1, _Enum._name: "element2"})
+Extra constant evaluation: evaluated: 8, effectively constant: 3
diff --git a/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.transformed.expect b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.transformed.expect
new file mode 100644
index 0000000..117fd4f
--- /dev/null
+++ b/pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart.weak.transformed.expect
@@ -0,0 +1,45 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:7:3: Error: The type 'E<int>' of the getter 'E.element2' is not a subtype of the type 'E<String>' of the setter 'E.element2'.
+//  - 'E' is from 'pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart'.
+//   element2<int>();
+//   ^^^^^^^^
+// pkg/front_end/testcases/enhanced_enums/setter_getter_type_check.dart:10:19: Context: This is the declaration of the setter 'E.element2'.
+//   static void set element2(E<String> val) {} // Error.
+//                   ^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class E<T extends core::Object? = dynamic> extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E<dynamic>> values = #C7;
+  static const field self::E<core::int> element = #C3;
+  static const field self::E<core::int> element2 = #C6;
+  const constructor •(core::int index, core::String name) → self::E<self::E::T%>
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E.${this.{core::_Enum::_name}{core::String}}";
+  static set element(self::E<core::int> val) → void {}
+  static set element2(self::E<core::String> val) → void {}
+}
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 0
+  #C2 = "element"
+  #C3 = self::E<core::int*> {index:#C1, _name:#C2}
+  #C4 = 1
+  #C5 = "element2"
+  #C6 = self::E<core::int*> {index:#C4, _name:#C5}
+  #C7 = <self::E<dynamic>*>[#C3, #C6]
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///setter_getter_type_check.dart:
+- E. (from org-dartlang-testcase:///setter_getter_type_check.dart:5:6)
+- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart:103:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart b/pkg/front_end/testcases/general/constants/circularity.dart
index 642e46f..8d543cb 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart
+++ b/pkg/front_end/testcases/general/constants/circularity.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 const int a = b;
 const int b = a;
 const int c = d;
@@ -9,7 +9,7 @@
 const int e = d - 1;
 
 class Class1 {
-  const Class1({Class1 c = const Class1(c: null)});
+  const Class1({Class1? c = const Class1(c: null)});
 }
 
 const Class1 c1_0 = const Class1();
@@ -17,7 +17,7 @@
 const Class1 c1_2 = const Class1();
 
 class Class2 {
-  final Class2 field;
+  final Class2? field;
   const Class2(int value) : field = value == 0 ? null : const Class2(0);
 }
 
@@ -26,7 +26,7 @@
 const Class2 c2_2 = const Class2(1);
 
 class Class3 {
-  const Class3([Class3 c = c3_1]);
+  const Class3([Class3? c = c3_1]);
 }
 
 const Class3 c3_0 = const Class3();
@@ -34,7 +34,7 @@
 const Class3 c3_2 = const Class3(null);
 
 class Class4 {
-  const Class4({Class4 c = const Class4()});
+  const Class4({Class4? c = const Class4()});
 }
 
 const Class4 c4_0 = const Class4();
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline.expect
index 83f9369..4e1f414 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 const int a = b;
 const int b = a;
 const int c = d;
@@ -6,7 +5,7 @@
 const int e = d - 1;
 
 class Class1 {
-  const Class1({Class1 c = const Class1(c: null)});
+  const Class1({Class1? c = const Class1(c: null)});
 }
 
 const Class1 c1_0 = const Class1();
@@ -14,7 +13,7 @@
 const Class1 c1_2 = const Class1();
 
 class Class2 {
-  final Class2 field;
+  final Class2? field;
   const Class2(int value) : field = value == 0 ? null : const Class2(0);
 }
 
@@ -23,7 +22,7 @@
 const Class2 c2_2 = const Class2(1);
 
 class Class3 {
-  const Class3([Class3 c = c3_1]);
+  const Class3([Class3? c = c3_1]);
 }
 
 const Class3 c3_0 = const Class3();
@@ -31,7 +30,7 @@
 const Class3 c3_2 = const Class3(null);
 
 class Class4 {
-  const Class4({Class4 c = const Class4()});
+  const Class4({Class4? c = const Class4()});
 }
 
 const Class4 c4_0 = const Class4();
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline_modelled.expect
index e30767c..aa895a1c 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline_modelled.expect
@@ -1,19 +1,18 @@
-// @dart = 2.9
 class Class1 {
-  const Class1({Class1 c = const Class1(c: null)});
+  const Class1({Class1? c = const Class1(c: null)});
 }
 
 class Class2 {
   const Class2(int value) : field = value == 0 ? null : const Class2(0);
-  final Class2 field;
+  final Class2? field;
 }
 
 class Class3 {
-  const Class3([Class3 c = c3_1]);
+  const Class3([Class3? c = c3_1]);
 }
 
 class Class4 {
-  const Class4({Class4 c = const Class4()});
+  const Class4({Class4? c = const Class4()});
 }
 
 const Class1 c1_0 = const Class1();
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.weak.expect b/pkg/front_end/testcases/general/constants/circularity.dart.weak.expect
index d9ec24f..f1a8d15 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.weak.expect
@@ -1,16 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/circularity.dart:37:34: Error: Constant evaluation error:
-//   const Class4({Class4 c = const Class4()});
-//                                  ^
-// pkg/front_end/testcases/general/constants/circularity.dart:37:34: Context: Constant expression depends on itself.
-//   const Class4({Class4 c = const Class4()});
-//                                  ^
-// pkg/front_end/testcases/general/constants/circularity.dart:37:24: Context: While analyzing:
-//   const Class4({Class4 c = const Class4()});
-//                        ^
+// pkg/front_end/testcases/general/constants/circularity.dart:37:35: Error: Constant evaluation error:
+//   const Class4({Class4? c = const Class4()});
+//                                   ^
+// pkg/front_end/testcases/general/constants/circularity.dart:37:35: Context: Constant expression depends on itself.
+//   const Class4({Class4? c = const Class4()});
+//                                   ^
+// pkg/front_end/testcases/general/constants/circularity.dart:37:25: Context: While analyzing:
+//   const Class4({Class4? c = const Class4()});
+//                         ^
 //
 // pkg/front_end/testcases/general/constants/circularity.dart:5:15: Error: Constant evaluation error:
 // const int a = b;
@@ -46,82 +46,42 @@
 import "dart:core" as core;
 
 class Class1 extends core::Object /*hasConstConstructor*/  {
-  const constructor •({self::Class1* c = #C1}) → self::Class1*
+  const constructor •({self::Class1? c = #C1}) → self::Class1
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class2 extends core::Object /*hasConstConstructor*/  {
-  final field self::Class2* field;
-  const constructor •(core::int* value) → self::Class2*
-    : self::Class2::field = value =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{self::Class2*} null : #C3, super core::Object::•()
+  final field self::Class2? field;
+  const constructor •(core::int value) → self::Class2
+    : self::Class2::field = value =={core::num::==}{(core::Object) → core::bool} 0 ?{self::Class2?} null : #C3, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class3 extends core::Object /*hasConstConstructor*/  {
-  const constructor •([self::Class3* c = #C4]) → self::Class3*
+  const constructor •([self::Class3? c = #C4]) → self::Class3
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class4 extends core::Object /*hasConstConstructor*/  {
-  const constructor •({self::Class4* c = invalid-expression "Constant expression depends on itself."}) → self::Class4*
+  const constructor •({self::Class4? c = invalid-expression "Constant expression depends on itself."}) → self::Class4
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field core::int* a = invalid-expression "Constant expression depends on itself.";
-static const field core::int* b = invalid-expression "Constant expression depends on itself.";
-static const field core::int* c = invalid-expression "Constant expression depends on itself.";
-static const field core::int* d = invalid-expression "Constant expression depends on itself.";
-static const field core::int* e = invalid-expression "Constant expression depends on itself.";
-static const field self::Class1* c1_0 = #C1;
-static const field self::Class1* c1_1 = #C1;
-static const field self::Class1* c1_2 = #C1;
-static const field self::Class2* c2_0 = #C5;
-static const field self::Class2* c2_1 = #C3;
-static const field self::Class2* c2_2 = #C5;
-static const field self::Class3* c3_0 = #C4;
-static const field self::Class3* c3_1 = #C4;
-static const field self::Class3* c3_2 = #C4;
-static const field self::Class4* c4_0 = invalid-expression "Constant expression depends on itself.";
-static const field self::Class4* c4_1 = #C6;
+static const field core::int a = invalid-expression "Constant expression depends on itself.";
+static const field core::int b = invalid-expression "Constant expression depends on itself.";
+static const field core::int c = invalid-expression "Constant expression depends on itself.";
+static const field core::int d = invalid-expression "Constant expression depends on itself.";
+static const field core::int e = invalid-expression "Constant expression depends on itself.";
+static const field self::Class1 c1_0 = #C1;
+static const field self::Class1 c1_1 = #C1;
+static const field self::Class1 c1_2 = #C1;
+static const field self::Class2 c2_0 = #C5;
+static const field self::Class2 c2_1 = #C3;
+static const field self::Class2 c2_2 = #C5;
+static const field self::Class3 c3_0 = #C4;
+static const field self::Class3 c3_1 = #C4;
+static const field self::Class3 c3_2 = #C4;
+static const field self::Class4 c4_0 = invalid-expression "Constant expression depends on itself.";
+static const field self::Class4 c4_1 = #C6;
 static method main() → dynamic {}
 
 constants  {
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/circularity.dart.weak.modular.expect
index d9ec24f..f1a8d15 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.weak.modular.expect
@@ -1,16 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/circularity.dart:37:34: Error: Constant evaluation error:
-//   const Class4({Class4 c = const Class4()});
-//                                  ^
-// pkg/front_end/testcases/general/constants/circularity.dart:37:34: Context: Constant expression depends on itself.
-//   const Class4({Class4 c = const Class4()});
-//                                  ^
-// pkg/front_end/testcases/general/constants/circularity.dart:37:24: Context: While analyzing:
-//   const Class4({Class4 c = const Class4()});
-//                        ^
+// pkg/front_end/testcases/general/constants/circularity.dart:37:35: Error: Constant evaluation error:
+//   const Class4({Class4? c = const Class4()});
+//                                   ^
+// pkg/front_end/testcases/general/constants/circularity.dart:37:35: Context: Constant expression depends on itself.
+//   const Class4({Class4? c = const Class4()});
+//                                   ^
+// pkg/front_end/testcases/general/constants/circularity.dart:37:25: Context: While analyzing:
+//   const Class4({Class4? c = const Class4()});
+//                         ^
 //
 // pkg/front_end/testcases/general/constants/circularity.dart:5:15: Error: Constant evaluation error:
 // const int a = b;
@@ -46,82 +46,42 @@
 import "dart:core" as core;
 
 class Class1 extends core::Object /*hasConstConstructor*/  {
-  const constructor •({self::Class1* c = #C1}) → self::Class1*
+  const constructor •({self::Class1? c = #C1}) → self::Class1
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class2 extends core::Object /*hasConstConstructor*/  {
-  final field self::Class2* field;
-  const constructor •(core::int* value) → self::Class2*
-    : self::Class2::field = value =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{self::Class2*} null : #C3, super core::Object::•()
+  final field self::Class2? field;
+  const constructor •(core::int value) → self::Class2
+    : self::Class2::field = value =={core::num::==}{(core::Object) → core::bool} 0 ?{self::Class2?} null : #C3, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class3 extends core::Object /*hasConstConstructor*/  {
-  const constructor •([self::Class3* c = #C4]) → self::Class3*
+  const constructor •([self::Class3? c = #C4]) → self::Class3
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class4 extends core::Object /*hasConstConstructor*/  {
-  const constructor •({self::Class4* c = invalid-expression "Constant expression depends on itself."}) → self::Class4*
+  const constructor •({self::Class4? c = invalid-expression "Constant expression depends on itself."}) → self::Class4
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field core::int* a = invalid-expression "Constant expression depends on itself.";
-static const field core::int* b = invalid-expression "Constant expression depends on itself.";
-static const field core::int* c = invalid-expression "Constant expression depends on itself.";
-static const field core::int* d = invalid-expression "Constant expression depends on itself.";
-static const field core::int* e = invalid-expression "Constant expression depends on itself.";
-static const field self::Class1* c1_0 = #C1;
-static const field self::Class1* c1_1 = #C1;
-static const field self::Class1* c1_2 = #C1;
-static const field self::Class2* c2_0 = #C5;
-static const field self::Class2* c2_1 = #C3;
-static const field self::Class2* c2_2 = #C5;
-static const field self::Class3* c3_0 = #C4;
-static const field self::Class3* c3_1 = #C4;
-static const field self::Class3* c3_2 = #C4;
-static const field self::Class4* c4_0 = invalid-expression "Constant expression depends on itself.";
-static const field self::Class4* c4_1 = #C6;
+static const field core::int a = invalid-expression "Constant expression depends on itself.";
+static const field core::int b = invalid-expression "Constant expression depends on itself.";
+static const field core::int c = invalid-expression "Constant expression depends on itself.";
+static const field core::int d = invalid-expression "Constant expression depends on itself.";
+static const field core::int e = invalid-expression "Constant expression depends on itself.";
+static const field self::Class1 c1_0 = #C1;
+static const field self::Class1 c1_1 = #C1;
+static const field self::Class1 c1_2 = #C1;
+static const field self::Class2 c2_0 = #C5;
+static const field self::Class2 c2_1 = #C3;
+static const field self::Class2 c2_2 = #C5;
+static const field self::Class3 c3_0 = #C4;
+static const field self::Class3 c3_1 = #C4;
+static const field self::Class3 c3_2 = #C4;
+static const field self::Class4 c4_0 = invalid-expression "Constant expression depends on itself.";
+static const field self::Class4 c4_1 = #C6;
 static method main() → dynamic {}
 
 constants  {
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/circularity.dart.weak.outline.expect
index 9c83c85..61867c2 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.weak.outline.expect
@@ -1,92 +1,52 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 class Class1 extends core::Object /*hasConstConstructor*/  {
-  const constructor •({self::Class1* c = const self::Class1::•(c: null)}) → self::Class1*
+  const constructor •({self::Class1? c = const self::Class1::•(c: null)}) → self::Class1
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class2 extends core::Object /*hasConstConstructor*/  {
-  final field self::Class2* field;
-  const constructor •(core::int* value) → self::Class2*
-    : self::Class2::field = value =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{self::Class2*} null : const self::Class2::•(0), super core::Object::•()
+  final field self::Class2? field;
+  const constructor •(core::int value) → self::Class2
+    : self::Class2::field = value =={core::num::==}{(core::Object) → core::bool} 0 ?{self::Class2?} null : const self::Class2::•(0), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class3 extends core::Object /*hasConstConstructor*/  {
-  const constructor •([self::Class3* c = self::c3_1]) → self::Class3*
+  const constructor •([self::Class3? c = self::c3_1]) → self::Class3
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class4 extends core::Object /*hasConstConstructor*/  {
-  const constructor •({self::Class4* c = const self::Class4::•()}) → self::Class4*
+  const constructor •({self::Class4? c = const self::Class4::•()}) → self::Class4
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field core::int* a = self::b;
-static const field core::int* b = self::a;
-static const field core::int* c = self::d;
-static const field core::int* d = self::e.{core::num::+}(1){(core::num*) →* core::int*};
-static const field core::int* e = self::d.{core::num::-}(1){(core::num*) →* core::int*};
-static const field self::Class1* c1_0 = const self::Class1::•();
-static const field self::Class1* c1_1 = const self::Class1::•(c: null);
-static const field self::Class1* c1_2 = const self::Class1::•();
-static const field self::Class2* c2_0 = const self::Class2::•(1);
-static const field self::Class2* c2_1 = const self::Class2::•(0);
-static const field self::Class2* c2_2 = const self::Class2::•(1);
-static const field self::Class3* c3_0 = const self::Class3::•();
-static const field self::Class3* c3_1 = const self::Class3::•(self::c3_2);
-static const field self::Class3* c3_2 = const self::Class3::•(null);
-static const field self::Class4* c4_0 = const self::Class4::•();
-static const field self::Class4* c4_1 = const self::Class4::•(c: null);
+static const field core::int a = self::b;
+static const field core::int b = self::a;
+static const field core::int c = self::d;
+static const field core::int d = self::e.{core::num::+}(1){(core::num) → core::int};
+static const field core::int e = self::d.{core::num::-}(1){(core::num) → core::int};
+static const field self::Class1 c1_0 = const self::Class1::•();
+static const field self::Class1 c1_1 = const self::Class1::•(c: null);
+static const field self::Class1 c1_2 = const self::Class1::•();
+static const field self::Class2 c2_0 = const self::Class2::•(1);
+static const field self::Class2 c2_1 = const self::Class2::•(0);
+static const field self::Class2 c2_2 = const self::Class2::•(1);
+static const field self::Class3 c3_0 = const self::Class3::•();
+static const field self::Class3 c3_1 = const self::Class3::•(self::c3_2);
+static const field self::Class3 c3_2 = const self::Class3::•(null);
+static const field self::Class4 c4_0 = const self::Class4::•();
+static const field self::Class4 c4_1 = const self::Class4::•(c: null);
 static method main() → dynamic
   ;
 
 
 Extra constant evaluation status:
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:12:34 -> InstanceConstant(const Class1{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:12:35 -> InstanceConstant(const Class1{})
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:21:63 -> InstanceConstant(const Class2{Class2.field: null})
-Evaluated: StaticGet @ org-dartlang-testcase:///circularity.dart:29:28 -> InstanceConstant(const Class3{})
+Evaluated: StaticGet @ org-dartlang-testcase:///circularity.dart:29:29 -> InstanceConstant(const Class3{})
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:15:27 -> InstanceConstant(const Class1{})
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:16:27 -> InstanceConstant(const Class1{})
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///circularity.dart:17:27 -> InstanceConstant(const Class1{})
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/circularity.dart.weak.transformed.expect
index d9ec24f..f1a8d15 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.weak.transformed.expect
@@ -1,16 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/circularity.dart:37:34: Error: Constant evaluation error:
-//   const Class4({Class4 c = const Class4()});
-//                                  ^
-// pkg/front_end/testcases/general/constants/circularity.dart:37:34: Context: Constant expression depends on itself.
-//   const Class4({Class4 c = const Class4()});
-//                                  ^
-// pkg/front_end/testcases/general/constants/circularity.dart:37:24: Context: While analyzing:
-//   const Class4({Class4 c = const Class4()});
-//                        ^
+// pkg/front_end/testcases/general/constants/circularity.dart:37:35: Error: Constant evaluation error:
+//   const Class4({Class4? c = const Class4()});
+//                                   ^
+// pkg/front_end/testcases/general/constants/circularity.dart:37:35: Context: Constant expression depends on itself.
+//   const Class4({Class4? c = const Class4()});
+//                                   ^
+// pkg/front_end/testcases/general/constants/circularity.dart:37:25: Context: While analyzing:
+//   const Class4({Class4? c = const Class4()});
+//                         ^
 //
 // pkg/front_end/testcases/general/constants/circularity.dart:5:15: Error: Constant evaluation error:
 // const int a = b;
@@ -46,82 +46,42 @@
 import "dart:core" as core;
 
 class Class1 extends core::Object /*hasConstConstructor*/  {
-  const constructor •({self::Class1* c = #C1}) → self::Class1*
+  const constructor •({self::Class1? c = #C1}) → self::Class1
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class2 extends core::Object /*hasConstConstructor*/  {
-  final field self::Class2* field;
-  const constructor •(core::int* value) → self::Class2*
-    : self::Class2::field = value =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{self::Class2*} null : #C3, super core::Object::•()
+  final field self::Class2? field;
+  const constructor •(core::int value) → self::Class2
+    : self::Class2::field = value =={core::num::==}{(core::Object) → core::bool} 0 ?{self::Class2?} null : #C3, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class3 extends core::Object /*hasConstConstructor*/  {
-  const constructor •([self::Class3* c = #C4]) → self::Class3*
+  const constructor •([self::Class3? c = #C4]) → self::Class3
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Class4 extends core::Object /*hasConstConstructor*/  {
-  const constructor •({self::Class4* c = invalid-expression "Constant expression depends on itself."}) → self::Class4*
+  const constructor •({self::Class4? c = invalid-expression "Constant expression depends on itself."}) → self::Class4
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field core::int* a = invalid-expression "Constant expression depends on itself.";
-static const field core::int* b = invalid-expression "Constant expression depends on itself.";
-static const field core::int* c = invalid-expression "Constant expression depends on itself.";
-static const field core::int* d = invalid-expression "Constant expression depends on itself.";
-static const field core::int* e = invalid-expression "Constant expression depends on itself.";
-static const field self::Class1* c1_0 = #C1;
-static const field self::Class1* c1_1 = #C1;
-static const field self::Class1* c1_2 = #C1;
-static const field self::Class2* c2_0 = #C5;
-static const field self::Class2* c2_1 = #C3;
-static const field self::Class2* c2_2 = #C5;
-static const field self::Class3* c3_0 = #C4;
-static const field self::Class3* c3_1 = #C4;
-static const field self::Class3* c3_2 = #C4;
-static const field self::Class4* c4_0 = invalid-expression "Constant expression depends on itself.";
-static const field self::Class4* c4_1 = #C6;
+static const field core::int a = invalid-expression "Constant expression depends on itself.";
+static const field core::int b = invalid-expression "Constant expression depends on itself.";
+static const field core::int c = invalid-expression "Constant expression depends on itself.";
+static const field core::int d = invalid-expression "Constant expression depends on itself.";
+static const field core::int e = invalid-expression "Constant expression depends on itself.";
+static const field self::Class1 c1_0 = #C1;
+static const field self::Class1 c1_1 = #C1;
+static const field self::Class1 c1_2 = #C1;
+static const field self::Class2 c2_0 = #C5;
+static const field self::Class2 c2_1 = #C3;
+static const field self::Class2 c2_2 = #C5;
+static const field self::Class3 c3_0 = #C4;
+static const field self::Class3 c3_1 = #C4;
+static const field self::Class3 c3_2 = #C4;
+static const field self::Class4 c4_0 = invalid-expression "Constant expression depends on itself.";
+static const field self::Class4 c4_1 = #C6;
 static method main() → dynamic {}
 
 constants  {
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart b/pkg/front_end/testcases/general/constants/const_asserts.dart
index 90a4166..6df56ea 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart
@@ -1,7 +1,9 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
+
 // @dart=2.9
+
 class Foo {
   final int x;
   const Foo(this.x)
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 a0f8836..3dc34e4 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
@@ -2,122 +2,122 @@
 //
 // Problems in library:
 //
-// 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'.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:19:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
 //   const Foo.withInvalidCondition(this.x) : assert(x);
 //                                                   ^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:19:21: Error: Constant expression expected.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:21:21: Error: Constant expression expected.
 // Try inserting 'const'.
 //       : assert(bool.fromEnvironment("foo", defaultValue: null));
 //                     ^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:32:24: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:34:24: Error: Constant evaluation error:
 // const Foo foo2 = const Foo(0);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:8:18: Context: This assertion failed with message: x is not positive
+// pkg/front_end/testcases/general/constants/const_asserts.dart:10:18: Context: This assertion failed with message: x is not positive
 //       : assert(x > 0, "x is not positive"),
 //                  ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:32:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:34:11: Context: While analyzing:
 // const Foo foo2 = const Foo(0);
 //           ^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:33:24: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:35:24: Error: Constant evaluation error:
 // const Foo foo3 = const Foo.withMessage(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:15:18: Context: This assertion failed with message: btw foo was false
+// pkg/front_end/testcases/general/constants/const_asserts.dart:17:18: Context: This assertion failed with message: btw foo was false
 //       : assert(x < 0, "btw foo was ${const bool.fromEnvironment("foo")}");
 //                  ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:33:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:35:11: Context: While analyzing:
 // const Foo foo3 = const Foo.withMessage(42);
 //           ^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:34:24: Error: Constant evaluation error:
-// const Foo foo4 = const Foo.withInvalidMessage(42);
-//                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:16:56: Context: This assertion failed with a non-String message.
-//   const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
-//                                                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:34:11: Context: While analyzing:
-// const Foo foo4 = const Foo.withInvalidMessage(42);
-//           ^
-//
 // pkg/front_end/testcases/general/constants/const_asserts.dart:36:24: Error: Constant evaluation error:
-// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
+// const Foo foo4 = const Foo.withInvalidMessage(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:19:21: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
-//       : assert(bool.fromEnvironment("foo", defaultValue: null));
-//                     ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:18:56: Context: This assertion failed with a non-String message.
+//   const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
+//                                                        ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:36:11: Context: While analyzing:
-// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
-//           ^
-//
-// pkg/front_end/testcases/general/constants/const_asserts.dart:37:24: Error: Constant evaluation error:
-// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
-//                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:21:22: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
-//       : assert(const bool.fromEnvironment("foo", defaultValue: null));
-//                      ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:37:11: Context: While analyzing:
-// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
+// const Foo foo4 = const Foo.withInvalidMessage(42);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:38:24: Error: Constant evaluation error:
-// const Bar bar1 = const Bar.withMessage(1);
+// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:26:44: Context: This assertion failed with message: x is not negative
-//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
-//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:21:21: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+//       : assert(bool.fromEnvironment("foo", defaultValue: null));
+//                     ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:38:11: Context: While analyzing:
-// const Bar bar1 = const Bar.withMessage(1);
+// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:39:24: Error: Constant evaluation error:
-// const Bar bar2 = const Bar.withMessage(0);
+// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:26:44: Context: This assertion failed with message: x is not negative
-//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
-//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:23:22: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+//       : assert(const bool.fromEnvironment("foo", defaultValue: null));
+//                      ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:39:11: Context: While analyzing:
-// const Bar bar2 = const Bar.withMessage(0);
+// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:40:24: Error: Constant evaluation error:
-// const Bar bar3 = const Bar.withoutMessage(1);
+// const Bar bar1 = const Bar.withMessage(1);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:27:47: Context: This assertion failed.
-//   const Bar.withoutMessage(this.x) : assert(x < 0);
-//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:28:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:40:11: Context: While analyzing:
-// const Bar bar3 = const Bar.withoutMessage(1);
+// const Bar bar1 = const Bar.withMessage(1);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:41:24: Error: Constant evaluation error:
-// const Bar bar4 = const Bar.withoutMessage(0);
+// const Bar bar2 = const Bar.withMessage(0);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:27:47: Context: This assertion failed.
-//   const Bar.withoutMessage(this.x) : assert(x < 0);
-//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:28:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:41:11: Context: While analyzing:
-// const Bar bar4 = const Bar.withoutMessage(0);
+// const Bar bar2 = const Bar.withMessage(0);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:42:24: Error: Constant evaluation error:
-// const Bar bar5 = const Bar.withEmptyMessage(1);
+// const Bar bar3 = const Bar.withoutMessage(1);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:28:49: Context: This assertion failed.
-//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
-//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:29:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:42:11: Context: While analyzing:
-// const Bar bar5 = const Bar.withEmptyMessage(1);
+// const Bar bar3 = const Bar.withoutMessage(1);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:43:24: Error: Constant evaluation error:
-// const Bar bar6 = const Bar.withEmptyMessage(0);
+// const Bar bar4 = const Bar.withoutMessage(0);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:28:49: Context: This assertion failed.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:29:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:43:11: Context: While analyzing:
+// const Bar bar4 = const Bar.withoutMessage(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts.dart:44:24: Error: Constant evaluation error:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:30:49: Context: This assertion failed.
 //   const Bar.withEmptyMessage(this.x) : assert(x < 0);
 //                                                 ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:43:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:44:11: Context: While analyzing:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts.dart:45:24: Error: Constant evaluation error:
+// const Bar bar6 = const Bar.withEmptyMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:30:49: Context: This assertion failed.
+//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
+//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:45:11: Context: While analyzing:
 // const Bar bar6 = const Bar.withEmptyMessage(0);
 //           ^
 //
@@ -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(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:19: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::•()
     ;
@@ -183,7 +183,7 @@
 static const field self::Foo* foo2 = invalid-expression "This assertion failed with message: x is not positive";
 static const field self::Foo* foo3 = invalid-expression "This assertion failed with message: btw foo was false";
 static const field self::Foo* foo4 = invalid-expression "This assertion failed with a non-String message.";
-static const field self::Foo* foo5 = 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'.
+static const field self::Foo* foo5 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:19:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   const Foo.withInvalidCondition(this.x) : assert(x);
                                                   ^";
 static const field self::Foo* foo6 = invalid-expression "Expected constant 'null' to be of type 'bool', but was of type 'Null'.";
@@ -208,13 +208,13 @@
 
 Constructor coverage from constants:
 org-dartlang-testcase:///const_asserts.dart:
-- Foo. (from org-dartlang-testcase:///const_asserts.dart:7:9)
+- Foo. (from org-dartlang-testcase:///const_asserts.dart:9:9)
 - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- Foo.withMessage (from org-dartlang-testcase:///const_asserts.dart:14:9)
-- Foo.withInvalidMessage (from org-dartlang-testcase:///const_asserts.dart:16:9)
-- Foo.withInvalidCondition (from org-dartlang-testcase:///const_asserts.dart:17:9)
-- Foo.withNullConditionFromEnv1 (from org-dartlang-testcase:///const_asserts.dart:18:9)
-- Foo.withNullConditionFromEnv2 (from org-dartlang-testcase:///const_asserts.dart:20:9)
-- Bar.withMessage (from org-dartlang-testcase:///const_asserts.dart:26:9)
-- Bar.withoutMessage (from org-dartlang-testcase:///const_asserts.dart:27:9)
-- Bar.withEmptyMessage (from org-dartlang-testcase:///const_asserts.dart:28:9)
+- Foo.withMessage (from org-dartlang-testcase:///const_asserts.dart:16:9)
+- Foo.withInvalidMessage (from org-dartlang-testcase:///const_asserts.dart:18:9)
+- Foo.withInvalidCondition (from org-dartlang-testcase:///const_asserts.dart:19:9)
+- Foo.withNullConditionFromEnv1 (from org-dartlang-testcase:///const_asserts.dart:20:9)
+- Foo.withNullConditionFromEnv2 (from org-dartlang-testcase:///const_asserts.dart:22:9)
+- Bar.withMessage (from org-dartlang-testcase:///const_asserts.dart:28:9)
+- Bar.withoutMessage (from org-dartlang-testcase:///const_asserts.dart:29:9)
+- Bar.withEmptyMessage (from org-dartlang-testcase:///const_asserts.dart:30:9)
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.modular.expect
index a0f8836..3dc34e4 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.modular.expect
@@ -2,122 +2,122 @@
 //
 // Problems in library:
 //
-// 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'.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:19:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
 //   const Foo.withInvalidCondition(this.x) : assert(x);
 //                                                   ^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:19:21: Error: Constant expression expected.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:21:21: Error: Constant expression expected.
 // Try inserting 'const'.
 //       : assert(bool.fromEnvironment("foo", defaultValue: null));
 //                     ^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:32:24: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:34:24: Error: Constant evaluation error:
 // const Foo foo2 = const Foo(0);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:8:18: Context: This assertion failed with message: x is not positive
+// pkg/front_end/testcases/general/constants/const_asserts.dart:10:18: Context: This assertion failed with message: x is not positive
 //       : assert(x > 0, "x is not positive"),
 //                  ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:32:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:34:11: Context: While analyzing:
 // const Foo foo2 = const Foo(0);
 //           ^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:33:24: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:35:24: Error: Constant evaluation error:
 // const Foo foo3 = const Foo.withMessage(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:15:18: Context: This assertion failed with message: btw foo was false
+// pkg/front_end/testcases/general/constants/const_asserts.dart:17:18: Context: This assertion failed with message: btw foo was false
 //       : assert(x < 0, "btw foo was ${const bool.fromEnvironment("foo")}");
 //                  ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:33:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:35:11: Context: While analyzing:
 // const Foo foo3 = const Foo.withMessage(42);
 //           ^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:34:24: Error: Constant evaluation error:
-// const Foo foo4 = const Foo.withInvalidMessage(42);
-//                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:16:56: Context: This assertion failed with a non-String message.
-//   const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
-//                                                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:34:11: Context: While analyzing:
-// const Foo foo4 = const Foo.withInvalidMessage(42);
-//           ^
-//
 // pkg/front_end/testcases/general/constants/const_asserts.dart:36:24: Error: Constant evaluation error:
-// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
+// const Foo foo4 = const Foo.withInvalidMessage(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:19:21: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
-//       : assert(bool.fromEnvironment("foo", defaultValue: null));
-//                     ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:18:56: Context: This assertion failed with a non-String message.
+//   const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
+//                                                        ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:36:11: Context: While analyzing:
-// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
-//           ^
-//
-// pkg/front_end/testcases/general/constants/const_asserts.dart:37:24: Error: Constant evaluation error:
-// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
-//                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:21:22: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
-//       : assert(const bool.fromEnvironment("foo", defaultValue: null));
-//                      ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:37:11: Context: While analyzing:
-// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
+// const Foo foo4 = const Foo.withInvalidMessage(42);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:38:24: Error: Constant evaluation error:
-// const Bar bar1 = const Bar.withMessage(1);
+// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:26:44: Context: This assertion failed with message: x is not negative
-//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
-//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:21:21: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+//       : assert(bool.fromEnvironment("foo", defaultValue: null));
+//                     ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:38:11: Context: While analyzing:
-// const Bar bar1 = const Bar.withMessage(1);
+// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:39:24: Error: Constant evaluation error:
-// const Bar bar2 = const Bar.withMessage(0);
+// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:26:44: Context: This assertion failed with message: x is not negative
-//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
-//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:23:22: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+//       : assert(const bool.fromEnvironment("foo", defaultValue: null));
+//                      ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:39:11: Context: While analyzing:
-// const Bar bar2 = const Bar.withMessage(0);
+// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:40:24: Error: Constant evaluation error:
-// const Bar bar3 = const Bar.withoutMessage(1);
+// const Bar bar1 = const Bar.withMessage(1);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:27:47: Context: This assertion failed.
-//   const Bar.withoutMessage(this.x) : assert(x < 0);
-//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:28:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:40:11: Context: While analyzing:
-// const Bar bar3 = const Bar.withoutMessage(1);
+// const Bar bar1 = const Bar.withMessage(1);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:41:24: Error: Constant evaluation error:
-// const Bar bar4 = const Bar.withoutMessage(0);
+// const Bar bar2 = const Bar.withMessage(0);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:27:47: Context: This assertion failed.
-//   const Bar.withoutMessage(this.x) : assert(x < 0);
-//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:28:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:41:11: Context: While analyzing:
-// const Bar bar4 = const Bar.withoutMessage(0);
+// const Bar bar2 = const Bar.withMessage(0);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:42:24: Error: Constant evaluation error:
-// const Bar bar5 = const Bar.withEmptyMessage(1);
+// const Bar bar3 = const Bar.withoutMessage(1);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:28:49: Context: This assertion failed.
-//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
-//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:29:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:42:11: Context: While analyzing:
-// const Bar bar5 = const Bar.withEmptyMessage(1);
+// const Bar bar3 = const Bar.withoutMessage(1);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:43:24: Error: Constant evaluation error:
-// const Bar bar6 = const Bar.withEmptyMessage(0);
+// const Bar bar4 = const Bar.withoutMessage(0);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:28:49: Context: This assertion failed.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:29:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:43:11: Context: While analyzing:
+// const Bar bar4 = const Bar.withoutMessage(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts.dart:44:24: Error: Constant evaluation error:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:30:49: Context: This assertion failed.
 //   const Bar.withEmptyMessage(this.x) : assert(x < 0);
 //                                                 ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:43:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:44:11: Context: While analyzing:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts.dart:45:24: Error: Constant evaluation error:
+// const Bar bar6 = const Bar.withEmptyMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:30:49: Context: This assertion failed.
+//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
+//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:45:11: Context: While analyzing:
 // const Bar bar6 = const Bar.withEmptyMessage(0);
 //           ^
 //
@@ -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(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:19: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::•()
     ;
@@ -183,7 +183,7 @@
 static const field self::Foo* foo2 = invalid-expression "This assertion failed with message: x is not positive";
 static const field self::Foo* foo3 = invalid-expression "This assertion failed with message: btw foo was false";
 static const field self::Foo* foo4 = invalid-expression "This assertion failed with a non-String message.";
-static const field self::Foo* foo5 = 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'.
+static const field self::Foo* foo5 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:19:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   const Foo.withInvalidCondition(this.x) : assert(x);
                                                   ^";
 static const field self::Foo* foo6 = invalid-expression "Expected constant 'null' to be of type 'bool', but was of type 'Null'.";
@@ -208,13 +208,13 @@
 
 Constructor coverage from constants:
 org-dartlang-testcase:///const_asserts.dart:
-- Foo. (from org-dartlang-testcase:///const_asserts.dart:7:9)
+- Foo. (from org-dartlang-testcase:///const_asserts.dart:9:9)
 - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- Foo.withMessage (from org-dartlang-testcase:///const_asserts.dart:14:9)
-- Foo.withInvalidMessage (from org-dartlang-testcase:///const_asserts.dart:16:9)
-- Foo.withInvalidCondition (from org-dartlang-testcase:///const_asserts.dart:17:9)
-- Foo.withNullConditionFromEnv1 (from org-dartlang-testcase:///const_asserts.dart:18:9)
-- Foo.withNullConditionFromEnv2 (from org-dartlang-testcase:///const_asserts.dart:20:9)
-- Bar.withMessage (from org-dartlang-testcase:///const_asserts.dart:26:9)
-- Bar.withoutMessage (from org-dartlang-testcase:///const_asserts.dart:27:9)
-- Bar.withEmptyMessage (from org-dartlang-testcase:///const_asserts.dart:28:9)
+- Foo.withMessage (from org-dartlang-testcase:///const_asserts.dart:16:9)
+- Foo.withInvalidMessage (from org-dartlang-testcase:///const_asserts.dart:18:9)
+- Foo.withInvalidCondition (from org-dartlang-testcase:///const_asserts.dart:19:9)
+- Foo.withNullConditionFromEnv1 (from org-dartlang-testcase:///const_asserts.dart:20:9)
+- Foo.withNullConditionFromEnv2 (from org-dartlang-testcase:///const_asserts.dart:22:9)
+- Bar.withMessage (from org-dartlang-testcase:///const_asserts.dart:28:9)
+- Bar.withoutMessage (from org-dartlang-testcase:///const_asserts.dart:29:9)
+- Bar.withEmptyMessage (from org-dartlang-testcase:///const_asserts.dart:30:9)
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 d767009..590086f 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
@@ -2,11 +2,11 @@
 //
 // Problems in library:
 //
-// 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'.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:19:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
 //   const Foo.withInvalidCondition(this.x) : assert(x);
 //                                                   ^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:19:21: Error: Constant expression expected.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:21:21: Error: Constant expression expected.
 // Try inserting 'const'.
 //       : assert(bool.fromEnvironment("foo", defaultValue: null));
 //                     ^^^^^^^^^^^^^^^
@@ -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(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:19: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::•()
     ;
@@ -87,11 +87,11 @@
 
 
 Extra constant evaluation status:
-Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts.dart:11:50 -> BoolConstant(true)
-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")
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///const_asserts.dart:19:21 -> NullConstant(null)
-Evaluated: FactoryConstructorInvocation @ 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})
+Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:14:59 -> StringConstant("foo was false")
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts.dart:15:50 -> BoolConstant(true)
+Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:17:73 -> StringConstant("btw foo was false")
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///const_asserts.dart:21:21 -> NullConstant(null)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///const_asserts.dart:23:22 -> NullConstant(null)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_asserts.dart:33:24 -> InstanceConstant(const Foo{Foo.x: 1})
 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 c635add..53ea857 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
@@ -2,122 +2,122 @@
 //
 // Problems in library:
 //
-// 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'.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:19:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
 //   const Foo.withInvalidCondition(this.x) : assert(x);
 //                                                   ^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:19:21: Error: Constant expression expected.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:21:21: Error: Constant expression expected.
 // Try inserting 'const'.
 //       : assert(bool.fromEnvironment("foo", defaultValue: null));
 //                     ^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:32:24: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:34:24: Error: Constant evaluation error:
 // const Foo foo2 = const Foo(0);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:8:18: Context: This assertion failed with message: x is not positive
+// pkg/front_end/testcases/general/constants/const_asserts.dart:10:18: Context: This assertion failed with message: x is not positive
 //       : assert(x > 0, "x is not positive"),
 //                  ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:32:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:34:11: Context: While analyzing:
 // const Foo foo2 = const Foo(0);
 //           ^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:33:24: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:35:24: Error: Constant evaluation error:
 // const Foo foo3 = const Foo.withMessage(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:15:18: Context: This assertion failed with message: btw foo was false
+// pkg/front_end/testcases/general/constants/const_asserts.dart:17:18: Context: This assertion failed with message: btw foo was false
 //       : assert(x < 0, "btw foo was ${const bool.fromEnvironment("foo")}");
 //                  ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:33:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:35:11: Context: While analyzing:
 // const Foo foo3 = const Foo.withMessage(42);
 //           ^
 //
-// pkg/front_end/testcases/general/constants/const_asserts.dart:34:24: Error: Constant evaluation error:
-// const Foo foo4 = const Foo.withInvalidMessage(42);
-//                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:16:56: Context: This assertion failed with a non-String message.
-//   const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
-//                                                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:34:11: Context: While analyzing:
-// const Foo foo4 = const Foo.withInvalidMessage(42);
-//           ^
-//
 // pkg/front_end/testcases/general/constants/const_asserts.dart:36:24: Error: Constant evaluation error:
-// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
+// const Foo foo4 = const Foo.withInvalidMessage(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:19:21: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
-//       : assert(bool.fromEnvironment("foo", defaultValue: null));
-//                     ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:18:56: Context: This assertion failed with a non-String message.
+//   const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
+//                                                        ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:36:11: Context: While analyzing:
-// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
-//           ^
-//
-// pkg/front_end/testcases/general/constants/const_asserts.dart:37:24: Error: Constant evaluation error:
-// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
-//                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:21:22: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
-//       : assert(const bool.fromEnvironment("foo", defaultValue: null));
-//                      ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:37:11: Context: While analyzing:
-// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
+// const Foo foo4 = const Foo.withInvalidMessage(42);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:38:24: Error: Constant evaluation error:
-// const Bar bar1 = const Bar.withMessage(1);
+// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:26:44: Context: This assertion failed with message: x is not negative
-//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
-//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:21:21: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+//       : assert(bool.fromEnvironment("foo", defaultValue: null));
+//                     ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:38:11: Context: While analyzing:
-// const Bar bar1 = const Bar.withMessage(1);
+// const Foo foo6 = const Foo.withNullConditionFromEnv1(42);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:39:24: Error: Constant evaluation error:
-// const Bar bar2 = const Bar.withMessage(0);
+// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:26:44: Context: This assertion failed with message: x is not negative
-//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
-//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:23:22: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+//       : assert(const bool.fromEnvironment("foo", defaultValue: null));
+//                      ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:39:11: Context: While analyzing:
-// const Bar bar2 = const Bar.withMessage(0);
+// const Foo foo7 = const Foo.withNullConditionFromEnv2(42);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:40:24: Error: Constant evaluation error:
-// const Bar bar3 = const Bar.withoutMessage(1);
+// const Bar bar1 = const Bar.withMessage(1);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:27:47: Context: This assertion failed.
-//   const Bar.withoutMessage(this.x) : assert(x < 0);
-//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:28:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:40:11: Context: While analyzing:
-// const Bar bar3 = const Bar.withoutMessage(1);
+// const Bar bar1 = const Bar.withMessage(1);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:41:24: Error: Constant evaluation error:
-// const Bar bar4 = const Bar.withoutMessage(0);
+// const Bar bar2 = const Bar.withMessage(0);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:27:47: Context: This assertion failed.
-//   const Bar.withoutMessage(this.x) : assert(x < 0);
-//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:28:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:41:11: Context: While analyzing:
-// const Bar bar4 = const Bar.withoutMessage(0);
+// const Bar bar2 = const Bar.withMessage(0);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:42:24: Error: Constant evaluation error:
-// const Bar bar5 = const Bar.withEmptyMessage(1);
+// const Bar bar3 = const Bar.withoutMessage(1);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:28:49: Context: This assertion failed.
-//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
-//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:29:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
 // pkg/front_end/testcases/general/constants/const_asserts.dart:42:11: Context: While analyzing:
-// const Bar bar5 = const Bar.withEmptyMessage(1);
+// const Bar bar3 = const Bar.withoutMessage(1);
 //           ^
 //
 // pkg/front_end/testcases/general/constants/const_asserts.dart:43:24: Error: Constant evaluation error:
-// const Bar bar6 = const Bar.withEmptyMessage(0);
+// const Bar bar4 = const Bar.withoutMessage(0);
 //                        ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:28:49: Context: This assertion failed.
+// pkg/front_end/testcases/general/constants/const_asserts.dart:29:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:43:11: Context: While analyzing:
+// const Bar bar4 = const Bar.withoutMessage(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts.dart:44:24: Error: Constant evaluation error:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:30:49: Context: This assertion failed.
 //   const Bar.withEmptyMessage(this.x) : assert(x < 0);
 //                                                 ^
-// pkg/front_end/testcases/general/constants/const_asserts.dart:43:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/const_asserts.dart:44:11: Context: While analyzing:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts.dart:45:24: Error: Constant evaluation error:
+// const Bar bar6 = const Bar.withEmptyMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:30:49: Context: This assertion failed.
+//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
+//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts.dart:45:11: Context: While analyzing:
 // const Bar bar6 = const Bar.withEmptyMessage(0);
 //           ^
 //
@@ -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(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:19: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::•()
     ;
@@ -183,7 +183,7 @@
 static const field self::Foo* foo2 = invalid-expression "This assertion failed with message: x is not positive";
 static const field self::Foo* foo3 = invalid-expression "This assertion failed with message: btw foo was false";
 static const field self::Foo* foo4 = invalid-expression "This assertion failed with a non-String message.";
-static const field self::Foo* foo5 = 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'.
+static const field self::Foo* foo5 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:19:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   const Foo.withInvalidCondition(this.x) : assert(x);
                                                   ^";
 static const field self::Foo* foo6 = invalid-expression "Expected constant 'null' to be of type 'bool', but was of type 'Null'.";
@@ -206,22 +206,22 @@
 }
 
 Extra constant evaluation status:
-Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts.dart:11:50 -> BoolConstant(true)
-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")
+Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:14:59 -> StringConstant("foo was false")
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts.dart:15:50 -> BoolConstant(true)
+Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:17:73 -> StringConstant("btw foo was false")
 Extra constant evaluation: evaluated: 31, effectively constant: 4
 
 
 Constructor coverage from constants:
 org-dartlang-testcase:///const_asserts.dart:
-- Foo. (from org-dartlang-testcase:///const_asserts.dart:7:9)
+- Foo. (from org-dartlang-testcase:///const_asserts.dart:9:9)
 - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- Foo.withMessage (from org-dartlang-testcase:///const_asserts.dart:14:9)
-- Foo.withInvalidMessage (from org-dartlang-testcase:///const_asserts.dart:16:9)
-- Foo.withInvalidCondition (from org-dartlang-testcase:///const_asserts.dart:17:9)
-- Foo.withNullConditionFromEnv1 (from org-dartlang-testcase:///const_asserts.dart:18:9)
-- Foo.withNullConditionFromEnv2 (from org-dartlang-testcase:///const_asserts.dart:20:9)
-- Bar.withMessage (from org-dartlang-testcase:///const_asserts.dart:26:9)
-- Bar.withoutMessage (from org-dartlang-testcase:///const_asserts.dart:27:9)
-- Bar.withEmptyMessage (from org-dartlang-testcase:///const_asserts.dart:28:9)
+- Foo.withMessage (from org-dartlang-testcase:///const_asserts.dart:16:9)
+- Foo.withInvalidMessage (from org-dartlang-testcase:///const_asserts.dart:18:9)
+- Foo.withInvalidCondition (from org-dartlang-testcase:///const_asserts.dart:19:9)
+- Foo.withNullConditionFromEnv1 (from org-dartlang-testcase:///const_asserts.dart:20:9)
+- Foo.withNullConditionFromEnv2 (from org-dartlang-testcase:///const_asserts.dart:22:9)
+- Bar.withMessage (from org-dartlang-testcase:///const_asserts.dart:28:9)
+- Bar.withoutMessage (from org-dartlang-testcase:///const_asserts.dart:29:9)
+- Bar.withEmptyMessage (from org-dartlang-testcase:///const_asserts.dart:30:9)
diff --git a/pkg/front_end/testcases/general/constants/const_asserts2.dart b/pkg/front_end/testcases/general/constants/const_asserts2.dart
new file mode 100644
index 0000000..ea23d1d
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/const_asserts2.dart
@@ -0,0 +1,41 @@
+// 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.
+
+class Foo {
+  final int x;
+  const Foo(this.x)
+      : assert(x > 0, "x is not positive"),
+        assert(x > 0),
+        assert(x > 0, ""),
+        assert(const bool.fromEnvironment("foo") == false,
+            "foo was ${const bool.fromEnvironment("foo")}"),
+        assert(const bool.fromEnvironment("foo") == false);
+  const Foo.withMessage(this.x)
+      : assert(x < 0, "btw foo was ${const bool.fromEnvironment("foo")}");
+  const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
+  const Foo.withInvalidCondition(this.x) : assert(x);
+}
+
+class Bar {
+  final int x;
+  const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+  const Bar.withoutMessage(this.x) : assert(x < 0);
+  const Bar.withEmptyMessage(this.x) : assert(x < 0);
+}
+
+const Foo foo1 = const Foo(1);
+const Foo foo2 = const Foo(0);
+const Foo foo3 = const Foo.withMessage(42);
+const Foo foo4 = const Foo.withInvalidMessage(42);
+const Foo foo5 = const Foo.withInvalidCondition(42);
+const Bar bar1 = const Bar.withMessage(1);
+const Bar bar2 = const Bar.withMessage(0);
+const Bar bar3 = const Bar.withoutMessage(1);
+const Bar bar4 = const Bar.withoutMessage(0);
+const Bar bar5 = const Bar.withEmptyMessage(1);
+const Bar bar6 = const Bar.withEmptyMessage(0);
+
+main() {
+  print(foo1);
+}
diff --git a/pkg/front_end/testcases/general/constants/const_asserts2.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/const_asserts2.dart.textual_outline.expect
new file mode 100644
index 0000000..37904ec
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/const_asserts2.dart.textual_outline.expect
@@ -0,0 +1,34 @@
+class Foo {
+  final int x;
+  const Foo(this.x)
+      : assert(x > 0, "x is not positive"),
+        assert(x > 0),
+        assert(x > 0, ""),
+        assert(const bool.fromEnvironment("foo") == false,
+            "foo was ${const bool.fromEnvironment("foo")}"),
+        assert(const bool.fromEnvironment("foo") == false);
+  const Foo.withMessage(this.x)
+      : assert(x < 0, "btw foo was ${const bool.fromEnvironment("foo")}");
+  const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
+  const Foo.withInvalidCondition(this.x) : assert(x);
+}
+
+class Bar {
+  final int x;
+  const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+  const Bar.withoutMessage(this.x) : assert(x < 0);
+  const Bar.withEmptyMessage(this.x) : assert(x < 0);
+}
+
+const Foo foo1 = const Foo(1);
+const Foo foo2 = const Foo(0);
+const Foo foo3 = const Foo.withMessage(42);
+const Foo foo4 = const Foo.withInvalidMessage(42);
+const Foo foo5 = const Foo.withInvalidCondition(42);
+const Bar bar1 = const Bar.withMessage(1);
+const Bar bar2 = const Bar.withMessage(0);
+const Bar bar3 = const Bar.withoutMessage(1);
+const Bar bar4 = const Bar.withoutMessage(0);
+const Bar bar5 = const Bar.withEmptyMessage(1);
+const Bar bar6 = const Bar.withEmptyMessage(0);
+main() {}
diff --git a/pkg/front_end/testcases/general/constants/const_asserts2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/const_asserts2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..b8428ab
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/const_asserts2.dart.textual_outline_modelled.expect
@@ -0,0 +1,34 @@
+class Bar {
+  const Bar.withEmptyMessage(this.x) : assert(x < 0);
+  const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+  const Bar.withoutMessage(this.x) : assert(x < 0);
+  final int x;
+}
+
+class Foo {
+  const Foo(this.x)
+      : assert(x > 0, "x is not positive"),
+        assert(x > 0),
+        assert(x > 0, ""),
+        assert(const bool.fromEnvironment("foo") == false,
+            "foo was ${const bool.fromEnvironment("foo")}"),
+        assert(const bool.fromEnvironment("foo") == false);
+  const Foo.withInvalidCondition(this.x) : assert(x);
+  const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
+  const Foo.withMessage(this.x)
+      : assert(x < 0, "btw foo was ${const bool.fromEnvironment("foo")}");
+  final int x;
+}
+
+const Bar bar1 = const Bar.withMessage(1);
+const Bar bar2 = const Bar.withMessage(0);
+const Bar bar3 = const Bar.withoutMessage(1);
+const Bar bar4 = const Bar.withoutMessage(0);
+const Bar bar5 = const Bar.withEmptyMessage(1);
+const Bar bar6 = const Bar.withEmptyMessage(0);
+const Foo foo1 = const Foo(1);
+const Foo foo2 = const Foo(0);
+const Foo foo3 = const Foo.withMessage(42);
+const Foo foo4 = const Foo.withInvalidMessage(42);
+const Foo foo5 = const Foo.withInvalidCondition(42);
+main() {}
diff --git a/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.expect b/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.expect
new file mode 100644
index 0000000..ac685f3
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.expect
@@ -0,0 +1,164 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.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);
+//                                                   ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:28:24: Error: Constant evaluation error:
+// const Foo foo2 = const Foo(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:8:18: Context: This assertion failed with message: x is not positive
+//       : assert(x > 0, "x is not positive"),
+//                  ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:28:11: Context: While analyzing:
+// const Foo foo2 = const Foo(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:29:24: Error: Constant evaluation error:
+// const Foo foo3 = const Foo.withMessage(42);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:15:18: Context: This assertion failed with message: btw foo was false
+//       : assert(x < 0, "btw foo was ${const bool.fromEnvironment("foo")}");
+//                  ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:29:11: Context: While analyzing:
+// const Foo foo3 = const Foo.withMessage(42);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:30:24: Error: Constant evaluation error:
+// const Foo foo4 = const Foo.withInvalidMessage(42);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:16:56: Context: This assertion failed with a non-String message.
+//   const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
+//                                                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:30:11: Context: While analyzing:
+// const Foo foo4 = const Foo.withInvalidMessage(42);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:32:24: Error: Constant evaluation error:
+// const Bar bar1 = const Bar.withMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:22:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:32:11: Context: While analyzing:
+// const Bar bar1 = const Bar.withMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:33:24: Error: Constant evaluation error:
+// const Bar bar2 = const Bar.withMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:22:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:33:11: Context: While analyzing:
+// const Bar bar2 = const Bar.withMessage(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:34:24: Error: Constant evaluation error:
+// const Bar bar3 = const Bar.withoutMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:23:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:34:11: Context: While analyzing:
+// const Bar bar3 = const Bar.withoutMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:35:24: Error: Constant evaluation error:
+// const Bar bar4 = const Bar.withoutMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:23:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:35:11: Context: While analyzing:
+// const Bar bar4 = const Bar.withoutMessage(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:36:24: Error: Constant evaluation error:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:24:49: Context: This assertion failed.
+//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
+//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:36:11: Context: While analyzing:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:37:24: Error: Constant evaluation error:
+// const Bar bar6 = const Bar.withEmptyMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:24:49: Context: This assertion failed.
+//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
+//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:37:11: Context: While analyzing:
+// const Bar bar6 = const Bar.withEmptyMessage(0);
+//           ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor •(core::int x) → self::Foo
+    : self::Foo::x = x, assert(x.{core::num::>}(0){(core::num) → core::bool}, "x is not positive"), assert(x.{core::num::>}(0){(core::num) → core::bool}), assert(x.{core::num::>}(0){(core::num) → core::bool}, ""), assert(#C1 =={core::Object::==}{(core::Object) → core::bool} false, "foo was ${#C1}"), assert(#C1 =={core::Object::==}{(core::Object) → core::bool} false), super core::Object::•()
+    ;
+  const constructor withMessage(core::int x) → self::Foo
+    : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, "btw foo was ${#C1}"), super core::Object::•()
+    ;
+  const constructor withInvalidMessage(core::int x) → self::Foo
+    : 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(invalid-expression "pkg/front_end/testcases/general/constants/const_asserts2.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,ForNonNullableByDefault} core::bool), super core::Object::•()
+    ;
+}
+class Bar extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor withMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, "x is not negative"), super core::Object::•()
+    ;
+  const constructor withoutMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}), super core::Object::•()
+    ;
+  const constructor withEmptyMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}), super core::Object::•()
+    ;
+}
+static const field self::Foo foo1 = #C3;
+static const field self::Foo foo2 = invalid-expression "This assertion failed with message: x is not positive";
+static const field self::Foo foo3 = invalid-expression "This assertion failed with message: btw foo was false";
+static const field self::Foo foo4 = invalid-expression "This assertion failed with a non-String message.";
+static const field self::Foo foo5 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts2.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);
+                                                  ^";
+static const field self::Bar bar1 = invalid-expression "This assertion failed with message: x is not negative";
+static const field self::Bar bar2 = invalid-expression "This assertion failed with message: x is not negative";
+static const field self::Bar bar3 = invalid-expression "This assertion failed.";
+static const field self::Bar bar4 = invalid-expression "This assertion failed.";
+static const field self::Bar bar5 = invalid-expression "This assertion failed.";
+static const field self::Bar bar6 = invalid-expression "This assertion failed.";
+static method main() → dynamic {
+  core::print(#C3);
+}
+
+constants  {
+  #C1 = false
+  #C2 = 1
+  #C3 = self::Foo {x:#C2}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///const_asserts2.dart:
+- Foo. (from org-dartlang-testcase:///const_asserts2.dart:7:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- Foo.withMessage (from org-dartlang-testcase:///const_asserts2.dart:14:9)
+- Foo.withInvalidMessage (from org-dartlang-testcase:///const_asserts2.dart:16:9)
+- Foo.withInvalidCondition (from org-dartlang-testcase:///const_asserts2.dart:17:9)
+- Bar.withMessage (from org-dartlang-testcase:///const_asserts2.dart:22:9)
+- Bar.withoutMessage (from org-dartlang-testcase:///const_asserts2.dart:23:9)
+- Bar.withEmptyMessage (from org-dartlang-testcase:///const_asserts2.dart:24:9)
diff --git a/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.modular.expect
new file mode 100644
index 0000000..ac685f3
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.modular.expect
@@ -0,0 +1,164 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.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);
+//                                                   ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:28:24: Error: Constant evaluation error:
+// const Foo foo2 = const Foo(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:8:18: Context: This assertion failed with message: x is not positive
+//       : assert(x > 0, "x is not positive"),
+//                  ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:28:11: Context: While analyzing:
+// const Foo foo2 = const Foo(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:29:24: Error: Constant evaluation error:
+// const Foo foo3 = const Foo.withMessage(42);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:15:18: Context: This assertion failed with message: btw foo was false
+//       : assert(x < 0, "btw foo was ${const bool.fromEnvironment("foo")}");
+//                  ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:29:11: Context: While analyzing:
+// const Foo foo3 = const Foo.withMessage(42);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:30:24: Error: Constant evaluation error:
+// const Foo foo4 = const Foo.withInvalidMessage(42);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:16:56: Context: This assertion failed with a non-String message.
+//   const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
+//                                                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:30:11: Context: While analyzing:
+// const Foo foo4 = const Foo.withInvalidMessage(42);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:32:24: Error: Constant evaluation error:
+// const Bar bar1 = const Bar.withMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:22:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:32:11: Context: While analyzing:
+// const Bar bar1 = const Bar.withMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:33:24: Error: Constant evaluation error:
+// const Bar bar2 = const Bar.withMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:22:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:33:11: Context: While analyzing:
+// const Bar bar2 = const Bar.withMessage(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:34:24: Error: Constant evaluation error:
+// const Bar bar3 = const Bar.withoutMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:23:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:34:11: Context: While analyzing:
+// const Bar bar3 = const Bar.withoutMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:35:24: Error: Constant evaluation error:
+// const Bar bar4 = const Bar.withoutMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:23:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:35:11: Context: While analyzing:
+// const Bar bar4 = const Bar.withoutMessage(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:36:24: Error: Constant evaluation error:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:24:49: Context: This assertion failed.
+//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
+//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:36:11: Context: While analyzing:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:37:24: Error: Constant evaluation error:
+// const Bar bar6 = const Bar.withEmptyMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:24:49: Context: This assertion failed.
+//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
+//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:37:11: Context: While analyzing:
+// const Bar bar6 = const Bar.withEmptyMessage(0);
+//           ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor •(core::int x) → self::Foo
+    : self::Foo::x = x, assert(x.{core::num::>}(0){(core::num) → core::bool}, "x is not positive"), assert(x.{core::num::>}(0){(core::num) → core::bool}), assert(x.{core::num::>}(0){(core::num) → core::bool}, ""), assert(#C1 =={core::Object::==}{(core::Object) → core::bool} false, "foo was ${#C1}"), assert(#C1 =={core::Object::==}{(core::Object) → core::bool} false), super core::Object::•()
+    ;
+  const constructor withMessage(core::int x) → self::Foo
+    : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, "btw foo was ${#C1}"), super core::Object::•()
+    ;
+  const constructor withInvalidMessage(core::int x) → self::Foo
+    : 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(invalid-expression "pkg/front_end/testcases/general/constants/const_asserts2.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,ForNonNullableByDefault} core::bool), super core::Object::•()
+    ;
+}
+class Bar extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor withMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, "x is not negative"), super core::Object::•()
+    ;
+  const constructor withoutMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}), super core::Object::•()
+    ;
+  const constructor withEmptyMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}), super core::Object::•()
+    ;
+}
+static const field self::Foo foo1 = #C3;
+static const field self::Foo foo2 = invalid-expression "This assertion failed with message: x is not positive";
+static const field self::Foo foo3 = invalid-expression "This assertion failed with message: btw foo was false";
+static const field self::Foo foo4 = invalid-expression "This assertion failed with a non-String message.";
+static const field self::Foo foo5 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts2.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);
+                                                  ^";
+static const field self::Bar bar1 = invalid-expression "This assertion failed with message: x is not negative";
+static const field self::Bar bar2 = invalid-expression "This assertion failed with message: x is not negative";
+static const field self::Bar bar3 = invalid-expression "This assertion failed.";
+static const field self::Bar bar4 = invalid-expression "This assertion failed.";
+static const field self::Bar bar5 = invalid-expression "This assertion failed.";
+static const field self::Bar bar6 = invalid-expression "This assertion failed.";
+static method main() → dynamic {
+  core::print(#C3);
+}
+
+constants  {
+  #C1 = false
+  #C2 = 1
+  #C3 = self::Foo {x:#C2}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///const_asserts2.dart:
+- Foo. (from org-dartlang-testcase:///const_asserts2.dart:7:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- Foo.withMessage (from org-dartlang-testcase:///const_asserts2.dart:14:9)
+- Foo.withInvalidMessage (from org-dartlang-testcase:///const_asserts2.dart:16:9)
+- Foo.withInvalidCondition (from org-dartlang-testcase:///const_asserts2.dart:17:9)
+- Bar.withMessage (from org-dartlang-testcase:///const_asserts2.dart:22:9)
+- Bar.withoutMessage (from org-dartlang-testcase:///const_asserts2.dart:23:9)
+- Bar.withEmptyMessage (from org-dartlang-testcase:///const_asserts2.dart:24:9)
diff --git a/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.outline.expect
new file mode 100644
index 0000000..5503846
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.outline.expect
@@ -0,0 +1,62 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.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);
+//                                                   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor •(core::int x) → self::Foo
+    : self::Foo::x = x, assert(x.{core::num::>}(0){(core::num) → core::bool}, "x is not positive"), assert(x.{core::num::>}(0){(core::num) → core::bool}), assert(x.{core::num::>}(0){(core::num) → core::bool}, ""), assert(const core::bool::fromEnvironment("foo") =={core::Object::==}{(core::Object) → core::bool} false, "foo was ${const core::bool::fromEnvironment("foo")}"), assert(const core::bool::fromEnvironment("foo") =={core::Object::==}{(core::Object) → core::bool} false), super core::Object::•()
+    ;
+  const constructor withMessage(core::int x) → self::Foo
+    : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, "btw foo was ${const core::bool::fromEnvironment("foo")}"), super core::Object::•()
+    ;
+  const constructor withInvalidMessage(core::int x) → self::Foo
+    : 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(invalid-expression "pkg/front_end/testcases/general/constants/const_asserts2.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,ForNonNullableByDefault} core::bool), super core::Object::•()
+    ;
+}
+class Bar extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor withMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, "x is not negative"), super core::Object::•()
+    ;
+  const constructor withoutMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}), super core::Object::•()
+    ;
+  const constructor withEmptyMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}), super core::Object::•()
+    ;
+}
+static const field self::Foo foo1 = const self::Foo::•(1);
+static const field self::Foo foo2 = const self::Foo::•(0);
+static const field self::Foo foo3 = const self::Foo::withMessage(42);
+static const field self::Foo foo4 = const self::Foo::withInvalidMessage(42);
+static const field self::Foo foo5 = const self::Foo::withInvalidCondition(42);
+static const field self::Bar bar1 = const self::Bar::withMessage(1);
+static const field self::Bar bar2 = const self::Bar::withMessage(0);
+static const field self::Bar bar3 = const self::Bar::withoutMessage(1);
+static const field self::Bar bar4 = const self::Bar::withoutMessage(0);
+static const field self::Bar bar5 = const self::Bar::withEmptyMessage(1);
+static const field self::Bar bar6 = const self::Bar::withEmptyMessage(0);
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts2.dart:11:50 -> BoolConstant(true)
+Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts2.dart:12:59 -> StringConstant("foo was false")
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts2.dart:13:50 -> BoolConstant(true)
+Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts2.dart:15:73 -> StringConstant("btw foo was false")
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_asserts2.dart:27:24 -> InstanceConstant(const Foo{Foo.x: 1})
+Extra constant evaluation: evaluated: 39, effectively constant: 5
diff --git a/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.transformed.expect
new file mode 100644
index 0000000..6e172f0
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/const_asserts2.dart.weak.transformed.expect
@@ -0,0 +1,171 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.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);
+//                                                   ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:28:24: Error: Constant evaluation error:
+// const Foo foo2 = const Foo(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:8:18: Context: This assertion failed with message: x is not positive
+//       : assert(x > 0, "x is not positive"),
+//                  ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:28:11: Context: While analyzing:
+// const Foo foo2 = const Foo(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:29:24: Error: Constant evaluation error:
+// const Foo foo3 = const Foo.withMessage(42);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:15:18: Context: This assertion failed with message: btw foo was false
+//       : assert(x < 0, "btw foo was ${const bool.fromEnvironment("foo")}");
+//                  ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:29:11: Context: While analyzing:
+// const Foo foo3 = const Foo.withMessage(42);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:30:24: Error: Constant evaluation error:
+// const Foo foo4 = const Foo.withInvalidMessage(42);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:16:56: Context: This assertion failed with a non-String message.
+//   const Foo.withInvalidMessage(this.x) : assert(x < 0, x);
+//                                                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:30:11: Context: While analyzing:
+// const Foo foo4 = const Foo.withInvalidMessage(42);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:32:24: Error: Constant evaluation error:
+// const Bar bar1 = const Bar.withMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:22:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:32:11: Context: While analyzing:
+// const Bar bar1 = const Bar.withMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:33:24: Error: Constant evaluation error:
+// const Bar bar2 = const Bar.withMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:22:44: Context: This assertion failed with message: x is not negative
+//   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
+//                                            ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:33:11: Context: While analyzing:
+// const Bar bar2 = const Bar.withMessage(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:34:24: Error: Constant evaluation error:
+// const Bar bar3 = const Bar.withoutMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:23:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:34:11: Context: While analyzing:
+// const Bar bar3 = const Bar.withoutMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:35:24: Error: Constant evaluation error:
+// const Bar bar4 = const Bar.withoutMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:23:47: Context: This assertion failed.
+//   const Bar.withoutMessage(this.x) : assert(x < 0);
+//                                               ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:35:11: Context: While analyzing:
+// const Bar bar4 = const Bar.withoutMessage(0);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:36:24: Error: Constant evaluation error:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:24:49: Context: This assertion failed.
+//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
+//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:36:11: Context: While analyzing:
+// const Bar bar5 = const Bar.withEmptyMessage(1);
+//           ^
+//
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:37:24: Error: Constant evaluation error:
+// const Bar bar6 = const Bar.withEmptyMessage(0);
+//                        ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:24:49: Context: This assertion failed.
+//   const Bar.withEmptyMessage(this.x) : assert(x < 0);
+//                                                 ^
+// pkg/front_end/testcases/general/constants/const_asserts2.dart:37:11: Context: While analyzing:
+// const Bar bar6 = const Bar.withEmptyMessage(0);
+//           ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor •(core::int x) → self::Foo
+    : self::Foo::x = x, assert(x.{core::num::>}(0){(core::num) → core::bool}, "x is not positive"), assert(x.{core::num::>}(0){(core::num) → core::bool}), assert(x.{core::num::>}(0){(core::num) → core::bool}, ""), assert(#C1 =={core::Object::==}{(core::Object) → core::bool} false, "foo was ${#C1}"), assert(#C1 =={core::Object::==}{(core::Object) → core::bool} false), super core::Object::•()
+    ;
+  const constructor withMessage(core::int x) → self::Foo
+    : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, "btw foo was ${#C1}"), super core::Object::•()
+    ;
+  const constructor withInvalidMessage(core::int x) → self::Foo
+    : 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(invalid-expression "pkg/front_end/testcases/general/constants/const_asserts2.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,ForNonNullableByDefault} core::bool), super core::Object::•()
+    ;
+}
+class Bar extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor withMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}, "x is not negative"), super core::Object::•()
+    ;
+  const constructor withoutMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}), super core::Object::•()
+    ;
+  const constructor withEmptyMessage(core::int x) → self::Bar
+    : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num) → core::bool}), super core::Object::•()
+    ;
+}
+static const field self::Foo foo1 = #C3;
+static const field self::Foo foo2 = invalid-expression "This assertion failed with message: x is not positive";
+static const field self::Foo foo3 = invalid-expression "This assertion failed with message: btw foo was false";
+static const field self::Foo foo4 = invalid-expression "This assertion failed with a non-String message.";
+static const field self::Foo foo5 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts2.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);
+                                                  ^";
+static const field self::Bar bar1 = invalid-expression "This assertion failed with message: x is not negative";
+static const field self::Bar bar2 = invalid-expression "This assertion failed with message: x is not negative";
+static const field self::Bar bar3 = invalid-expression "This assertion failed.";
+static const field self::Bar bar4 = invalid-expression "This assertion failed.";
+static const field self::Bar bar5 = invalid-expression "This assertion failed.";
+static const field self::Bar bar6 = invalid-expression "This assertion failed.";
+static method main() → dynamic {
+  core::print(#C3);
+}
+
+constants  {
+  #C1 = false
+  #C2 = 1
+  #C3 = self::Foo {x:#C2}
+}
+
+Extra constant evaluation status:
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts2.dart:11:50 -> BoolConstant(true)
+Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts2.dart:12:59 -> StringConstant("foo was false")
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts2.dart:13:50 -> BoolConstant(true)
+Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts2.dart:15:73 -> StringConstant("btw foo was false")
+Extra constant evaluation: evaluated: 29, effectively constant: 4
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///const_asserts2.dart:
+- Foo. (from org-dartlang-testcase:///const_asserts2.dart:7:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- Foo.withMessage (from org-dartlang-testcase:///const_asserts2.dart:14:9)
+- Foo.withInvalidMessage (from org-dartlang-testcase:///const_asserts2.dart:16:9)
+- Foo.withInvalidCondition (from org-dartlang-testcase:///const_asserts2.dart:17:9)
+- Bar.withMessage (from org-dartlang-testcase:///const_asserts2.dart:22:9)
+- Bar.withoutMessage (from org-dartlang-testcase:///const_asserts2.dart:23:9)
+- Bar.withEmptyMessage (from org-dartlang-testcase:///const_asserts2.dart:24:9)
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart b/pkg/front_end/testcases/general/constants/const_collections.dart
index 5d63d1a..f137024 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'dart:collection';
 
 class ConstIterable extends IterableBase<int> {
@@ -13,13 +13,13 @@
 const int fortyTwo = 42;
 const dynamic fortyTwoAsDynamic = ((fortyTwo as dynamic) * 2) ~/ 2;
 
-const List<String> nullList = null;
+const List<String>? nullList = null;
 const List<String> foo = ["hello", "world"];
 List<String> get fooAsGetter => const ["hello", "world"];
 const List<String> bar = [...foo, "!"];
 var barAsVar = [...foo, "!"];
 List<String> get barAsGetter => const [...foo, "!"];
-const List<String> barWithNullSpread = [...foo, ...nullList];
+const List<String> barWithNullSpread = [...foo, ...?nullList];
 const List<String> barWithIntSpread = [...foo, ...fortyTwo];
 const List<String> barWithIntDynamicSpread = [...foo, ...fortyTwoAsDynamic];
 const List<String> barWithMapSpread = [...foo, ...quux];
@@ -32,12 +32,12 @@
 const List<String> barWithCustomIterableSpread3 = [...bar, ...customIterable];
 const List<String> listConcat = ["Hello"] + ["World"];
 
-const Set<String> nullSet = null;
+const Set<String>? nullSet = null;
 const Set<String> baz = {"hello", "world"};
 Set<String> get bazAsGetter => const {"hello", "world"};
 const Set<String> qux = {...baz, "!"};
 Set<String> get quxAsGetter => const {...baz, "!"};
-const Set<String> quxWithNullSpread = {...baz, ...nullSet};
+const Set<String> quxWithNullSpread = {...baz, ...?nullSet};
 const Set<String> quxWithIntSpread = {...baz, ...fortyTwo};
 const Set<String> quxWithMapSpread = {...baz, ...quux};
 const Set<String> quxWithCustomIterableSpread1 = {
@@ -49,12 +49,12 @@
 const Set<dynamic> setWithNonPrimitiveEquals = {const WithEquals(42)};
 const Set<dynamic> setWithDuplicates = {42, 42};
 
-const Map<String, String> nullMap = null;
+const Map<String, String>? nullMap = null;
 const Map<String, String> quux = {"hello": "world"};
 Map<String, String> get quuxAsGetter => const {"hello": "world"};
 const Map<String, String> quuz = {...quux, "!": "bye!"};
 Map<String, String> get quuzAsGetter => const {...quux, "!": "bye!"};
-const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
+const Map<String, String> quuzWithNullSpread = {...quux, ...?nullMap};
 const Map<String, String> quuzWithIntSpread = {...quux, ...fortyTwo};
 const Map<String, String> quuzWithSetSpread = {...quux, ...baz};
 const Map<String, String> mapWithSetSpread = {...baz};
@@ -87,7 +87,7 @@
   Iterable<MapEntry<String, String>> get entries => [];
 
   @override
-  String operator [](Object key) => throw new UnimplementedError();
+  String operator [](Object? key) => throw new UnimplementedError();
 
   @override
   void operator []=(String key, String value) => throw new UnimplementedError();
@@ -99,10 +99,10 @@
   void clear() => throw new UnimplementedError();
 
   @override
-  bool containsKey(Object key) => throw new UnimplementedError();
+  bool containsKey(Object? key) => throw new UnimplementedError();
 
   @override
-  bool containsValue(Object value) => throw new UnimplementedError();
+  bool containsValue(Object? value) => throw new UnimplementedError();
 
   @override
   bool get isEmpty => throw new UnimplementedError();
@@ -117,7 +117,7 @@
   int get length => throw new UnimplementedError();
 
   @override
-  String remove(Object key) => throw new UnimplementedError();
+  String remove(Object? key) => throw new UnimplementedError();
 
   @override
   Iterable<String> get values => throw new UnimplementedError();
@@ -145,7 +145,8 @@
   void removeWhere(bool predicate(String key, String value)) =>
       throw new UnimplementedError();
 
-  String update(String key, String update(String value), {String ifAbsent()}) =>
+  String update(String key, String update(String value),
+          {String ifAbsent()?}) =>
       throw new UnimplementedError();
 
   Map<K2, V2> map<K2, V2>(MapEntry<K2, V2> f(String key, String value)) =>
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline.expect
index d5f1dc8..805abad 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'dart:collection';
 
 class ConstIterable extends IterableBase<int> {
@@ -8,13 +7,13 @@
 
 const int fortyTwo = 42;
 const dynamic fortyTwoAsDynamic = ((fortyTwo as dynamic) * 2) ~/ 2;
-const List<String> nullList = null;
+const List<String>? nullList = null;
 const List<String> foo = ["hello", "world"];
 List<String> get fooAsGetter => const ["hello", "world"];
 const List<String> bar = [...foo, "!"];
 var barAsVar = [...foo, "!"];
 List<String> get barAsGetter => const [...foo, "!"];
-const List<String> barWithNullSpread = [...foo, ...nullList];
+const List<String> barWithNullSpread = [...foo, ...?nullList];
 const List<String> barWithIntSpread = [...foo, ...fortyTwo];
 const List<String> barWithIntDynamicSpread = [...foo, ...fortyTwoAsDynamic];
 const List<String> barWithMapSpread = [...foo, ...quux];
@@ -26,12 +25,12 @@
 const customIterable = const CustomIterable();
 const List<String> barWithCustomIterableSpread3 = [...bar, ...customIterable];
 const List<String> listConcat = ["Hello"] + ["World"];
-const Set<String> nullSet = null;
+const Set<String>? nullSet = null;
 const Set<String> baz = {"hello", "world"};
 Set<String> get bazAsGetter => const {"hello", "world"};
 const Set<String> qux = {...baz, "!"};
 Set<String> get quxAsGetter => const {...baz, "!"};
-const Set<String> quxWithNullSpread = {...baz, ...nullSet};
+const Set<String> quxWithNullSpread = {...baz, ...?nullSet};
 const Set<String> quxWithIntSpread = {...baz, ...fortyTwo};
 const Set<String> quxWithMapSpread = {...baz, ...quux};
 const Set<String> quxWithCustomIterableSpread1 = {
@@ -42,12 +41,12 @@
 const Set<String> quxWithCustomIterableSpread3 = {...baz, customIterable};
 const Set<dynamic> setWithNonPrimitiveEquals = {const WithEquals(42)};
 const Set<dynamic> setWithDuplicates = {42, 42};
-const Map<String, String> nullMap = null;
+const Map<String, String>? nullMap = null;
 const Map<String, String> quux = {"hello": "world"};
 Map<String, String> get quuxAsGetter => const {"hello": "world"};
 const Map<String, String> quuz = {...quux, "!": "bye!"};
 Map<String, String> get quuzAsGetter => const {...quux, "!": "bye!"};
-const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
+const Map<String, String> quuzWithNullSpread = {...quux, ...?nullMap};
 const Map<String, String> quuzWithIntSpread = {...quux, ...fortyTwo};
 const Map<String, String> quuzWithSetSpread = {...quux, ...baz};
 const Map<String, String> mapWithSetSpread = {...baz};
@@ -76,7 +75,7 @@
   @override
   Iterable<MapEntry<String, String>> get entries => [];
   @override
-  String operator [](Object key) => throw new UnimplementedError();
+  String operator [](Object? key) => throw new UnimplementedError();
   @override
   void operator []=(String key, String value) => throw new UnimplementedError();
   @override
@@ -84,9 +83,9 @@
   @override
   void clear() => throw new UnimplementedError();
   @override
-  bool containsKey(Object key) => throw new UnimplementedError();
+  bool containsKey(Object? key) => throw new UnimplementedError();
   @override
-  bool containsValue(Object value) => throw new UnimplementedError();
+  bool containsValue(Object? value) => throw new UnimplementedError();
   @override
   bool get isEmpty => throw new UnimplementedError();
   @override
@@ -96,7 +95,7 @@
   @override
   int get length => throw new UnimplementedError();
   @override
-  String remove(Object key) => throw new UnimplementedError();
+  String remove(Object? key) => throw new UnimplementedError();
   @override
   Iterable<String> get values => throw new UnimplementedError();
   @override
@@ -116,7 +115,8 @@
   @override
   void removeWhere(bool predicate(String key, String value)) =>
       throw new UnimplementedError();
-  String update(String key, String update(String value), {String ifAbsent()}) =>
+  String update(String key, String update(String value),
+          {String ifAbsent()?}) =>
       throw new UnimplementedError();
   Map<K2, V2> map<K2, V2>(MapEntry<K2, V2> f(String key, String value)) =>
       throw new UnimplementedError();
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline_modelled.expect
index 5082de0..3b6f414 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'dart:collection';
 
 List<String> get barAsGetter => const [...foo, "!"];
@@ -30,18 +29,19 @@
   @override
   Map<RK, RV> cast<RK, RV>() => throw new UnimplementedError();
   @override
-  String operator [](Object key) => throw new UnimplementedError();
+  String operator [](Object? key) => throw new UnimplementedError();
   @override
   String putIfAbsent(String key, String ifAbsent()) =>
       throw new UnimplementedError();
   @override
-  String remove(Object key) => throw new UnimplementedError();
-  String update(String key, String update(String value), {String ifAbsent()}) =>
+  String remove(Object? key) => throw new UnimplementedError();
+  String update(String key, String update(String value),
+          {String ifAbsent()?}) =>
       throw new UnimplementedError();
   @override
-  bool containsKey(Object key) => throw new UnimplementedError();
+  bool containsKey(Object? key) => throw new UnimplementedError();
   @override
-  bool containsValue(Object value) => throw new UnimplementedError();
+  bool containsValue(Object? value) => throw new UnimplementedError();
   @override
   bool get isEmpty => throw new UnimplementedError();
   @override
@@ -75,6 +75,7 @@
   operator ==(Object o) {}
 }
 
+const List<String>? nullList = null;
 const List<String> bar = [...foo, "!"];
 const List<String> barWithCustomIterableSpread1 = [
   ...bar,
@@ -85,27 +86,26 @@
 const List<String> barWithIntDynamicSpread = [...foo, ...fortyTwoAsDynamic];
 const List<String> barWithIntSpread = [...foo, ...fortyTwo];
 const List<String> barWithMapSpread = [...foo, ...quux];
-const List<String> barWithNullSpread = [...foo, ...nullList];
+const List<String> barWithNullSpread = [...foo, ...?nullList];
 const List<String> foo = ["hello", "world"];
 const List<String> listConcat = ["Hello"] + ["World"];
-const List<String> nullList = null;
+const Map<String, String>? nullMap = null;
 const Map<String, String> customMap = const CustomMap();
 const Map<String, String> mapWithCustomMap1 = {...const CustomMap()};
 const Map<String, String> mapWithCustomMap2 = {...CustomMap()};
 const Map<String, String> mapWithCustomMap3 = {...customMap};
 const Map<String, String> mapWithSetSpread = {...baz};
-const Map<String, String> nullMap = null;
 const Map<String, String> quux = {"hello": "world"};
 const Map<String, String> quuz = {...quux, "!": "bye!"};
 const Map<String, String> quuzWithIntSpread = {...quux, ...fortyTwo};
-const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
+const Map<String, String> quuzWithNullSpread = {...quux, ...?nullMap};
 const Map<String, String> quuzWithSetSpread = {...quux, ...baz};
 const Map<dynamic, int> mapWithNonPrimitiveEqualsKey = {
   const WithEquals(42): 42
 };
 const Map<int, int> mapWithDuplicates = {42: 42, 42: 42};
+const Set<String>? nullSet = null;
 const Set<String> baz = {"hello", "world"};
-const Set<String> nullSet = null;
 const Set<String> qux = {...baz, "!"};
 const Set<String> quxWithCustomIterableSpread1 = {
   ...baz,
@@ -115,7 +115,7 @@
 const Set<String> quxWithCustomIterableSpread3 = {...baz, customIterable};
 const Set<String> quxWithIntSpread = {...baz, ...fortyTwo};
 const Set<String> quxWithMapSpread = {...baz, ...quux};
-const Set<String> quxWithNullSpread = {...baz, ...nullSet};
+const Set<String> quxWithNullSpread = {...baz, ...?nullSet};
 const Set<dynamic> setWithDuplicates = {42, 42};
 const Set<dynamic> setWithNonPrimitiveEquals = {const WithEquals(42)};
 const customIterable = const CustomIterable();
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.expect
index 456d5c3..5043c10 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -36,16 +36,6 @@
 // const Map<String, String> mapWithSetSpread = {...baz};
 //                                              ^
 //
-// pkg/front_end/testcases/general/constants/const_collections.dart:22:40: Error: Constant evaluation error:
-// const List<String> barWithNullSpread = [...foo, ...nullList];
-//                                        ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:22:52: Context: Null value during constant evaluation.
-// const List<String> barWithNullSpread = [...foo, ...nullList];
-//                                                    ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:22:20: Context: While analyzing:
-// const List<String> barWithNullSpread = [...foo, ...nullList];
-//                    ^
-//
 // pkg/front_end/testcases/general/constants/const_collections.dart:24:46: Error: Constant evaluation error:
 // const List<String> barWithIntDynamicSpread = [...foo, ...fortyTwoAsDynamic];
 //                                              ^
@@ -97,16 +87,6 @@
 // const List<String> listConcat = ["Hello"] + ["World"];
 //                    ^
 //
-// pkg/front_end/testcases/general/constants/const_collections.dart:40:39: Error: Constant evaluation error:
-// const Set<String> quxWithNullSpread = {...baz, ...nullSet};
-//                                       ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:40:51: Context: Null value during constant evaluation.
-// const Set<String> quxWithNullSpread = {...baz, ...nullSet};
-//                                                   ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:40:19: Context: While analyzing:
-// const Set<String> quxWithNullSpread = {...baz, ...nullSet};
-//                   ^
-//
 // pkg/front_end/testcases/general/constants/const_collections.dart:43:50: Error: Constant evaluation error:
 // const Set<String> quxWithCustomIterableSpread1 = {
 //                                                  ^
@@ -148,16 +128,6 @@
 // const Set<dynamic> setWithDuplicates = {42, 42};
 //                    ^
 //
-// pkg/front_end/testcases/general/constants/const_collections.dart:57:27: Error: Constant evaluation error:
-// const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
-//                           ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:57:61: Context: Null value during constant evaluation.
-// const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
-//                                                             ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:57:27: Context: While analyzing:
-// const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
-//                           ^
-//
 // pkg/front_end/testcases/general/constants/const_collections.dart:61:27: Error: Constant evaluation error:
 // const Map<String, String> mapWithCustomMap1 = {...const CustomMap()};
 //                           ^
@@ -215,291 +185,198 @@
 
 import "dart:collection";
 
-class ConstIterable extends col::IterableBase<core::int*> /*hasConstConstructor*/  {
-  const constructor •() → self::ConstIterable*
+class ConstIterable extends col::IterableBase<core::int> /*hasConstConstructor*/  {
+  const constructor •() → self::ConstIterable
     : super col::IterableBase::•()
     ;
-  get iterator() → core::Iterator<core::int*>*
-    return <core::int*>[].{core::Iterable::iterator}{core::Iterator<core::int*>*};
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::ConstIterable::cast::R*>*; -> core::Iterable::cast
-  abstract member-signature method followedBy(covariant-by-class core::Iterable<core::int*>* other) → core::Iterable<core::int*>*; -> core::Iterable::followedBy
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::int*) →* self::ConstIterable::map::T* toElement) → core::Iterable<self::ConstIterable::map::T*>*; -> core::Iterable::map
-  abstract member-signature method where((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::where
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::ConstIterable::whereType::T*>*; -> core::Iterable::whereType
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::int*) →* core::Iterable<self::ConstIterable::expand::T*>* toElements) → core::Iterable<self::ConstIterable::expand::T*>*; -> core::Iterable::expand
-  abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
-  abstract member-signature method forEach((core::int*) →* void action) → void; -> core::Iterable::forEach
-  abstract member-signature method reduce(covariant-by-class (core::int*, core::int*) →* core::int* combine) → core::int*; -> core::Iterable::reduce
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::ConstIterable::fold::T* initialValue, (self::ConstIterable::fold::T*, core::int*) →* self::ConstIterable::fold::T* combine) → self::ConstIterable::fold::T*; -> core::Iterable::fold
-  abstract member-signature method every((core::int*) →* core::bool* test) → core::bool*; -> core::Iterable::every
-  abstract member-signature method join([core::String* separator = #C1]) → core::String*; -> core::Iterable::join
-  abstract member-signature method any((core::int*) →* core::bool* test) → core::bool*; -> core::Iterable::any
-  abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::int*>*; -> core::Iterable::toList
-  abstract member-signature method toSet() → core::Set<core::int*>*; -> core::Iterable::toSet
-  abstract member-signature get length() → core::int*; -> core::Iterable::length
-  abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
-  abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
-  abstract member-signature method take(core::int* count) → core::Iterable<core::int*>*; -> core::Iterable::take
-  abstract member-signature method takeWhile((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::takeWhile
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::int*>*; -> core::Iterable::skip
-  abstract member-signature method skipWhile((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::skipWhile
-  abstract member-signature method firstWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse = #C3}) → core::int*; -> core::Iterable::firstWhere
-  abstract member-signature method lastWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse = #C3}) → core::int*; -> core::Iterable::lastWhere
-  abstract member-signature method singleWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse = #C3}) → core::int*; -> core::Iterable::singleWhere
-  abstract member-signature method elementAt(core::int* index) → core::int*; -> core::Iterable::elementAt
-  abstract member-signature method toString() → core::String*; -> core::Iterable::toString
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  get iterator() → core::Iterator<core::int>
+    return <core::int>[].{core::Iterable::iterator}{core::Iterator<core::int>};
 }
 class WithEquals extends core::Object /*hasConstConstructor*/  {
-  final field core::int* i;
-  const constructor •(core::int* i) → self::WithEquals*
+  final field core::int i;
+  const constructor •(core::int i) → self::WithEquals
     : self::WithEquals::i = i, super core::Object::•()
     ;
-  operator ==(core::Object* o) → core::bool* {
-    return o is self::WithEquals* && (o{self::WithEquals*} as self::WithEquals*).{self::WithEquals::i}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} this.{self::WithEquals::i}{core::int*};
+  operator ==(core::Object o) → core::bool {
+    return o is{ForNonNullableByDefault} self::WithEquals && (o{self::WithEquals} as{ForNonNullableByDefault} self::WithEquals).{self::WithEquals::i}{core::int} =={core::num::==}{(core::Object) → core::bool} this.{self::WithEquals::i}{core::int};
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-class CustomIterable extends col::IterableBase<core::String*> /*hasConstConstructor*/  {
-  const constructor •() → self::CustomIterable*
+class CustomIterable extends col::IterableBase<core::String> /*hasConstConstructor*/  {
+  const constructor •() → self::CustomIterable
     : super col::IterableBase::•()
     ;
-  get iterator() → core::Iterator<core::String*>*
-    return <core::String*>[].{core::Iterable::iterator}{core::Iterator<core::String*>*};
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::CustomIterable::cast::R*>*; -> core::Iterable::cast
-  abstract member-signature method followedBy(covariant-by-class core::Iterable<core::String*>* other) → core::Iterable<core::String*>*; -> core::Iterable::followedBy
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::String*) →* self::CustomIterable::map::T* toElement) → core::Iterable<self::CustomIterable::map::T*>*; -> core::Iterable::map
-  abstract member-signature method where((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::where
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::CustomIterable::whereType::T*>*; -> core::Iterable::whereType
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::String*) →* core::Iterable<self::CustomIterable::expand::T*>* toElements) → core::Iterable<self::CustomIterable::expand::T*>*; -> core::Iterable::expand
-  abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
-  abstract member-signature method forEach((core::String*) →* void action) → void; -> core::Iterable::forEach
-  abstract member-signature method reduce(covariant-by-class (core::String*, core::String*) →* core::String* combine) → core::String*; -> core::Iterable::reduce
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::CustomIterable::fold::T* initialValue, (self::CustomIterable::fold::T*, core::String*) →* self::CustomIterable::fold::T* combine) → self::CustomIterable::fold::T*; -> core::Iterable::fold
-  abstract member-signature method every((core::String*) →* core::bool* test) → core::bool*; -> core::Iterable::every
-  abstract member-signature method join([core::String* separator = #C1]) → core::String*; -> core::Iterable::join
-  abstract member-signature method any((core::String*) →* core::bool* test) → core::bool*; -> core::Iterable::any
-  abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::String*>*; -> core::Iterable::toList
-  abstract member-signature method toSet() → core::Set<core::String*>*; -> core::Iterable::toSet
-  abstract member-signature get length() → core::int*; -> core::Iterable::length
-  abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
-  abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
-  abstract member-signature method take(core::int* count) → core::Iterable<core::String*>*; -> core::Iterable::take
-  abstract member-signature method takeWhile((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::takeWhile
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::String*>*; -> core::Iterable::skip
-  abstract member-signature method skipWhile((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::skipWhile
-  abstract member-signature method firstWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse = #C3}) → core::String*; -> core::Iterable::firstWhere
-  abstract member-signature method lastWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse = #C3}) → core::String*; -> core::Iterable::lastWhere
-  abstract member-signature method singleWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse = #C3}) → core::String*; -> core::Iterable::singleWhere
-  abstract member-signature method elementAt(core::int* index) → core::String*; -> core::Iterable::elementAt
-  abstract member-signature method toString() → core::String*; -> core::Iterable::toString
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  get iterator() → core::Iterator<core::String>
+    return <core::String>[].{core::Iterable::iterator}{core::Iterator<core::String>};
 }
-class CustomMap extends core::Object implements core::Map<core::String*, core::String*> /*hasConstConstructor*/  {
-  const constructor •() → self::CustomMap*
+class CustomMap extends core::Object implements core::Map<core::String, core::String> /*hasConstConstructor*/  {
+  const constructor •() → self::CustomMap
     : super core::Object::•()
     ;
-  @#C4
-  get entries() → core::Iterable<core::MapEntry<core::String*, core::String*>*>*
-    return <core::MapEntry<core::String*, core::String*>*>[];
-  @#C4
-  operator [](core::Object* key) → core::String*
+  @#C1
+  get entries() → core::Iterable<core::MapEntry<core::String, core::String>>
+    return <core::MapEntry<core::String, core::String>>[];
+  @#C1
+  operator [](core::Object? key) → core::String
     return throw new core::UnimplementedError::•();
-  @#C4
-  operator []=(covariant-by-class core::String* key, covariant-by-class core::String* value) → void
+  @#C1
+  operator []=(covariant-by-class core::String key, covariant-by-class core::String value) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method cast<RK extends core::Object* = dynamic, RV extends core::Object* = dynamic>() → core::Map<self::CustomMap::cast::RK*, self::CustomMap::cast::RV*>*
+  @#C1
+  method cast<RK extends core::Object? = dynamic, RV extends core::Object? = dynamic>() → core::Map<self::CustomMap::cast::RK%, self::CustomMap::cast::RV%>
     return throw new core::UnimplementedError::•();
-  @#C4
+  @#C1
   method clear() → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method containsKey(core::Object* key) → core::bool*
+  @#C1
+  method containsKey(core::Object? key) → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  method containsValue(core::Object* value) → core::bool*
+  @#C1
+  method containsValue(core::Object? value) → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  get isEmpty() → core::bool*
+  @#C1
+  get isEmpty() → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  get isNotEmpty() → core::bool*
+  @#C1
+  get isNotEmpty() → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  get keys() → core::Iterable<core::String*>*
+  @#C1
+  get keys() → core::Iterable<core::String>
     return throw new core::UnimplementedError::•();
-  @#C4
-  get length() → core::int*
+  @#C1
+  get length() → core::int
     return throw new core::UnimplementedError::•();
-  @#C4
-  method remove(core::Object* key) → core::String*
+  @#C1
+  method remove(core::Object? key) → core::String
     return throw new core::UnimplementedError::•();
-  @#C4
-  get values() → core::Iterable<core::String*>*
+  @#C1
+  get values() → core::Iterable<core::String>
     return throw new core::UnimplementedError::•();
-  @#C4
-  method addAll(covariant-by-class core::Map<core::String*, core::String*>* other) → void
+  @#C1
+  method addAll(covariant-by-class core::Map<core::String, core::String> other) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method addEntries(covariant-by-class core::Iterable<core::MapEntry<core::String*, core::String*>*>* newEntries) → void
+  @#C1
+  method addEntries(covariant-by-class core::Iterable<core::MapEntry<core::String, core::String>> newEntries) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method forEach((core::String*, core::String*) →* void f) → void
+  @#C1
+  method forEach((core::String, core::String) → void f) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method putIfAbsent(covariant-by-class core::String* key, covariant-by-class () →* core::String* ifAbsent) → core::String*
+  @#C1
+  method putIfAbsent(covariant-by-class core::String key, covariant-by-class () → core::String ifAbsent) → core::String
     return throw new core::UnimplementedError::•();
-  @#C4
-  method updateAll(covariant-by-class (core::String*, core::String*) →* core::String* update) → void
+  @#C1
+  method updateAll(covariant-by-class (core::String, core::String) → core::String update) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method removeWhere((core::String*, core::String*) →* core::bool* predicate) → void
+  @#C1
+  method removeWhere((core::String, core::String) → core::bool predicate) → void
     return throw new core::UnimplementedError::•();
-  method update(covariant-by-class core::String* key, covariant-by-class (core::String*) →* core::String* update, {covariant-by-class () →* core::String* ifAbsent = #C3}) → core::String*
+  method update(covariant-by-class core::String key, covariant-by-class (core::String) → core::String update, {covariant-by-class () →? core::String ifAbsent = #C2}) → core::String
     return throw new core::UnimplementedError::•();
-  method map<K2 extends core::Object* = dynamic, V2 extends core::Object* = dynamic>((core::String*, core::String*) →* core::MapEntry<self::CustomMap::map::K2*, self::CustomMap::map::V2*>* f) → core::Map<self::CustomMap::map::K2*, self::CustomMap::map::V2*>*
+  method map<K2 extends core::Object? = dynamic, V2 extends core::Object? = dynamic>((core::String, core::String) → core::MapEntry<self::CustomMap::map::K2%, self::CustomMap::map::V2%> f) → core::Map<self::CustomMap::map::K2%, self::CustomMap::map::V2%>
     return throw new core::UnimplementedError::•();
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field core::int* fortyTwo = #C5;
-static const field dynamic fortyTwoAsDynamic = #C5;
-static const field core::List<core::String*>* nullList = #C3;
-static const field core::List<core::String*>* foo = #C8;
-static const field core::List<core::String*>* bar = #C10;
-static field core::List<core::String*>* barAsVar = block {
-  final core::List<core::String*>* #t1 = core::List::of<core::String*>(#C8);
-  #t1.{core::List::add}{Invariant}("!"){(core::String*) →* void};
+static const field core::int fortyTwo = #C3;
+static const field dynamic fortyTwoAsDynamic = #C3;
+static const field core::List<core::String>? nullList = #C2;
+static const field core::List<core::String> foo = #C6;
+static const field core::List<core::String> bar = #C8;
+static field core::List<core::String> barAsVar = block {
+  final core::List<core::String> #t1 = core::List::of<core::String>(#C6);
+  #t1.{core::List::add}{Invariant}("!"){(core::String) → void};
 } =>#t1;
-static const field core::List<core::String*>* barWithNullSpread = invalid-expression "Null value during constant evaluation.";
-static const field core::List<core::String*>* barWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
+static const field core::List<core::String> barWithNullSpread = #C6;
+static const field core::List<core::String> barWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
 const List<String> barWithIntSpread = [...foo, ...fortyTwo];
                                                   ^";
-static const field core::List<core::String*>* barWithIntDynamicSpread = invalid-expression "Expected constant '42' to be of type 'Iterable<dynamic>', but was of type 'int'.
+static const field core::List<core::String> barWithIntDynamicSpread = invalid-expression "Expected constant '42' to be of type 'Iterable<dynamic>', but was of type 'int'.
  - 'Iterable' is from 'dart:core'.";
-static const field core::List<core::String*>* barWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:25:51: Error: Unexpected type 'Map<String, String>' of a spread.  Expected 'dynamic' or an Iterable.
+static const field core::List<core::String> barWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:25:51: Error: Unexpected type 'Map<String, String>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
 const List<String> barWithMapSpread = [...foo, ...quux];
                                                   ^";
-static const field core::List<core::String*>* barWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::List<core::String*>* barWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field self::CustomIterable* customIterable = #C11;
-static const field core::List<core::String*>* barWithCustomIterableSpread3 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::List<core::String*>* listConcat = invalid-expression "The method '+' can't be invoked on '<String>[\"Hello\"]' in a constant expression.";
-static const field core::Set<core::String*>* nullSet = #C3;
-static const field core::Set<core::String*>* baz = #C12;
-static const field core::Set<core::String*>* qux = #C13;
-static const field core::Set<core::String*>* quxWithNullSpread = invalid-expression "Null value during constant evaluation.";
-static const field core::Set<core::String*>* quxWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:41:50: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
+static const field core::List<core::String> barWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::List<core::String> barWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field self::CustomIterable customIterable = #C9;
+static const field core::List<core::String> barWithCustomIterableSpread3 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::List<core::String> listConcat = invalid-expression "The method '+' can't be invoked on '<String>[\"Hello\"]' in a constant expression.";
+static const field core::Set<core::String>? nullSet = #C2;
+static const field core::Set<core::String> baz = #C10;
+static const field core::Set<core::String> qux = #C11;
+static const field core::Set<core::String> quxWithNullSpread = #C10;
+static const field core::Set<core::String> quxWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:41:50: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
 const Set<String> quxWithIntSpread = {...baz, ...fortyTwo};
                                                  ^";
-static const field core::Set<core::String*>* quxWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:42:38: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Set<core::String> quxWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:42:38: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Set<String> quxWithMapSpread = {...baz, ...quux};
                                      ^";
-static const field core::Set<core::String*>* quxWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::Set<core::String*>* quxWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::Set<core::String*>* quxWithCustomIterableSpread3 = 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> quxWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::Set<core::String> quxWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::Set<core::String> quxWithCustomIterableSpread3 = 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};
                                                           ^";
-static const field core::Set<dynamic>* setWithNonPrimitiveEquals = invalid-expression "The element 'WithEquals {i: 42}' does not have a primitive operator '=='.
+static const field core::Set<dynamic> setWithNonPrimitiveEquals = invalid-expression "The element 'WithEquals {i: 42}' does not have a primitive operator '=='.
  - 'WithEquals' is from 'pkg/front_end/testcases/general/constants/const_collections.dart'.";
-static const field core::Set<dynamic>* setWithDuplicates = invalid-expression "The element '42' conflicts with another existing element in the set.";
-static const field core::Map<core::String*, core::String*>* nullMap = #C3;
-static const field core::Map<core::String*, core::String*>* quux = #C14;
-static const field core::Map<core::String*, core::String*>* quuz = #C16;
-static const field core::Map<core::String*, core::String*>* quuzWithNullSpread = invalid-expression "Null value during constant evaluation.";
-static const field core::Map<core::String*, core::String*>* quuzWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:58:60: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
+static const field core::Set<dynamic> setWithDuplicates = invalid-expression "The element '42' conflicts with another existing element in the set.";
+static const field core::Map<core::String, core::String>? nullMap = #C2;
+static const field core::Map<core::String, core::String> quux = #C12;
+static const field core::Map<core::String, core::String> quuz = #C14;
+static const field core::Map<core::String, core::String> quuzWithNullSpread = #C12;
+static const field core::Map<core::String, core::String> quuzWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:58:60: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
 const Map<String, String> quuzWithIntSpread = {...quux, ...fortyTwo};
                                                            ^";
-static const field core::Map<core::String*, core::String*>* quuzWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:59:47: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Map<core::String, core::String> quuzWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:59:47: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Map<String, String> quuzWithSetSpread = {...quux, ...baz};
                                               ^";
-static const field core::Map<core::String*, core::String*>* mapWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:60:46: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Map<core::String, core::String> mapWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:60:46: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Map<String, String> mapWithSetSpread = {...baz};
                                              ^";
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap1 = invalid-expression "Only maps can be used in spreads in constant maps.";
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap2 = invalid-expression "Only maps can be used in spreads in constant maps.";
-static const field core::Map<core::String*, core::String*>* customMap = #C17;
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap3 = invalid-expression "Only maps can be used in spreads in constant maps.";
-static const field core::Map<dynamic, core::int*>* mapWithNonPrimitiveEqualsKey = invalid-expression "The key 'WithEquals {i: 42}' does not have a primitive operator '=='.
+static const field core::Map<core::String, core::String> mapWithCustomMap1 = invalid-expression "Only maps can be used in spreads in constant maps.";
+static const field core::Map<core::String, core::String> mapWithCustomMap2 = invalid-expression "Only maps can be used in spreads in constant maps.";
+static const field core::Map<core::String, core::String> customMap = #C15;
+static const field core::Map<core::String, core::String> mapWithCustomMap3 = invalid-expression "Only maps can be used in spreads in constant maps.";
+static const field core::Map<dynamic, core::int> mapWithNonPrimitiveEqualsKey = invalid-expression "The key 'WithEquals {i: 42}' does not have a primitive operator '=='.
  - 'WithEquals' is from 'pkg/front_end/testcases/general/constants/const_collections.dart'.";
-static const field core::Map<core::int*, core::int*>* mapWithDuplicates = invalid-expression "The key '42' conflicts with another existing key in the map.";
-static get fooAsGetter() → core::List<core::String*>*
+static const field core::Map<core::int, core::int> mapWithDuplicates = invalid-expression "The key '42' conflicts with another existing key in the map.";
+static get fooAsGetter() → core::List<core::String>
+  return #C6;
+static get barAsGetter() → core::List<core::String>
   return #C8;
-static get barAsGetter() → core::List<core::String*>*
+static get bazAsGetter() → core::Set<core::String>
   return #C10;
-static get bazAsGetter() → core::Set<core::String*>*
+static get quxAsGetter() → core::Set<core::String>
+  return #C11;
+static get quuxAsGetter() → core::Map<core::String, core::String>
   return #C12;
-static get quxAsGetter() → core::Set<core::String*>*
-  return #C13;
-static get quuxAsGetter() → core::Map<core::String*, core::String*>*
+static get quuzAsGetter() → core::Map<core::String, core::String>
   return #C14;
-static get quuzAsGetter() → core::Map<core::String*, core::String*>*
-  return #C16;
 static method main() → dynamic {
-  core::print(#C10);
-  core::print(#C13);
-  core::print(#C16);
+  core::print(#C8);
+  core::print(#C11);
+  core::print(#C14);
   core::print( block {
-    final core::Set<core::String*>* #t2 = col::LinkedHashSet::•<core::String*>();
-    #t2.{core::Set::add}{Invariant}("hello"){(core::String*) →* core::bool*};
+    final core::Set<core::String> #t2 = col::LinkedHashSet::•<core::String>();
+    #t2.{core::Set::add}{Invariant}("hello"){(core::String) → core::bool};
   } =>#t2);
-  core::print(#C18);
+  core::print(#C16);
 }
 
 constants  {
-  #C1 = ""
-  #C2 = true
-  #C3 = null
-  #C4 = core::_Override {}
-  #C5 = 42
-  #C6 = "hello"
-  #C7 = "world"
-  #C8 = <core::String*>[#C6, #C7]
-  #C9 = "!"
-  #C10 = <core::String*>[#C6, #C7, #C9]
-  #C11 = self::CustomIterable {}
-  #C12 = <core::String*>{#C6, #C7}
-  #C13 = <core::String*>{#C6, #C7, #C9}
-  #C14 = <core::String*, core::String*>{#C6:#C7)
-  #C15 = "bye!"
-  #C16 = <core::String*, core::String*>{#C6:#C7, #C9:#C15)
-  #C17 = self::CustomMap {}
-  #C18 = <core::String*>{#C6}
+  #C1 = core::_Override {}
+  #C2 = null
+  #C3 = 42
+  #C4 = "hello"
+  #C5 = "world"
+  #C6 = <core::String*>[#C4, #C5]
+  #C7 = "!"
+  #C8 = <core::String*>[#C4, #C5, #C7]
+  #C9 = self::CustomIterable {}
+  #C10 = <core::String*>{#C4, #C5}
+  #C11 = <core::String*>{#C4, #C5, #C7}
+  #C12 = <core::String*, core::String*>{#C4:#C5)
+  #C13 = "bye!"
+  #C14 = <core::String*, core::String*>{#C4:#C5, #C7:#C13)
+  #C15 = self::CustomMap {}
+  #C16 = <core::String*>{#C4}
 }
 
 
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.modular.expect
index 456d5c3..5043c10 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -36,16 +36,6 @@
 // const Map<String, String> mapWithSetSpread = {...baz};
 //                                              ^
 //
-// pkg/front_end/testcases/general/constants/const_collections.dart:22:40: Error: Constant evaluation error:
-// const List<String> barWithNullSpread = [...foo, ...nullList];
-//                                        ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:22:52: Context: Null value during constant evaluation.
-// const List<String> barWithNullSpread = [...foo, ...nullList];
-//                                                    ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:22:20: Context: While analyzing:
-// const List<String> barWithNullSpread = [...foo, ...nullList];
-//                    ^
-//
 // pkg/front_end/testcases/general/constants/const_collections.dart:24:46: Error: Constant evaluation error:
 // const List<String> barWithIntDynamicSpread = [...foo, ...fortyTwoAsDynamic];
 //                                              ^
@@ -97,16 +87,6 @@
 // const List<String> listConcat = ["Hello"] + ["World"];
 //                    ^
 //
-// pkg/front_end/testcases/general/constants/const_collections.dart:40:39: Error: Constant evaluation error:
-// const Set<String> quxWithNullSpread = {...baz, ...nullSet};
-//                                       ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:40:51: Context: Null value during constant evaluation.
-// const Set<String> quxWithNullSpread = {...baz, ...nullSet};
-//                                                   ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:40:19: Context: While analyzing:
-// const Set<String> quxWithNullSpread = {...baz, ...nullSet};
-//                   ^
-//
 // pkg/front_end/testcases/general/constants/const_collections.dart:43:50: Error: Constant evaluation error:
 // const Set<String> quxWithCustomIterableSpread1 = {
 //                                                  ^
@@ -148,16 +128,6 @@
 // const Set<dynamic> setWithDuplicates = {42, 42};
 //                    ^
 //
-// pkg/front_end/testcases/general/constants/const_collections.dart:57:27: Error: Constant evaluation error:
-// const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
-//                           ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:57:61: Context: Null value during constant evaluation.
-// const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
-//                                                             ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:57:27: Context: While analyzing:
-// const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
-//                           ^
-//
 // pkg/front_end/testcases/general/constants/const_collections.dart:61:27: Error: Constant evaluation error:
 // const Map<String, String> mapWithCustomMap1 = {...const CustomMap()};
 //                           ^
@@ -215,291 +185,198 @@
 
 import "dart:collection";
 
-class ConstIterable extends col::IterableBase<core::int*> /*hasConstConstructor*/  {
-  const constructor •() → self::ConstIterable*
+class ConstIterable extends col::IterableBase<core::int> /*hasConstConstructor*/  {
+  const constructor •() → self::ConstIterable
     : super col::IterableBase::•()
     ;
-  get iterator() → core::Iterator<core::int*>*
-    return <core::int*>[].{core::Iterable::iterator}{core::Iterator<core::int*>*};
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::ConstIterable::cast::R*>*; -> core::Iterable::cast
-  abstract member-signature method followedBy(covariant-by-class core::Iterable<core::int*>* other) → core::Iterable<core::int*>*; -> core::Iterable::followedBy
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::int*) →* self::ConstIterable::map::T* toElement) → core::Iterable<self::ConstIterable::map::T*>*; -> core::Iterable::map
-  abstract member-signature method where((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::where
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::ConstIterable::whereType::T*>*; -> core::Iterable::whereType
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::int*) →* core::Iterable<self::ConstIterable::expand::T*>* toElements) → core::Iterable<self::ConstIterable::expand::T*>*; -> core::Iterable::expand
-  abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
-  abstract member-signature method forEach((core::int*) →* void action) → void; -> core::Iterable::forEach
-  abstract member-signature method reduce(covariant-by-class (core::int*, core::int*) →* core::int* combine) → core::int*; -> core::Iterable::reduce
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::ConstIterable::fold::T* initialValue, (self::ConstIterable::fold::T*, core::int*) →* self::ConstIterable::fold::T* combine) → self::ConstIterable::fold::T*; -> core::Iterable::fold
-  abstract member-signature method every((core::int*) →* core::bool* test) → core::bool*; -> core::Iterable::every
-  abstract member-signature method join([core::String* separator = #C1]) → core::String*; -> core::Iterable::join
-  abstract member-signature method any((core::int*) →* core::bool* test) → core::bool*; -> core::Iterable::any
-  abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::int*>*; -> core::Iterable::toList
-  abstract member-signature method toSet() → core::Set<core::int*>*; -> core::Iterable::toSet
-  abstract member-signature get length() → core::int*; -> core::Iterable::length
-  abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
-  abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
-  abstract member-signature method take(core::int* count) → core::Iterable<core::int*>*; -> core::Iterable::take
-  abstract member-signature method takeWhile((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::takeWhile
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::int*>*; -> core::Iterable::skip
-  abstract member-signature method skipWhile((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::skipWhile
-  abstract member-signature method firstWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse = #C3}) → core::int*; -> core::Iterable::firstWhere
-  abstract member-signature method lastWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse = #C3}) → core::int*; -> core::Iterable::lastWhere
-  abstract member-signature method singleWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse = #C3}) → core::int*; -> core::Iterable::singleWhere
-  abstract member-signature method elementAt(core::int* index) → core::int*; -> core::Iterable::elementAt
-  abstract member-signature method toString() → core::String*; -> core::Iterable::toString
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  get iterator() → core::Iterator<core::int>
+    return <core::int>[].{core::Iterable::iterator}{core::Iterator<core::int>};
 }
 class WithEquals extends core::Object /*hasConstConstructor*/  {
-  final field core::int* i;
-  const constructor •(core::int* i) → self::WithEquals*
+  final field core::int i;
+  const constructor •(core::int i) → self::WithEquals
     : self::WithEquals::i = i, super core::Object::•()
     ;
-  operator ==(core::Object* o) → core::bool* {
-    return o is self::WithEquals* && (o{self::WithEquals*} as self::WithEquals*).{self::WithEquals::i}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} this.{self::WithEquals::i}{core::int*};
+  operator ==(core::Object o) → core::bool {
+    return o is{ForNonNullableByDefault} self::WithEquals && (o{self::WithEquals} as{ForNonNullableByDefault} self::WithEquals).{self::WithEquals::i}{core::int} =={core::num::==}{(core::Object) → core::bool} this.{self::WithEquals::i}{core::int};
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-class CustomIterable extends col::IterableBase<core::String*> /*hasConstConstructor*/  {
-  const constructor •() → self::CustomIterable*
+class CustomIterable extends col::IterableBase<core::String> /*hasConstConstructor*/  {
+  const constructor •() → self::CustomIterable
     : super col::IterableBase::•()
     ;
-  get iterator() → core::Iterator<core::String*>*
-    return <core::String*>[].{core::Iterable::iterator}{core::Iterator<core::String*>*};
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::CustomIterable::cast::R*>*; -> core::Iterable::cast
-  abstract member-signature method followedBy(covariant-by-class core::Iterable<core::String*>* other) → core::Iterable<core::String*>*; -> core::Iterable::followedBy
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::String*) →* self::CustomIterable::map::T* toElement) → core::Iterable<self::CustomIterable::map::T*>*; -> core::Iterable::map
-  abstract member-signature method where((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::where
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::CustomIterable::whereType::T*>*; -> core::Iterable::whereType
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::String*) →* core::Iterable<self::CustomIterable::expand::T*>* toElements) → core::Iterable<self::CustomIterable::expand::T*>*; -> core::Iterable::expand
-  abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
-  abstract member-signature method forEach((core::String*) →* void action) → void; -> core::Iterable::forEach
-  abstract member-signature method reduce(covariant-by-class (core::String*, core::String*) →* core::String* combine) → core::String*; -> core::Iterable::reduce
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::CustomIterable::fold::T* initialValue, (self::CustomIterable::fold::T*, core::String*) →* self::CustomIterable::fold::T* combine) → self::CustomIterable::fold::T*; -> core::Iterable::fold
-  abstract member-signature method every((core::String*) →* core::bool* test) → core::bool*; -> core::Iterable::every
-  abstract member-signature method join([core::String* separator = #C1]) → core::String*; -> core::Iterable::join
-  abstract member-signature method any((core::String*) →* core::bool* test) → core::bool*; -> core::Iterable::any
-  abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::String*>*; -> core::Iterable::toList
-  abstract member-signature method toSet() → core::Set<core::String*>*; -> core::Iterable::toSet
-  abstract member-signature get length() → core::int*; -> core::Iterable::length
-  abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
-  abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
-  abstract member-signature method take(core::int* count) → core::Iterable<core::String*>*; -> core::Iterable::take
-  abstract member-signature method takeWhile((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::takeWhile
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::String*>*; -> core::Iterable::skip
-  abstract member-signature method skipWhile((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::skipWhile
-  abstract member-signature method firstWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse = #C3}) → core::String*; -> core::Iterable::firstWhere
-  abstract member-signature method lastWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse = #C3}) → core::String*; -> core::Iterable::lastWhere
-  abstract member-signature method singleWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse = #C3}) → core::String*; -> core::Iterable::singleWhere
-  abstract member-signature method elementAt(core::int* index) → core::String*; -> core::Iterable::elementAt
-  abstract member-signature method toString() → core::String*; -> core::Iterable::toString
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  get iterator() → core::Iterator<core::String>
+    return <core::String>[].{core::Iterable::iterator}{core::Iterator<core::String>};
 }
-class CustomMap extends core::Object implements core::Map<core::String*, core::String*> /*hasConstConstructor*/  {
-  const constructor •() → self::CustomMap*
+class CustomMap extends core::Object implements core::Map<core::String, core::String> /*hasConstConstructor*/  {
+  const constructor •() → self::CustomMap
     : super core::Object::•()
     ;
-  @#C4
-  get entries() → core::Iterable<core::MapEntry<core::String*, core::String*>*>*
-    return <core::MapEntry<core::String*, core::String*>*>[];
-  @#C4
-  operator [](core::Object* key) → core::String*
+  @#C1
+  get entries() → core::Iterable<core::MapEntry<core::String, core::String>>
+    return <core::MapEntry<core::String, core::String>>[];
+  @#C1
+  operator [](core::Object? key) → core::String
     return throw new core::UnimplementedError::•();
-  @#C4
-  operator []=(covariant-by-class core::String* key, covariant-by-class core::String* value) → void
+  @#C1
+  operator []=(covariant-by-class core::String key, covariant-by-class core::String value) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method cast<RK extends core::Object* = dynamic, RV extends core::Object* = dynamic>() → core::Map<self::CustomMap::cast::RK*, self::CustomMap::cast::RV*>*
+  @#C1
+  method cast<RK extends core::Object? = dynamic, RV extends core::Object? = dynamic>() → core::Map<self::CustomMap::cast::RK%, self::CustomMap::cast::RV%>
     return throw new core::UnimplementedError::•();
-  @#C4
+  @#C1
   method clear() → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method containsKey(core::Object* key) → core::bool*
+  @#C1
+  method containsKey(core::Object? key) → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  method containsValue(core::Object* value) → core::bool*
+  @#C1
+  method containsValue(core::Object? value) → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  get isEmpty() → core::bool*
+  @#C1
+  get isEmpty() → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  get isNotEmpty() → core::bool*
+  @#C1
+  get isNotEmpty() → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  get keys() → core::Iterable<core::String*>*
+  @#C1
+  get keys() → core::Iterable<core::String>
     return throw new core::UnimplementedError::•();
-  @#C4
-  get length() → core::int*
+  @#C1
+  get length() → core::int
     return throw new core::UnimplementedError::•();
-  @#C4
-  method remove(core::Object* key) → core::String*
+  @#C1
+  method remove(core::Object? key) → core::String
     return throw new core::UnimplementedError::•();
-  @#C4
-  get values() → core::Iterable<core::String*>*
+  @#C1
+  get values() → core::Iterable<core::String>
     return throw new core::UnimplementedError::•();
-  @#C4
-  method addAll(covariant-by-class core::Map<core::String*, core::String*>* other) → void
+  @#C1
+  method addAll(covariant-by-class core::Map<core::String, core::String> other) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method addEntries(covariant-by-class core::Iterable<core::MapEntry<core::String*, core::String*>*>* newEntries) → void
+  @#C1
+  method addEntries(covariant-by-class core::Iterable<core::MapEntry<core::String, core::String>> newEntries) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method forEach((core::String*, core::String*) →* void f) → void
+  @#C1
+  method forEach((core::String, core::String) → void f) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method putIfAbsent(covariant-by-class core::String* key, covariant-by-class () →* core::String* ifAbsent) → core::String*
+  @#C1
+  method putIfAbsent(covariant-by-class core::String key, covariant-by-class () → core::String ifAbsent) → core::String
     return throw new core::UnimplementedError::•();
-  @#C4
-  method updateAll(covariant-by-class (core::String*, core::String*) →* core::String* update) → void
+  @#C1
+  method updateAll(covariant-by-class (core::String, core::String) → core::String update) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method removeWhere((core::String*, core::String*) →* core::bool* predicate) → void
+  @#C1
+  method removeWhere((core::String, core::String) → core::bool predicate) → void
     return throw new core::UnimplementedError::•();
-  method update(covariant-by-class core::String* key, covariant-by-class (core::String*) →* core::String* update, {covariant-by-class () →* core::String* ifAbsent = #C3}) → core::String*
+  method update(covariant-by-class core::String key, covariant-by-class (core::String) → core::String update, {covariant-by-class () →? core::String ifAbsent = #C2}) → core::String
     return throw new core::UnimplementedError::•();
-  method map<K2 extends core::Object* = dynamic, V2 extends core::Object* = dynamic>((core::String*, core::String*) →* core::MapEntry<self::CustomMap::map::K2*, self::CustomMap::map::V2*>* f) → core::Map<self::CustomMap::map::K2*, self::CustomMap::map::V2*>*
+  method map<K2 extends core::Object? = dynamic, V2 extends core::Object? = dynamic>((core::String, core::String) → core::MapEntry<self::CustomMap::map::K2%, self::CustomMap::map::V2%> f) → core::Map<self::CustomMap::map::K2%, self::CustomMap::map::V2%>
     return throw new core::UnimplementedError::•();
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field core::int* fortyTwo = #C5;
-static const field dynamic fortyTwoAsDynamic = #C5;
-static const field core::List<core::String*>* nullList = #C3;
-static const field core::List<core::String*>* foo = #C8;
-static const field core::List<core::String*>* bar = #C10;
-static field core::List<core::String*>* barAsVar = block {
-  final core::List<core::String*>* #t1 = core::List::of<core::String*>(#C8);
-  #t1.{core::List::add}{Invariant}("!"){(core::String*) →* void};
+static const field core::int fortyTwo = #C3;
+static const field dynamic fortyTwoAsDynamic = #C3;
+static const field core::List<core::String>? nullList = #C2;
+static const field core::List<core::String> foo = #C6;
+static const field core::List<core::String> bar = #C8;
+static field core::List<core::String> barAsVar = block {
+  final core::List<core::String> #t1 = core::List::of<core::String>(#C6);
+  #t1.{core::List::add}{Invariant}("!"){(core::String) → void};
 } =>#t1;
-static const field core::List<core::String*>* barWithNullSpread = invalid-expression "Null value during constant evaluation.";
-static const field core::List<core::String*>* barWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
+static const field core::List<core::String> barWithNullSpread = #C6;
+static const field core::List<core::String> barWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
 const List<String> barWithIntSpread = [...foo, ...fortyTwo];
                                                   ^";
-static const field core::List<core::String*>* barWithIntDynamicSpread = invalid-expression "Expected constant '42' to be of type 'Iterable<dynamic>', but was of type 'int'.
+static const field core::List<core::String> barWithIntDynamicSpread = invalid-expression "Expected constant '42' to be of type 'Iterable<dynamic>', but was of type 'int'.
  - 'Iterable' is from 'dart:core'.";
-static const field core::List<core::String*>* barWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:25:51: Error: Unexpected type 'Map<String, String>' of a spread.  Expected 'dynamic' or an Iterable.
+static const field core::List<core::String> barWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:25:51: Error: Unexpected type 'Map<String, String>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
 const List<String> barWithMapSpread = [...foo, ...quux];
                                                   ^";
-static const field core::List<core::String*>* barWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::List<core::String*>* barWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field self::CustomIterable* customIterable = #C11;
-static const field core::List<core::String*>* barWithCustomIterableSpread3 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::List<core::String*>* listConcat = invalid-expression "The method '+' can't be invoked on '<String>[\"Hello\"]' in a constant expression.";
-static const field core::Set<core::String*>* nullSet = #C3;
-static const field core::Set<core::String*>* baz = #C12;
-static const field core::Set<core::String*>* qux = #C13;
-static const field core::Set<core::String*>* quxWithNullSpread = invalid-expression "Null value during constant evaluation.";
-static const field core::Set<core::String*>* quxWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:41:50: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
+static const field core::List<core::String> barWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::List<core::String> barWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field self::CustomIterable customIterable = #C9;
+static const field core::List<core::String> barWithCustomIterableSpread3 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::List<core::String> listConcat = invalid-expression "The method '+' can't be invoked on '<String>[\"Hello\"]' in a constant expression.";
+static const field core::Set<core::String>? nullSet = #C2;
+static const field core::Set<core::String> baz = #C10;
+static const field core::Set<core::String> qux = #C11;
+static const field core::Set<core::String> quxWithNullSpread = #C10;
+static const field core::Set<core::String> quxWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:41:50: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
 const Set<String> quxWithIntSpread = {...baz, ...fortyTwo};
                                                  ^";
-static const field core::Set<core::String*>* quxWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:42:38: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Set<core::String> quxWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:42:38: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Set<String> quxWithMapSpread = {...baz, ...quux};
                                      ^";
-static const field core::Set<core::String*>* quxWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::Set<core::String*>* quxWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::Set<core::String*>* quxWithCustomIterableSpread3 = 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> quxWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::Set<core::String> quxWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::Set<core::String> quxWithCustomIterableSpread3 = 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};
                                                           ^";
-static const field core::Set<dynamic>* setWithNonPrimitiveEquals = invalid-expression "The element 'WithEquals {i: 42}' does not have a primitive operator '=='.
+static const field core::Set<dynamic> setWithNonPrimitiveEquals = invalid-expression "The element 'WithEquals {i: 42}' does not have a primitive operator '=='.
  - 'WithEquals' is from 'pkg/front_end/testcases/general/constants/const_collections.dart'.";
-static const field core::Set<dynamic>* setWithDuplicates = invalid-expression "The element '42' conflicts with another existing element in the set.";
-static const field core::Map<core::String*, core::String*>* nullMap = #C3;
-static const field core::Map<core::String*, core::String*>* quux = #C14;
-static const field core::Map<core::String*, core::String*>* quuz = #C16;
-static const field core::Map<core::String*, core::String*>* quuzWithNullSpread = invalid-expression "Null value during constant evaluation.";
-static const field core::Map<core::String*, core::String*>* quuzWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:58:60: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
+static const field core::Set<dynamic> setWithDuplicates = invalid-expression "The element '42' conflicts with another existing element in the set.";
+static const field core::Map<core::String, core::String>? nullMap = #C2;
+static const field core::Map<core::String, core::String> quux = #C12;
+static const field core::Map<core::String, core::String> quuz = #C14;
+static const field core::Map<core::String, core::String> quuzWithNullSpread = #C12;
+static const field core::Map<core::String, core::String> quuzWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:58:60: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
 const Map<String, String> quuzWithIntSpread = {...quux, ...fortyTwo};
                                                            ^";
-static const field core::Map<core::String*, core::String*>* quuzWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:59:47: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Map<core::String, core::String> quuzWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:59:47: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Map<String, String> quuzWithSetSpread = {...quux, ...baz};
                                               ^";
-static const field core::Map<core::String*, core::String*>* mapWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:60:46: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Map<core::String, core::String> mapWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:60:46: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Map<String, String> mapWithSetSpread = {...baz};
                                              ^";
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap1 = invalid-expression "Only maps can be used in spreads in constant maps.";
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap2 = invalid-expression "Only maps can be used in spreads in constant maps.";
-static const field core::Map<core::String*, core::String*>* customMap = #C17;
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap3 = invalid-expression "Only maps can be used in spreads in constant maps.";
-static const field core::Map<dynamic, core::int*>* mapWithNonPrimitiveEqualsKey = invalid-expression "The key 'WithEquals {i: 42}' does not have a primitive operator '=='.
+static const field core::Map<core::String, core::String> mapWithCustomMap1 = invalid-expression "Only maps can be used in spreads in constant maps.";
+static const field core::Map<core::String, core::String> mapWithCustomMap2 = invalid-expression "Only maps can be used in spreads in constant maps.";
+static const field core::Map<core::String, core::String> customMap = #C15;
+static const field core::Map<core::String, core::String> mapWithCustomMap3 = invalid-expression "Only maps can be used in spreads in constant maps.";
+static const field core::Map<dynamic, core::int> mapWithNonPrimitiveEqualsKey = invalid-expression "The key 'WithEquals {i: 42}' does not have a primitive operator '=='.
  - 'WithEquals' is from 'pkg/front_end/testcases/general/constants/const_collections.dart'.";
-static const field core::Map<core::int*, core::int*>* mapWithDuplicates = invalid-expression "The key '42' conflicts with another existing key in the map.";
-static get fooAsGetter() → core::List<core::String*>*
+static const field core::Map<core::int, core::int> mapWithDuplicates = invalid-expression "The key '42' conflicts with another existing key in the map.";
+static get fooAsGetter() → core::List<core::String>
+  return #C6;
+static get barAsGetter() → core::List<core::String>
   return #C8;
-static get barAsGetter() → core::List<core::String*>*
+static get bazAsGetter() → core::Set<core::String>
   return #C10;
-static get bazAsGetter() → core::Set<core::String*>*
+static get quxAsGetter() → core::Set<core::String>
+  return #C11;
+static get quuxAsGetter() → core::Map<core::String, core::String>
   return #C12;
-static get quxAsGetter() → core::Set<core::String*>*
-  return #C13;
-static get quuxAsGetter() → core::Map<core::String*, core::String*>*
+static get quuzAsGetter() → core::Map<core::String, core::String>
   return #C14;
-static get quuzAsGetter() → core::Map<core::String*, core::String*>*
-  return #C16;
 static method main() → dynamic {
-  core::print(#C10);
-  core::print(#C13);
-  core::print(#C16);
+  core::print(#C8);
+  core::print(#C11);
+  core::print(#C14);
   core::print( block {
-    final core::Set<core::String*>* #t2 = col::LinkedHashSet::•<core::String*>();
-    #t2.{core::Set::add}{Invariant}("hello"){(core::String*) →* core::bool*};
+    final core::Set<core::String> #t2 = col::LinkedHashSet::•<core::String>();
+    #t2.{core::Set::add}{Invariant}("hello"){(core::String) → core::bool};
   } =>#t2);
-  core::print(#C18);
+  core::print(#C16);
 }
 
 constants  {
-  #C1 = ""
-  #C2 = true
-  #C3 = null
-  #C4 = core::_Override {}
-  #C5 = 42
-  #C6 = "hello"
-  #C7 = "world"
-  #C8 = <core::String*>[#C6, #C7]
-  #C9 = "!"
-  #C10 = <core::String*>[#C6, #C7, #C9]
-  #C11 = self::CustomIterable {}
-  #C12 = <core::String*>{#C6, #C7}
-  #C13 = <core::String*>{#C6, #C7, #C9}
-  #C14 = <core::String*, core::String*>{#C6:#C7)
-  #C15 = "bye!"
-  #C16 = <core::String*, core::String*>{#C6:#C7, #C9:#C15)
-  #C17 = self::CustomMap {}
-  #C18 = <core::String*>{#C6}
+  #C1 = core::_Override {}
+  #C2 = null
+  #C3 = 42
+  #C4 = "hello"
+  #C5 = "world"
+  #C6 = <core::String*>[#C4, #C5]
+  #C7 = "!"
+  #C8 = <core::String*>[#C4, #C5, #C7]
+  #C9 = self::CustomIterable {}
+  #C10 = <core::String*>{#C4, #C5}
+  #C11 = <core::String*>{#C4, #C5, #C7}
+  #C12 = <core::String*, core::String*>{#C4:#C5)
+  #C13 = "bye!"
+  #C14 = <core::String*, core::String*>{#C4:#C5, #C7:#C13)
+  #C15 = self::CustomMap {}
+  #C16 = <core::String*>{#C4}
 }
 
 
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 bc85ecb..d73794e 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
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -42,253 +42,162 @@
 
 import "dart:collection";
 
-class ConstIterable extends col::IterableBase<core::int*> /*hasConstConstructor*/  {
-  const constructor •() → self::ConstIterable*
+class ConstIterable extends col::IterableBase<core::int> /*hasConstConstructor*/  {
+  const constructor •() → self::ConstIterable
     : super col::IterableBase::•()
     ;
-  get iterator() → core::Iterator<core::int*>*
+  get iterator() → core::Iterator<core::int>
     ;
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::ConstIterable::cast::R*>*; -> core::Iterable::cast
-  abstract member-signature method followedBy(covariant-by-class core::Iterable<core::int*>* other) → core::Iterable<core::int*>*; -> core::Iterable::followedBy
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::int*) →* self::ConstIterable::map::T* toElement) → core::Iterable<self::ConstIterable::map::T*>*; -> core::Iterable::map
-  abstract member-signature method where((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::where
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::ConstIterable::whereType::T*>*; -> core::Iterable::whereType
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::int*) →* core::Iterable<self::ConstIterable::expand::T*>* toElements) → core::Iterable<self::ConstIterable::expand::T*>*; -> core::Iterable::expand
-  abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
-  abstract member-signature method forEach((core::int*) →* void action) → void; -> core::Iterable::forEach
-  abstract member-signature method reduce(covariant-by-class (core::int*, core::int*) →* core::int* combine) → core::int*; -> core::Iterable::reduce
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::ConstIterable::fold::T* initialValue, (self::ConstIterable::fold::T*, core::int*) →* self::ConstIterable::fold::T* combine) → self::ConstIterable::fold::T*; -> core::Iterable::fold
-  abstract member-signature method every((core::int*) →* core::bool* test) → core::bool*; -> core::Iterable::every
-  abstract member-signature method join([core::String* separator]) → core::String*; -> core::Iterable::join
-  abstract member-signature method any((core::int*) →* core::bool* test) → core::bool*; -> core::Iterable::any
-  abstract member-signature method toList({core::bool* growable}) → core::List<core::int*>*; -> core::Iterable::toList
-  abstract member-signature method toSet() → core::Set<core::int*>*; -> core::Iterable::toSet
-  abstract member-signature get length() → core::int*; -> core::Iterable::length
-  abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
-  abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
-  abstract member-signature method take(core::int* count) → core::Iterable<core::int*>*; -> core::Iterable::take
-  abstract member-signature method takeWhile((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::takeWhile
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::int*>*; -> core::Iterable::skip
-  abstract member-signature method skipWhile((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::skipWhile
-  abstract member-signature method firstWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse}) → core::int*; -> core::Iterable::firstWhere
-  abstract member-signature method lastWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse}) → core::int*; -> core::Iterable::lastWhere
-  abstract member-signature method singleWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse}) → core::int*; -> core::Iterable::singleWhere
-  abstract member-signature method elementAt(core::int* index) → core::int*; -> core::Iterable::elementAt
-  abstract member-signature method toString() → core::String*; -> core::Iterable::toString
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class WithEquals extends core::Object /*hasConstConstructor*/  {
-  final field core::int* i;
-  const constructor •(core::int* i) → self::WithEquals*
+  final field core::int i;
+  const constructor •(core::int i) → self::WithEquals
     : self::WithEquals::i = i, super core::Object::•()
     ;
-  operator ==(core::Object* o) → core::bool*
+  operator ==(core::Object o) → core::bool
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-class CustomIterable extends col::IterableBase<core::String*> /*hasConstConstructor*/  {
-  const constructor •() → self::CustomIterable*
+class CustomIterable extends col::IterableBase<core::String> /*hasConstConstructor*/  {
+  const constructor •() → self::CustomIterable
     : super col::IterableBase::•()
     ;
-  get iterator() → core::Iterator<core::String*>*
+  get iterator() → core::Iterator<core::String>
     ;
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::CustomIterable::cast::R*>*; -> core::Iterable::cast
-  abstract member-signature method followedBy(covariant-by-class core::Iterable<core::String*>* other) → core::Iterable<core::String*>*; -> core::Iterable::followedBy
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::String*) →* self::CustomIterable::map::T* toElement) → core::Iterable<self::CustomIterable::map::T*>*; -> core::Iterable::map
-  abstract member-signature method where((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::where
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::CustomIterable::whereType::T*>*; -> core::Iterable::whereType
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::String*) →* core::Iterable<self::CustomIterable::expand::T*>* toElements) → core::Iterable<self::CustomIterable::expand::T*>*; -> core::Iterable::expand
-  abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
-  abstract member-signature method forEach((core::String*) →* void action) → void; -> core::Iterable::forEach
-  abstract member-signature method reduce(covariant-by-class (core::String*, core::String*) →* core::String* combine) → core::String*; -> core::Iterable::reduce
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::CustomIterable::fold::T* initialValue, (self::CustomIterable::fold::T*, core::String*) →* self::CustomIterable::fold::T* combine) → self::CustomIterable::fold::T*; -> core::Iterable::fold
-  abstract member-signature method every((core::String*) →* core::bool* test) → core::bool*; -> core::Iterable::every
-  abstract member-signature method join([core::String* separator]) → core::String*; -> core::Iterable::join
-  abstract member-signature method any((core::String*) →* core::bool* test) → core::bool*; -> core::Iterable::any
-  abstract member-signature method toList({core::bool* growable}) → core::List<core::String*>*; -> core::Iterable::toList
-  abstract member-signature method toSet() → core::Set<core::String*>*; -> core::Iterable::toSet
-  abstract member-signature get length() → core::int*; -> core::Iterable::length
-  abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
-  abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
-  abstract member-signature method take(core::int* count) → core::Iterable<core::String*>*; -> core::Iterable::take
-  abstract member-signature method takeWhile((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::takeWhile
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::String*>*; -> core::Iterable::skip
-  abstract member-signature method skipWhile((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::skipWhile
-  abstract member-signature method firstWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse}) → core::String*; -> core::Iterable::firstWhere
-  abstract member-signature method lastWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse}) → core::String*; -> core::Iterable::lastWhere
-  abstract member-signature method singleWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse}) → core::String*; -> core::Iterable::singleWhere
-  abstract member-signature method elementAt(core::int* index) → core::String*; -> core::Iterable::elementAt
-  abstract member-signature method toString() → core::String*; -> core::Iterable::toString
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-class CustomMap extends core::Object implements core::Map<core::String*, core::String*> /*hasConstConstructor*/  {
-  const constructor •() → self::CustomMap*
+class CustomMap extends core::Object implements core::Map<core::String, core::String> /*hasConstConstructor*/  {
+  const constructor •() → self::CustomMap
     : super core::Object::•()
     ;
   @core::override
-  get entries() → core::Iterable<core::MapEntry<core::String*, core::String*>*>*
+  get entries() → core::Iterable<core::MapEntry<core::String, core::String>>
     ;
   @core::override
-  operator [](core::Object* key) → core::String*
+  operator [](core::Object? key) → core::String
     ;
   @core::override
-  operator []=(covariant-by-class core::String* key, covariant-by-class core::String* value) → void
+  operator []=(covariant-by-class core::String key, covariant-by-class core::String value) → void
     ;
   @core::override
-  method cast<RK extends core::Object* = dynamic, RV extends core::Object* = dynamic>() → core::Map<self::CustomMap::cast::RK*, self::CustomMap::cast::RV*>*
+  method cast<RK extends core::Object? = dynamic, RV extends core::Object? = dynamic>() → core::Map<self::CustomMap::cast::RK%, self::CustomMap::cast::RV%>
     ;
   @core::override
   method clear() → void
     ;
   @core::override
-  method containsKey(core::Object* key) → core::bool*
+  method containsKey(core::Object? key) → core::bool
     ;
   @core::override
-  method containsValue(core::Object* value) → core::bool*
+  method containsValue(core::Object? value) → core::bool
     ;
   @core::override
-  get isEmpty() → core::bool*
+  get isEmpty() → core::bool
     ;
   @core::override
-  get isNotEmpty() → core::bool*
+  get isNotEmpty() → core::bool
     ;
   @core::override
-  get keys() → core::Iterable<core::String*>*
+  get keys() → core::Iterable<core::String>
     ;
   @core::override
-  get length() → core::int*
+  get length() → core::int
     ;
   @core::override
-  method remove(core::Object* key) → core::String*
+  method remove(core::Object? key) → core::String
     ;
   @core::override
-  get values() → core::Iterable<core::String*>*
+  get values() → core::Iterable<core::String>
     ;
   @core::override
-  method addAll(covariant-by-class core::Map<core::String*, core::String*>* other) → void
+  method addAll(covariant-by-class core::Map<core::String, core::String> other) → void
     ;
   @core::override
-  method addEntries(covariant-by-class core::Iterable<core::MapEntry<core::String*, core::String*>*>* newEntries) → void
+  method addEntries(covariant-by-class core::Iterable<core::MapEntry<core::String, core::String>> newEntries) → void
     ;
   @core::override
-  method forEach((core::String*, core::String*) →* void f) → void
+  method forEach((core::String, core::String) → void f) → void
     ;
   @core::override
-  method putIfAbsent(covariant-by-class core::String* key, covariant-by-class () →* core::String* ifAbsent) → core::String*
+  method putIfAbsent(covariant-by-class core::String key, covariant-by-class () → core::String ifAbsent) → core::String
     ;
   @core::override
-  method updateAll(covariant-by-class (core::String*, core::String*) →* core::String* update) → void
+  method updateAll(covariant-by-class (core::String, core::String) → core::String update) → void
     ;
   @core::override
-  method removeWhere((core::String*, core::String*) →* core::bool* predicate) → void
+  method removeWhere((core::String, core::String) → core::bool predicate) → void
     ;
-  method update(covariant-by-class core::String* key, covariant-by-class (core::String*) →* core::String* update, {covariant-by-class () →* core::String* ifAbsent}) → core::String*
+  method update(covariant-by-class core::String key, covariant-by-class (core::String) → core::String update, {covariant-by-class () →? core::String ifAbsent}) → core::String
     ;
-  method map<K2 extends core::Object* = dynamic, V2 extends core::Object* = dynamic>((core::String*, core::String*) →* core::MapEntry<self::CustomMap::map::K2*, self::CustomMap::map::V2*>* f) → core::Map<self::CustomMap::map::K2*, self::CustomMap::map::V2*>*
+  method map<K2 extends core::Object? = dynamic, V2 extends core::Object? = dynamic>((core::String, core::String) → core::MapEntry<self::CustomMap::map::K2%, self::CustomMap::map::V2%> f) → core::Map<self::CustomMap::map::K2%, self::CustomMap::map::V2%>
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field core::int* fortyTwo = 42;
-static const field dynamic fortyTwoAsDynamic = (self::fortyTwo as dynamic){dynamic}.*(2){dynamic}.~/(2);
-static const field core::List<core::String*>* nullList = null;
-static const field core::List<core::String*>* foo = const <core::String*>["hello", "world"];
-static const field core::List<core::String*>* bar = self::foo + const <core::String*>["!"];
-static field core::List<core::String*>* barAsVar;
-static const field core::List<core::String*>* barWithNullSpread = self::foo + self::nullList;
-static const field core::List<core::String*>* barWithIntSpread = self::foo + const <core::String*>[invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
+static const field core::int fortyTwo = 42;
+static const field dynamic fortyTwoAsDynamic = (self::fortyTwo as{ForNonNullableByDefault} dynamic){dynamic}.*(2){dynamic}.~/(2);
+static const field core::List<core::String>? nullList = null;
+static const field core::List<core::String> foo = const <core::String>["hello", "world"];
+static const field core::List<core::String> bar = self::foo + const <core::String>["!"];
+static field core::List<core::String> barAsVar;
+static const field core::List<core::String> barWithNullSpread = self::foo + let final core::Iterable<core::String>? #t1 = self::nullList in #t1 == null ?{core::Iterable<core::String>} const <core::String>[] : #t1{core::Iterable<core::String>};
+static const field core::List<core::String> barWithIntSpread = self::foo + const <core::String>[invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
 const List<String> barWithIntSpread = [...foo, ...fortyTwo];
                                                   ^"];
-static const field core::List<core::String*>* barWithIntDynamicSpread = self::foo + self::fortyTwoAsDynamic as{TypeError,ForDynamic} core::Iterable<dynamic>*;
-static const field core::List<core::String*>* barWithMapSpread = self::foo + const <core::String*>[invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:25:51: Error: Unexpected type 'Map<String, String>' of a spread.  Expected 'dynamic' or an Iterable.
+static const field core::List<core::String> barWithIntDynamicSpread = self::foo + self::fortyTwoAsDynamic as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>;
+static const field core::List<core::String> barWithMapSpread = self::foo + const <core::String>[invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:25:51: Error: Unexpected type 'Map<String, String>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
 const List<String> barWithMapSpread = [...foo, ...quux];
                                                   ^"];
-static const field core::List<core::String*>* barWithCustomIterableSpread1 = self::bar + const self::CustomIterable::•();
-static const field core::List<core::String*>* barWithCustomIterableSpread2 = self::bar + const self::CustomIterable::•();
-static const field self::CustomIterable* customIterable = const self::CustomIterable::•();
-static const field core::List<core::String*>* barWithCustomIterableSpread3 = self::bar + self::customIterable;
-static const field core::List<core::String*>* listConcat = const <core::String*>["Hello"].{core::List::+}(const <core::String*>["World"]){(core::List<core::String*>*) →* core::List<core::String*>*};
-static const field core::Set<core::String*>* nullSet = null;
-static const field core::Set<core::String*>* baz = const <core::String*>{"hello", "world"};
-static const field core::Set<core::String*>* qux = self::baz + const <core::String*>{"!"};
-static const field core::Set<core::String*>* quxWithNullSpread = self::baz + self::nullSet;
-static const field core::Set<core::String*>* quxWithIntSpread = self::baz + const <core::String*>{invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:41:50: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
+static const field core::List<core::String> barWithCustomIterableSpread1 = self::bar + const self::CustomIterable::•();
+static const field core::List<core::String> barWithCustomIterableSpread2 = self::bar + const self::CustomIterable::•();
+static const field self::CustomIterable customIterable = const self::CustomIterable::•();
+static const field core::List<core::String> barWithCustomIterableSpread3 = self::bar + self::customIterable;
+static const field core::List<core::String> listConcat = const <core::String>["Hello"].{core::List::+}(const <core::String>["World"]){(core::List<core::String>) → core::List<core::String>};
+static const field core::Set<core::String>? nullSet = null;
+static const field core::Set<core::String> baz = const <core::String>{"hello", "world"};
+static const field core::Set<core::String> qux = self::baz + const <core::String>{"!"};
+static const field core::Set<core::String> quxWithNullSpread = self::baz + let final core::Iterable<core::String>? #t2 = self::nullSet in #t2 == null ?{core::Iterable<core::String>} const <core::String>{} : #t2{core::Iterable<core::String>};
+static const field core::Set<core::String> quxWithIntSpread = self::baz + const <core::String>{invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:41:50: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
 const Set<String> quxWithIntSpread = {...baz, ...fortyTwo};
                                                  ^"};
-static const field core::Set<core::String*>* quxWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:42:38: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Set<core::String> quxWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:42:38: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Set<String> quxWithMapSpread = {...baz, ...quux};
                                      ^";
-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*>{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> 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>{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*};
-static const field core::Set<dynamic>* setWithNonPrimitiveEquals = const <dynamic>{const self::WithEquals::•(42)};
-static const field core::Set<dynamic>* setWithDuplicates = const <dynamic>{42, 42};
-static const field core::Map<core::String*, core::String*>* nullMap = null;
-static const field core::Map<core::String*, core::String*>* quux = const <core::String*, core::String*>{"hello": "world"};
-static const field core::Map<core::String*, core::String*>* quuz = self::quux + const <core::String*, core::String*>{"!": "bye!"};
-static const field core::Map<core::String*, core::String*>* quuzWithNullSpread = self::quux + self::nullMap;
-static const field core::Map<core::String*, core::String*>* quuzWithIntSpread = self::quux + const <core::String*, core::String*>{invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:58:60: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
+                                                          ^" in self::customIterable as{TypeError,ForNonNullableByDefault} core::String};
+static const field core::Set<dynamic> setWithNonPrimitiveEquals = const <dynamic>{const self::WithEquals::•(42)};
+static const field core::Set<dynamic> setWithDuplicates = const <dynamic>{42, 42};
+static const field core::Map<core::String, core::String>? nullMap = null;
+static const field core::Map<core::String, core::String> quux = const <core::String, core::String>{"hello": "world"};
+static const field core::Map<core::String, core::String> quuz = self::quux + const <core::String, core::String>{"!": "bye!"};
+static const field core::Map<core::String, core::String> quuzWithNullSpread = self::quux + let final core::Map<core::String, core::String>? #t3 = self::nullMap in #t3 == null ?{core::Map<core::String, core::String>} const <core::String, core::String>{} : #t3{core::Map<core::String, core::String>};
+static const field core::Map<core::String, core::String> quuzWithIntSpread = self::quux + const <core::String, core::String>{invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:58:60: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
 const Map<String, String> quuzWithIntSpread = {...quux, ...fortyTwo};
                                                            ^": null};
-static const field core::Map<core::String*, core::String*>* quuzWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:59:47: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Map<core::String, core::String> quuzWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:59:47: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Map<String, String> quuzWithSetSpread = {...quux, ...baz};
                                               ^";
-static const field core::Map<core::String*, core::String*>* mapWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:60:46: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Map<core::String, core::String> mapWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:60:46: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Map<String, String> mapWithSetSpread = {...baz};
                                              ^";
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap1 = const self::CustomMap::•();
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap2 = const self::CustomMap::•();
-static const field core::Map<core::String*, core::String*>* customMap = const self::CustomMap::•();
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap3 = self::customMap;
-static const field core::Map<dynamic, core::int*>* mapWithNonPrimitiveEqualsKey = const <dynamic, core::int*>{const self::WithEquals::•(42): 42};
-static const field core::Map<core::int*, core::int*>* mapWithDuplicates = const <core::int*, core::int*>{42: 42, 42: 42};
-static get fooAsGetter() → core::List<core::String*>*
+static const field core::Map<core::String, core::String> mapWithCustomMap1 = const self::CustomMap::•();
+static const field core::Map<core::String, core::String> mapWithCustomMap2 = const self::CustomMap::•();
+static const field core::Map<core::String, core::String> customMap = const self::CustomMap::•();
+static const field core::Map<core::String, core::String> mapWithCustomMap3 = self::customMap;
+static const field core::Map<dynamic, core::int> mapWithNonPrimitiveEqualsKey = const <dynamic, core::int>{const self::WithEquals::•(42): 42};
+static const field core::Map<core::int, core::int> mapWithDuplicates = const <core::int, core::int>{42: 42, 42: 42};
+static get fooAsGetter() → core::List<core::String>
   ;
-static get barAsGetter() → core::List<core::String*>*
+static get barAsGetter() → core::List<core::String>
   ;
-static get bazAsGetter() → core::Set<core::String*>*
+static get bazAsGetter() → core::Set<core::String>
   ;
-static get quxAsGetter() → core::Set<core::String*>*
+static get quxAsGetter() → core::Set<core::String>
   ;
-static get quuxAsGetter() → core::Map<core::String*, core::String*>*
+static get quuxAsGetter() → core::Map<core::String, core::String>
   ;
-static get quuzAsGetter() → core::Map<core::String*, core::String*>*
+static get quuzAsGetter() → core::Map<core::String, core::String>
   ;
 static method main() → dynamic
   ;
@@ -317,8 +226,7 @@
 Evaluated: DynamicInvocation @ org-dartlang-testcase:///const_collections.dart:14:63 -> IntConstant(42)
 Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:17:26 -> ListConstant(const <String*>["hello", "world"])
 Evaluated: ListConcatenation @ org-dartlang-testcase:///const_collections.dart:19:26 -> ListConstant(const <String*>["hello", "world", "!"])
-Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:22:44 -> ListConstant(const <String*>["hello", "world"])
-Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:22:52 -> NullConstant(null)
+Evaluated: ListConcatenation @ org-dartlang-testcase:///const_collections.dart:22:40 -> ListConstant(const <String*>["hello", "world"])
 Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:23:43 -> ListConstant(const <String*>["hello", "world"])
 Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:24:50 -> ListConstant(const <String*>["hello", "world"])
 Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:24:58 -> IntConstant(42)
@@ -334,8 +242,7 @@
 Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:33:45 -> ListConstant(const <String*>["World"])
 Evaluated: SetLiteral @ org-dartlang-testcase:///const_collections.dart:36:25 -> SetConstant(const <String*>{"hello", "world"})
 Evaluated: SetConcatenation @ org-dartlang-testcase:///const_collections.dart:38:25 -> SetConstant(const <String*>{"hello", "world", "!"})
-Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:40:43 -> SetConstant(const <String*>{"hello", "world"})
-Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:40:51 -> NullConstant(null)
+Evaluated: SetConcatenation @ org-dartlang-testcase:///const_collections.dart:40:39 -> SetConstant(const <String*>{"hello", "world"})
 Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:41:42 -> SetConstant(const <String*>{"hello", "world"})
 Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:44:6 -> SetConstant(const <String*>{"hello", "world"})
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_collections.dart:45:12 -> InstanceConstant(const CustomIterable{})
@@ -345,12 +252,11 @@
 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 -> MapConstant(const <String*, String*>{"hello": "world"})
 Evaluated: MapConcatenation @ org-dartlang-testcase:///const_collections.dart:55:27 -> MapConstant(const <String*, String*>{"hello": "world", "!": "bye!"})
-Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:57:52 -> MapConstant(const <String*, String*>{"hello": "world"})
-Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:57:61 -> NullConstant(null)
+Evaluated: MapConcatenation @ org-dartlang-testcase:///const_collections.dart:57:27 -> MapConstant(const <String*, String*>{"hello": "world"})
 Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:58:51 -> MapConstant(const <String*, String*>{"hello": "world"})
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_collections.dart:61:57 -> InstanceConstant(const CustomMap{})
 Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_collections.dart:62:51 -> InstanceConstant(const CustomMap{})
 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: 87, effectively constant: 58
+Extra constant evaluation: evaluated: 81, effectively constant: 55
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.transformed.expect
index d5c4674..905ec6e 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -36,16 +36,6 @@
 // const Map<String, String> mapWithSetSpread = {...baz};
 //                                              ^
 //
-// pkg/front_end/testcases/general/constants/const_collections.dart:22:40: Error: Constant evaluation error:
-// const List<String> barWithNullSpread = [...foo, ...nullList];
-//                                        ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:22:52: Context: Null value during constant evaluation.
-// const List<String> barWithNullSpread = [...foo, ...nullList];
-//                                                    ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:22:20: Context: While analyzing:
-// const List<String> barWithNullSpread = [...foo, ...nullList];
-//                    ^
-//
 // pkg/front_end/testcases/general/constants/const_collections.dart:24:46: Error: Constant evaluation error:
 // const List<String> barWithIntDynamicSpread = [...foo, ...fortyTwoAsDynamic];
 //                                              ^
@@ -97,16 +87,6 @@
 // const List<String> listConcat = ["Hello"] + ["World"];
 //                    ^
 //
-// pkg/front_end/testcases/general/constants/const_collections.dart:40:39: Error: Constant evaluation error:
-// const Set<String> quxWithNullSpread = {...baz, ...nullSet};
-//                                       ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:40:51: Context: Null value during constant evaluation.
-// const Set<String> quxWithNullSpread = {...baz, ...nullSet};
-//                                                   ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:40:19: Context: While analyzing:
-// const Set<String> quxWithNullSpread = {...baz, ...nullSet};
-//                   ^
-//
 // pkg/front_end/testcases/general/constants/const_collections.dart:43:50: Error: Constant evaluation error:
 // const Set<String> quxWithCustomIterableSpread1 = {
 //                                                  ^
@@ -148,16 +128,6 @@
 // const Set<dynamic> setWithDuplicates = {42, 42};
 //                    ^
 //
-// pkg/front_end/testcases/general/constants/const_collections.dart:57:27: Error: Constant evaluation error:
-// const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
-//                           ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:57:61: Context: Null value during constant evaluation.
-// const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
-//                                                             ^
-// pkg/front_end/testcases/general/constants/const_collections.dart:57:27: Context: While analyzing:
-// const Map<String, String> quuzWithNullSpread = {...quux, ...nullMap};
-//                           ^
-//
 // pkg/front_end/testcases/general/constants/const_collections.dart:61:27: Error: Constant evaluation error:
 // const Map<String, String> mapWithCustomMap1 = {...const CustomMap()};
 //                           ^
@@ -215,291 +185,198 @@
 
 import "dart:collection";
 
-class ConstIterable extends col::IterableBase<core::int*> /*hasConstConstructor*/  {
-  const constructor •() → self::ConstIterable*
+class ConstIterable extends col::IterableBase<core::int> /*hasConstConstructor*/  {
+  const constructor •() → self::ConstIterable
     : super col::IterableBase::•()
     ;
-  get iterator() → core::Iterator<core::int*>*
-    return core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator}{core::Iterator<core::int*>*};
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::ConstIterable::cast::R*>*; -> core::Iterable::cast
-  abstract member-signature method followedBy(covariant-by-class core::Iterable<core::int*>* other) → core::Iterable<core::int*>*; -> core::Iterable::followedBy
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::int*) →* self::ConstIterable::map::T* toElement) → core::Iterable<self::ConstIterable::map::T*>*; -> core::Iterable::map
-  abstract member-signature method where((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::where
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::ConstIterable::whereType::T*>*; -> core::Iterable::whereType
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::int*) →* core::Iterable<self::ConstIterable::expand::T*>* toElements) → core::Iterable<self::ConstIterable::expand::T*>*; -> core::Iterable::expand
-  abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
-  abstract member-signature method forEach((core::int*) →* void action) → void; -> core::Iterable::forEach
-  abstract member-signature method reduce(covariant-by-class (core::int*, core::int*) →* core::int* combine) → core::int*; -> core::Iterable::reduce
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::ConstIterable::fold::T* initialValue, (self::ConstIterable::fold::T*, core::int*) →* self::ConstIterable::fold::T* combine) → self::ConstIterable::fold::T*; -> core::Iterable::fold
-  abstract member-signature method every((core::int*) →* core::bool* test) → core::bool*; -> core::Iterable::every
-  abstract member-signature method join([core::String* separator = #C1]) → core::String*; -> core::Iterable::join
-  abstract member-signature method any((core::int*) →* core::bool* test) → core::bool*; -> core::Iterable::any
-  abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::int*>*; -> core::Iterable::toList
-  abstract member-signature method toSet() → core::Set<core::int*>*; -> core::Iterable::toSet
-  abstract member-signature get length() → core::int*; -> core::Iterable::length
-  abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
-  abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
-  abstract member-signature method take(core::int* count) → core::Iterable<core::int*>*; -> core::Iterable::take
-  abstract member-signature method takeWhile((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::takeWhile
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::int*>*; -> core::Iterable::skip
-  abstract member-signature method skipWhile((core::int*) →* core::bool* test) → core::Iterable<core::int*>*; -> core::Iterable::skipWhile
-  abstract member-signature method firstWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse = #C3}) → core::int*; -> core::Iterable::firstWhere
-  abstract member-signature method lastWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse = #C3}) → core::int*; -> core::Iterable::lastWhere
-  abstract member-signature method singleWhere((core::int*) →* core::bool* test, {covariant-by-class () →* core::int* orElse = #C3}) → core::int*; -> core::Iterable::singleWhere
-  abstract member-signature method elementAt(core::int* index) → core::int*; -> core::Iterable::elementAt
-  abstract member-signature method toString() → core::String*; -> core::Iterable::toString
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  get iterator() → core::Iterator<core::int>
+    return core::_GrowableList::•<core::int>(0).{core::Iterable::iterator}{core::Iterator<core::int>};
 }
 class WithEquals extends core::Object /*hasConstConstructor*/  {
-  final field core::int* i;
-  const constructor •(core::int* i) → self::WithEquals*
+  final field core::int i;
+  const constructor •(core::int i) → self::WithEquals
     : self::WithEquals::i = i, super core::Object::•()
     ;
-  operator ==(core::Object* o) → core::bool* {
-    return o is self::WithEquals* && o{self::WithEquals*}.{self::WithEquals::i}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} this.{self::WithEquals::i}{core::int*};
+  operator ==(core::Object o) → core::bool {
+    return o is{ForNonNullableByDefault} self::WithEquals && o{self::WithEquals}.{self::WithEquals::i}{core::int} =={core::num::==}{(core::Object) → core::bool} this.{self::WithEquals::i}{core::int};
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-class CustomIterable extends col::IterableBase<core::String*> /*hasConstConstructor*/  {
-  const constructor •() → self::CustomIterable*
+class CustomIterable extends col::IterableBase<core::String> /*hasConstConstructor*/  {
+  const constructor •() → self::CustomIterable
     : super col::IterableBase::•()
     ;
-  get iterator() → core::Iterator<core::String*>*
-    return core::_GrowableList::•<core::String*>(0).{core::Iterable::iterator}{core::Iterator<core::String*>*};
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::CustomIterable::cast::R*>*; -> core::Iterable::cast
-  abstract member-signature method followedBy(covariant-by-class core::Iterable<core::String*>* other) → core::Iterable<core::String*>*; -> core::Iterable::followedBy
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::String*) →* self::CustomIterable::map::T* toElement) → core::Iterable<self::CustomIterable::map::T*>*; -> core::Iterable::map
-  abstract member-signature method where((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::where
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::CustomIterable::whereType::T*>*; -> core::Iterable::whereType
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::String*) →* core::Iterable<self::CustomIterable::expand::T*>* toElements) → core::Iterable<self::CustomIterable::expand::T*>*; -> core::Iterable::expand
-  abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
-  abstract member-signature method forEach((core::String*) →* void action) → void; -> core::Iterable::forEach
-  abstract member-signature method reduce(covariant-by-class (core::String*, core::String*) →* core::String* combine) → core::String*; -> core::Iterable::reduce
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::CustomIterable::fold::T* initialValue, (self::CustomIterable::fold::T*, core::String*) →* self::CustomIterable::fold::T* combine) → self::CustomIterable::fold::T*; -> core::Iterable::fold
-  abstract member-signature method every((core::String*) →* core::bool* test) → core::bool*; -> core::Iterable::every
-  abstract member-signature method join([core::String* separator = #C1]) → core::String*; -> core::Iterable::join
-  abstract member-signature method any((core::String*) →* core::bool* test) → core::bool*; -> core::Iterable::any
-  abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::String*>*; -> core::Iterable::toList
-  abstract member-signature method toSet() → core::Set<core::String*>*; -> core::Iterable::toSet
-  abstract member-signature get length() → core::int*; -> core::Iterable::length
-  abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
-  abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
-  abstract member-signature method take(core::int* count) → core::Iterable<core::String*>*; -> core::Iterable::take
-  abstract member-signature method takeWhile((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::takeWhile
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::String*>*; -> core::Iterable::skip
-  abstract member-signature method skipWhile((core::String*) →* core::bool* test) → core::Iterable<core::String*>*; -> core::Iterable::skipWhile
-  abstract member-signature method firstWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse = #C3}) → core::String*; -> core::Iterable::firstWhere
-  abstract member-signature method lastWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse = #C3}) → core::String*; -> core::Iterable::lastWhere
-  abstract member-signature method singleWhere((core::String*) →* core::bool* test, {covariant-by-class () →* core::String* orElse = #C3}) → core::String*; -> core::Iterable::singleWhere
-  abstract member-signature method elementAt(core::int* index) → core::String*; -> core::Iterable::elementAt
-  abstract member-signature method toString() → core::String*; -> core::Iterable::toString
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  get iterator() → core::Iterator<core::String>
+    return core::_GrowableList::•<core::String>(0).{core::Iterable::iterator}{core::Iterator<core::String>};
 }
-class CustomMap extends core::Object implements core::Map<core::String*, core::String*> /*hasConstConstructor*/  {
-  const constructor •() → self::CustomMap*
+class CustomMap extends core::Object implements core::Map<core::String, core::String> /*hasConstConstructor*/  {
+  const constructor •() → self::CustomMap
     : super core::Object::•()
     ;
-  @#C4
-  get entries() → core::Iterable<core::MapEntry<core::String*, core::String*>*>*
-    return core::_GrowableList::•<core::MapEntry<core::String*, core::String*>*>(0);
-  @#C4
-  operator [](core::Object* key) → core::String*
+  @#C1
+  get entries() → core::Iterable<core::MapEntry<core::String, core::String>>
+    return core::_GrowableList::•<core::MapEntry<core::String, core::String>>(0);
+  @#C1
+  operator [](core::Object? key) → core::String
     return throw new core::UnimplementedError::•();
-  @#C4
-  operator []=(covariant-by-class core::String* key, covariant-by-class core::String* value) → void
+  @#C1
+  operator []=(covariant-by-class core::String key, covariant-by-class core::String value) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method cast<RK extends core::Object* = dynamic, RV extends core::Object* = dynamic>() → core::Map<self::CustomMap::cast::RK*, self::CustomMap::cast::RV*>*
+  @#C1
+  method cast<RK extends core::Object? = dynamic, RV extends core::Object? = dynamic>() → core::Map<self::CustomMap::cast::RK%, self::CustomMap::cast::RV%>
     return throw new core::UnimplementedError::•();
-  @#C4
+  @#C1
   method clear() → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method containsKey(core::Object* key) → core::bool*
+  @#C1
+  method containsKey(core::Object? key) → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  method containsValue(core::Object* value) → core::bool*
+  @#C1
+  method containsValue(core::Object? value) → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  get isEmpty() → core::bool*
+  @#C1
+  get isEmpty() → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  get isNotEmpty() → core::bool*
+  @#C1
+  get isNotEmpty() → core::bool
     return throw new core::UnimplementedError::•();
-  @#C4
-  get keys() → core::Iterable<core::String*>*
+  @#C1
+  get keys() → core::Iterable<core::String>
     return throw new core::UnimplementedError::•();
-  @#C4
-  get length() → core::int*
+  @#C1
+  get length() → core::int
     return throw new core::UnimplementedError::•();
-  @#C4
-  method remove(core::Object* key) → core::String*
+  @#C1
+  method remove(core::Object? key) → core::String
     return throw new core::UnimplementedError::•();
-  @#C4
-  get values() → core::Iterable<core::String*>*
+  @#C1
+  get values() → core::Iterable<core::String>
     return throw new core::UnimplementedError::•();
-  @#C4
-  method addAll(covariant-by-class core::Map<core::String*, core::String*>* other) → void
+  @#C1
+  method addAll(covariant-by-class core::Map<core::String, core::String> other) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method addEntries(covariant-by-class core::Iterable<core::MapEntry<core::String*, core::String*>*>* newEntries) → void
+  @#C1
+  method addEntries(covariant-by-class core::Iterable<core::MapEntry<core::String, core::String>> newEntries) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method forEach((core::String*, core::String*) →* void f) → void
+  @#C1
+  method forEach((core::String, core::String) → void f) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method putIfAbsent(covariant-by-class core::String* key, covariant-by-class () →* core::String* ifAbsent) → core::String*
+  @#C1
+  method putIfAbsent(covariant-by-class core::String key, covariant-by-class () → core::String ifAbsent) → core::String
     return throw new core::UnimplementedError::•();
-  @#C4
-  method updateAll(covariant-by-class (core::String*, core::String*) →* core::String* update) → void
+  @#C1
+  method updateAll(covariant-by-class (core::String, core::String) → core::String update) → void
     return throw new core::UnimplementedError::•();
-  @#C4
-  method removeWhere((core::String*, core::String*) →* core::bool* predicate) → void
+  @#C1
+  method removeWhere((core::String, core::String) → core::bool predicate) → void
     return throw new core::UnimplementedError::•();
-  method update(covariant-by-class core::String* key, covariant-by-class (core::String*) →* core::String* update, {covariant-by-class () →* core::String* ifAbsent = #C3}) → core::String*
+  method update(covariant-by-class core::String key, covariant-by-class (core::String) → core::String update, {covariant-by-class () →? core::String ifAbsent = #C2}) → core::String
     return throw new core::UnimplementedError::•();
-  method map<K2 extends core::Object* = dynamic, V2 extends core::Object* = dynamic>((core::String*, core::String*) →* core::MapEntry<self::CustomMap::map::K2*, self::CustomMap::map::V2*>* f) → core::Map<self::CustomMap::map::K2*, self::CustomMap::map::V2*>*
+  method map<K2 extends core::Object? = dynamic, V2 extends core::Object? = dynamic>((core::String, core::String) → core::MapEntry<self::CustomMap::map::K2%, self::CustomMap::map::V2%> f) → core::Map<self::CustomMap::map::K2%, self::CustomMap::map::V2%>
     return throw new core::UnimplementedError::•();
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field core::int* fortyTwo = #C5;
-static const field dynamic fortyTwoAsDynamic = #C5;
-static const field core::List<core::String*>* nullList = #C3;
-static const field core::List<core::String*>* foo = #C8;
-static const field core::List<core::String*>* bar = #C10;
-static field core::List<core::String*>* barAsVar = block {
-  final core::List<core::String*>* #t1 = core::List::of<core::String*>(#C8);
-  #t1.{core::List::add}{Invariant}("!"){(core::String*) →* void};
+static const field core::int fortyTwo = #C3;
+static const field dynamic fortyTwoAsDynamic = #C3;
+static const field core::List<core::String>? nullList = #C2;
+static const field core::List<core::String> foo = #C6;
+static const field core::List<core::String> bar = #C8;
+static field core::List<core::String> barAsVar = block {
+  final core::List<core::String> #t1 = core::List::of<core::String>(#C6);
+  #t1.{core::List::add}{Invariant}("!"){(core::String) → void};
 } =>#t1;
-static const field core::List<core::String*>* barWithNullSpread = invalid-expression "Null value during constant evaluation.";
-static const field core::List<core::String*>* barWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
+static const field core::List<core::String> barWithNullSpread = #C6;
+static const field core::List<core::String> barWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
 const List<String> barWithIntSpread = [...foo, ...fortyTwo];
                                                   ^";
-static const field core::List<core::String*>* barWithIntDynamicSpread = invalid-expression "Expected constant '42' to be of type 'Iterable<dynamic>', but was of type 'int'.
+static const field core::List<core::String> barWithIntDynamicSpread = invalid-expression "Expected constant '42' to be of type 'Iterable<dynamic>', but was of type 'int'.
  - 'Iterable' is from 'dart:core'.";
-static const field core::List<core::String*>* barWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:25:51: Error: Unexpected type 'Map<String, String>' of a spread.  Expected 'dynamic' or an Iterable.
+static const field core::List<core::String> barWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:25:51: Error: Unexpected type 'Map<String, String>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
 const List<String> barWithMapSpread = [...foo, ...quux];
                                                   ^";
-static const field core::List<core::String*>* barWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::List<core::String*>* barWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field self::CustomIterable* customIterable = #C11;
-static const field core::List<core::String*>* barWithCustomIterableSpread3 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::List<core::String*>* listConcat = invalid-expression "The method '+' can't be invoked on '<String>[\"Hello\"]' in a constant expression.";
-static const field core::Set<core::String*>* nullSet = #C3;
-static const field core::Set<core::String*>* baz = #C12;
-static const field core::Set<core::String*>* qux = #C13;
-static const field core::Set<core::String*>* quxWithNullSpread = invalid-expression "Null value during constant evaluation.";
-static const field core::Set<core::String*>* quxWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:41:50: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
+static const field core::List<core::String> barWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::List<core::String> barWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field self::CustomIterable customIterable = #C9;
+static const field core::List<core::String> barWithCustomIterableSpread3 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::List<core::String> listConcat = invalid-expression "The method '+' can't be invoked on '<String>[\"Hello\"]' in a constant expression.";
+static const field core::Set<core::String>? nullSet = #C2;
+static const field core::Set<core::String> baz = #C10;
+static const field core::Set<core::String> qux = #C11;
+static const field core::Set<core::String> quxWithNullSpread = #C10;
+static const field core::Set<core::String> quxWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:41:50: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
 const Set<String> quxWithIntSpread = {...baz, ...fortyTwo};
                                                  ^";
-static const field core::Set<core::String*>* quxWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:42:38: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Set<core::String> quxWithMapSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:42:38: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Set<String> quxWithMapSpread = {...baz, ...quux};
                                      ^";
-static const field core::Set<core::String*>* quxWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::Set<core::String*>* quxWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
-static const field core::Set<core::String*>* quxWithCustomIterableSpread3 = 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> quxWithCustomIterableSpread1 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::Set<core::String> quxWithCustomIterableSpread2 = invalid-expression "Only lists and sets can be used in spreads in constant lists and sets.";
+static const field core::Set<core::String> quxWithCustomIterableSpread3 = 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};
                                                           ^";
-static const field core::Set<dynamic>* setWithNonPrimitiveEquals = invalid-expression "The element 'WithEquals {i: 42}' does not have a primitive operator '=='.
+static const field core::Set<dynamic> setWithNonPrimitiveEquals = invalid-expression "The element 'WithEquals {i: 42}' does not have a primitive operator '=='.
  - 'WithEquals' is from 'pkg/front_end/testcases/general/constants/const_collections.dart'.";
-static const field core::Set<dynamic>* setWithDuplicates = invalid-expression "The element '42' conflicts with another existing element in the set.";
-static const field core::Map<core::String*, core::String*>* nullMap = #C3;
-static const field core::Map<core::String*, core::String*>* quux = #C14;
-static const field core::Map<core::String*, core::String*>* quuz = #C16;
-static const field core::Map<core::String*, core::String*>* quuzWithNullSpread = invalid-expression "Null value during constant evaluation.";
-static const field core::Map<core::String*, core::String*>* quuzWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:58:60: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
+static const field core::Set<dynamic> setWithDuplicates = invalid-expression "The element '42' conflicts with another existing element in the set.";
+static const field core::Map<core::String, core::String>? nullMap = #C2;
+static const field core::Map<core::String, core::String> quux = #C12;
+static const field core::Map<core::String, core::String> quuz = #C14;
+static const field core::Map<core::String, core::String> quuzWithNullSpread = #C12;
+static const field core::Map<core::String, core::String> quuzWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:58:60: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
 const Map<String, String> quuzWithIntSpread = {...quux, ...fortyTwo};
                                                            ^";
-static const field core::Map<core::String*, core::String*>* quuzWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:59:47: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Map<core::String, core::String> quuzWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:59:47: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Map<String, String> quuzWithSetSpread = {...quux, ...baz};
                                               ^";
-static const field core::Map<core::String*, core::String*>* mapWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:60:46: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+static const field core::Map<core::String, core::String> mapWithSetSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:60:46: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 const Map<String, String> mapWithSetSpread = {...baz};
                                              ^";
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap1 = invalid-expression "Only maps can be used in spreads in constant maps.";
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap2 = invalid-expression "Only maps can be used in spreads in constant maps.";
-static const field core::Map<core::String*, core::String*>* customMap = #C17;
-static const field core::Map<core::String*, core::String*>* mapWithCustomMap3 = invalid-expression "Only maps can be used in spreads in constant maps.";
-static const field core::Map<dynamic, core::int*>* mapWithNonPrimitiveEqualsKey = invalid-expression "The key 'WithEquals {i: 42}' does not have a primitive operator '=='.
+static const field core::Map<core::String, core::String> mapWithCustomMap1 = invalid-expression "Only maps can be used in spreads in constant maps.";
+static const field core::Map<core::String, core::String> mapWithCustomMap2 = invalid-expression "Only maps can be used in spreads in constant maps.";
+static const field core::Map<core::String, core::String> customMap = #C15;
+static const field core::Map<core::String, core::String> mapWithCustomMap3 = invalid-expression "Only maps can be used in spreads in constant maps.";
+static const field core::Map<dynamic, core::int> mapWithNonPrimitiveEqualsKey = invalid-expression "The key 'WithEquals {i: 42}' does not have a primitive operator '=='.
  - 'WithEquals' is from 'pkg/front_end/testcases/general/constants/const_collections.dart'.";
-static const field core::Map<core::int*, core::int*>* mapWithDuplicates = invalid-expression "The key '42' conflicts with another existing key in the map.";
-static get fooAsGetter() → core::List<core::String*>*
+static const field core::Map<core::int, core::int> mapWithDuplicates = invalid-expression "The key '42' conflicts with another existing key in the map.";
+static get fooAsGetter() → core::List<core::String>
+  return #C6;
+static get barAsGetter() → core::List<core::String>
   return #C8;
-static get barAsGetter() → core::List<core::String*>*
+static get bazAsGetter() → core::Set<core::String>
   return #C10;
-static get bazAsGetter() → core::Set<core::String*>*
+static get quxAsGetter() → core::Set<core::String>
+  return #C11;
+static get quuxAsGetter() → core::Map<core::String, core::String>
   return #C12;
-static get quxAsGetter() → core::Set<core::String*>*
-  return #C13;
-static get quuxAsGetter() → core::Map<core::String*, core::String*>*
+static get quuzAsGetter() → core::Map<core::String, core::String>
   return #C14;
-static get quuzAsGetter() → core::Map<core::String*, core::String*>*
-  return #C16;
 static method main() → dynamic {
-  core::print(#C10);
-  core::print(#C13);
-  core::print(#C16);
+  core::print(#C8);
+  core::print(#C11);
+  core::print(#C14);
   core::print( block {
-    final core::Set<core::String*>* #t2 = new col::_CompactLinkedHashSet::•<core::String*>();
-    #t2.{core::Set::add}{Invariant}("hello"){(core::String*) →* core::bool*};
+    final core::Set<core::String> #t2 = new col::_CompactLinkedHashSet::•<core::String>();
+    #t2.{core::Set::add}{Invariant}("hello"){(core::String) → core::bool};
   } =>#t2);
-  core::print(#C18);
+  core::print(#C16);
 }
 
 constants  {
-  #C1 = ""
-  #C2 = true
-  #C3 = null
-  #C4 = core::_Override {}
-  #C5 = 42
-  #C6 = "hello"
-  #C7 = "world"
-  #C8 = <core::String*>[#C6, #C7]
-  #C9 = "!"
-  #C10 = <core::String*>[#C6, #C7, #C9]
-  #C11 = self::CustomIterable {}
-  #C12 = <core::String*>{#C6, #C7}
-  #C13 = <core::String*>{#C6, #C7, #C9}
-  #C14 = <core::String*, core::String*>{#C6:#C7)
-  #C15 = "bye!"
-  #C16 = <core::String*, core::String*>{#C6:#C7, #C9:#C15)
-  #C17 = self::CustomMap {}
-  #C18 = <core::String*>{#C6}
+  #C1 = core::_Override {}
+  #C2 = null
+  #C3 = 42
+  #C4 = "hello"
+  #C5 = "world"
+  #C6 = <core::String*>[#C4, #C5]
+  #C7 = "!"
+  #C8 = <core::String*>[#C4, #C5, #C7]
+  #C9 = self::CustomIterable {}
+  #C10 = <core::String*>{#C4, #C5}
+  #C11 = <core::String*>{#C4, #C5, #C7}
+  #C12 = <core::String*, core::String*>{#C4:#C5)
+  #C13 = "bye!"
+  #C14 = <core::String*, core::String*>{#C4:#C5, #C7:#C13)
+  #C15 = self::CustomMap {}
+  #C16 = <core::String*>{#C4}
 }
 
 
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart
index 4da77ce..952eff9 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import "const_constructor_coverage_lib1.dart";
 import "const_constructor_coverage_lib2.dart";
 
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline.expect
index c0374d8..a7b8a8a 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import "const_constructor_coverage_lib1.dart";
 import "const_constructor_coverage_lib2.dart";
 
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline_modelled.expect
index c0374d8..a7b8a8a 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import "const_constructor_coverage_lib1.dart";
 import "const_constructor_coverage_lib2.dart";
 
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.expect
index 75eedd4..a3db761 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "const_constructor_coverage_lib1.dart" as con;
@@ -6,15 +6,15 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib1.dart";
 import "org-dartlang-testcase:///const_constructor_coverage_lib2.dart";
 
-static const field con::Foo* foo1 = #C4;
-static const field con::Foo* foo2 = #C4;
-static const field con::Foo* foo3 = #C4;
-static const field con::Foo* foo4 = #C4;
+static const field con::Foo foo1 = #C4;
+static const field con::Foo foo2 = #C4;
+static const field con::Foo foo3 = #C4;
+static const field con::Foo foo4 = #C4;
 static method main() → dynamic {
   core::print(#C4);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con;
 import "dart:core" as core;
 import "const_constructor_coverage_lib2.dart" as con2;
@@ -22,61 +22,41 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib2.dart";
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  final field con::Bar* bar;
-  const constructor •() → con::Foo*
+  final field con::Bar bar;
+  const constructor •() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  const constructor named1() → con::Foo*
+  const constructor named1() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  const constructor named2() → con::Foo*
+  const constructor named2() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  const constructor named3() → con::Foo*
+  const constructor named3() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Bar extends core::Object /*hasConstConstructor*/  {
-  final field con2::Baz* baz;
-  const constructor •() → con::Bar*
+  final field con2::Baz baz;
+  const constructor •() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named1() → con::Bar*
+  const constructor named1() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named2() → con::Bar*
+  const constructor named2() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named3() → con::Bar*
+  const constructor named3() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named4(core::int* i) → con::Bar*
-    : con::Bar::baz = i.{core::num::>}(0){(core::num*) →* core::bool*} ?{con2::Baz*} #C2 : #C2, super core::Object::•()
+  const constructor named4(core::int i) → con::Bar
+    : con::Bar::baz = i.{core::num::>}(0){(core::num) → core::bool} ?{con2::Baz} #C2 : #C2, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field con::Foo* foo = #C4;
+static const field con::Foo foo = #C4;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con2;
 import "dart:core" as core;
 import "const_constructor_coverage_lib1.dart" as con;
@@ -84,42 +64,32 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib1.dart";
 
 class Baz extends core::Object /*hasConstConstructor*/  {
-  final field con::Bar* bar;
-  const constructor •() → con2::Baz*
+  final field con::Bar? bar;
+  const constructor •() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named1() → con2::Baz*
+  const constructor named1() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named2() → con2::Baz*
+  const constructor named2() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named3() → con2::Baz*
+  const constructor named3() → con2::Baz
     : con2::Baz::bar = #C3, super core::Object::•()
     ;
-  const constructor named4() → con2::Baz*
+  const constructor named4() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named5() → con2::Baz*
+  const constructor named5() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named6() → con2::Baz*
+  const constructor named6() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field con2::Baz* baz = #C2;
-static const field con::Foo* foo = #C4;
-static const field con::Bar* bar = #C3;
+static const field con2::Baz baz = #C2;
+static const field con::Foo foo = #C4;
+static const field con::Bar bar = #C3;
 
 constants  {
   #C1 = null
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.modular.expect
index 75eedd4..a3db761 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "const_constructor_coverage_lib1.dart" as con;
@@ -6,15 +6,15 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib1.dart";
 import "org-dartlang-testcase:///const_constructor_coverage_lib2.dart";
 
-static const field con::Foo* foo1 = #C4;
-static const field con::Foo* foo2 = #C4;
-static const field con::Foo* foo3 = #C4;
-static const field con::Foo* foo4 = #C4;
+static const field con::Foo foo1 = #C4;
+static const field con::Foo foo2 = #C4;
+static const field con::Foo foo3 = #C4;
+static const field con::Foo foo4 = #C4;
 static method main() → dynamic {
   core::print(#C4);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con;
 import "dart:core" as core;
 import "const_constructor_coverage_lib2.dart" as con2;
@@ -22,61 +22,41 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib2.dart";
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  final field con::Bar* bar;
-  const constructor •() → con::Foo*
+  final field con::Bar bar;
+  const constructor •() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  const constructor named1() → con::Foo*
+  const constructor named1() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  const constructor named2() → con::Foo*
+  const constructor named2() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  const constructor named3() → con::Foo*
+  const constructor named3() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Bar extends core::Object /*hasConstConstructor*/  {
-  final field con2::Baz* baz;
-  const constructor •() → con::Bar*
+  final field con2::Baz baz;
+  const constructor •() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named1() → con::Bar*
+  const constructor named1() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named2() → con::Bar*
+  const constructor named2() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named3() → con::Bar*
+  const constructor named3() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named4(core::int* i) → con::Bar*
-    : con::Bar::baz = i.{core::num::>}(0){(core::num*) →* core::bool*} ?{con2::Baz*} #C2 : #C2, super core::Object::•()
+  const constructor named4(core::int i) → con::Bar
+    : con::Bar::baz = i.{core::num::>}(0){(core::num) → core::bool} ?{con2::Baz} #C2 : #C2, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field con::Foo* foo = #C4;
+static const field con::Foo foo = #C4;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con2;
 import "dart:core" as core;
 import "const_constructor_coverage_lib1.dart" as con;
@@ -84,42 +64,32 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib1.dart";
 
 class Baz extends core::Object /*hasConstConstructor*/  {
-  final field con::Bar* bar;
-  const constructor •() → con2::Baz*
+  final field con::Bar? bar;
+  const constructor •() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named1() → con2::Baz*
+  const constructor named1() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named2() → con2::Baz*
+  const constructor named2() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named3() → con2::Baz*
+  const constructor named3() → con2::Baz
     : con2::Baz::bar = #C3, super core::Object::•()
     ;
-  const constructor named4() → con2::Baz*
+  const constructor named4() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named5() → con2::Baz*
+  const constructor named5() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named6() → con2::Baz*
+  const constructor named6() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field con2::Baz* baz = #C2;
-static const field con::Foo* foo = #C4;
-static const field con::Bar* bar = #C3;
+static const field con2::Baz baz = #C2;
+static const field con::Foo foo = #C4;
+static const field con::Bar bar = #C3;
 
 constants  {
   #C1 = null
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.outline.expect
index eabea4f..1454b44 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.outline.expect
@@ -1,18 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "const_constructor_coverage_lib1.dart" as con;
 
 import "org-dartlang-testcase:///const_constructor_coverage_lib1.dart";
 import "org-dartlang-testcase:///const_constructor_coverage_lib2.dart";
 
-static const field con::Foo* foo1 = const con::Foo::•();
-static const field con::Foo* foo2 = const con::Foo::named1();
-static const field con::Foo* foo3 = const con::Foo::named2();
-static const field con::Foo* foo4 = const con::Foo::named3();
+static const field con::Foo foo1 = const con::Foo::•();
+static const field con::Foo foo2 = const con::Foo::named1();
+static const field con::Foo foo3 = const con::Foo::named2();
+static const field con::Foo foo4 = const con::Foo::named3();
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con;
 import "dart:core" as core;
 import "const_constructor_coverage_lib2.dart" as con2;
@@ -20,61 +20,41 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib2.dart";
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  final field con::Bar* bar;
-  const constructor •() → con::Foo*
+  final field con::Bar bar;
+  const constructor •() → con::Foo
     : con::Foo::bar = const con::Bar::•(), super core::Object::•()
     ;
-  const constructor named1() → con::Foo*
+  const constructor named1() → con::Foo
     : con::Foo::bar = const con::Bar::named1(), super core::Object::•()
     ;
-  const constructor named2() → con::Foo*
+  const constructor named2() → con::Foo
     : con::Foo::bar = const con::Bar::named1(), super core::Object::•()
     ;
-  const constructor named3() → con::Foo*
+  const constructor named3() → con::Foo
     : con::Foo::bar = const con::Bar::named1(), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Bar extends core::Object /*hasConstConstructor*/  {
-  final field con2::Baz* baz;
-  const constructor •() → con::Bar*
+  final field con2::Baz baz;
+  const constructor •() → con::Bar
     : con::Bar::baz = const con2::Baz::•(), super core::Object::•()
     ;
-  const constructor named1() → con::Bar*
+  const constructor named1() → con::Bar
     : con::Bar::baz = const con2::Baz::named1(), super core::Object::•()
     ;
-  const constructor named2() → con::Bar*
+  const constructor named2() → con::Bar
     : con::Bar::baz = const con2::Baz::named1(), super core::Object::•()
     ;
-  const constructor named3() → con::Bar*
+  const constructor named3() → con::Bar
     : con::Bar::baz = const con2::Baz::named1(), super core::Object::•()
     ;
-  const constructor named4(core::int* i) → con::Bar*
-    : con::Bar::baz = i.{core::num::>}(0){(core::num*) →* core::bool*} ?{con2::Baz*} const con2::Baz::named5() : const con2::Baz::named6(), super core::Object::•()
+  const constructor named4(core::int i) → con::Bar
+    : con::Bar::baz = i.{core::num::>}(0){(core::num) → core::bool} ?{con2::Baz} const con2::Baz::named5() : const con2::Baz::named6(), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field con::Foo* foo = const con::Foo::named3();
+static const field con::Foo foo = const con::Foo::named3();
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con2;
 import "dart:core" as core;
 import "const_constructor_coverage_lib1.dart" as con;
@@ -82,42 +62,32 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib1.dart";
 
 class Baz extends core::Object /*hasConstConstructor*/  {
-  final field con::Bar* bar;
-  const constructor •() → con2::Baz*
+  final field con::Bar? bar;
+  const constructor •() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named1() → con2::Baz*
+  const constructor named1() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named2() → con2::Baz*
+  const constructor named2() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named3() → con2::Baz*
+  const constructor named3() → con2::Baz
     : con2::Baz::bar = const con::Bar::named3(), super core::Object::•()
     ;
-  const constructor named4() → con2::Baz*
+  const constructor named4() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named5() → con2::Baz*
+  const constructor named5() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named6() → con2::Baz*
+  const constructor named6() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field con2::Baz* baz = const con2::Baz::named4();
-static const field con::Foo* foo = const con::Foo::named2();
-static const field con::Bar* bar = const con::Bar::named2();
+static const field con2::Baz baz = const con2::Baz::named4();
+static const field con::Foo foo = const con::Foo::named2();
+static const field con::Bar bar = const con::Bar::named2();
 
 
 Extra constant evaluation status:
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.transformed.expect
index 75eedd4..a3db761 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "const_constructor_coverage_lib1.dart" as con;
@@ -6,15 +6,15 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib1.dart";
 import "org-dartlang-testcase:///const_constructor_coverage_lib2.dart";
 
-static const field con::Foo* foo1 = #C4;
-static const field con::Foo* foo2 = #C4;
-static const field con::Foo* foo3 = #C4;
-static const field con::Foo* foo4 = #C4;
+static const field con::Foo foo1 = #C4;
+static const field con::Foo foo2 = #C4;
+static const field con::Foo foo3 = #C4;
+static const field con::Foo foo4 = #C4;
 static method main() → dynamic {
   core::print(#C4);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con;
 import "dart:core" as core;
 import "const_constructor_coverage_lib2.dart" as con2;
@@ -22,61 +22,41 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib2.dart";
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  final field con::Bar* bar;
-  const constructor •() → con::Foo*
+  final field con::Bar bar;
+  const constructor •() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  const constructor named1() → con::Foo*
+  const constructor named1() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  const constructor named2() → con::Foo*
+  const constructor named2() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  const constructor named3() → con::Foo*
+  const constructor named3() → con::Foo
     : con::Foo::bar = #C3, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Bar extends core::Object /*hasConstConstructor*/  {
-  final field con2::Baz* baz;
-  const constructor •() → con::Bar*
+  final field con2::Baz baz;
+  const constructor •() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named1() → con::Bar*
+  const constructor named1() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named2() → con::Bar*
+  const constructor named2() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named3() → con::Bar*
+  const constructor named3() → con::Bar
     : con::Bar::baz = #C2, super core::Object::•()
     ;
-  const constructor named4(core::int* i) → con::Bar*
-    : con::Bar::baz = i.{core::num::>}(0){(core::num*) →* core::bool*} ?{con2::Baz*} #C2 : #C2, super core::Object::•()
+  const constructor named4(core::int i) → con::Bar
+    : con::Bar::baz = i.{core::num::>}(0){(core::num) → core::bool} ?{con2::Baz} #C2 : #C2, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field con::Foo* foo = #C4;
+static const field con::Foo foo = #C4;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con2;
 import "dart:core" as core;
 import "const_constructor_coverage_lib1.dart" as con;
@@ -84,42 +64,32 @@
 import "org-dartlang-testcase:///const_constructor_coverage_lib1.dart";
 
 class Baz extends core::Object /*hasConstConstructor*/  {
-  final field con::Bar* bar;
-  const constructor •() → con2::Baz*
+  final field con::Bar? bar;
+  const constructor •() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named1() → con2::Baz*
+  const constructor named1() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named2() → con2::Baz*
+  const constructor named2() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named3() → con2::Baz*
+  const constructor named3() → con2::Baz
     : con2::Baz::bar = #C3, super core::Object::•()
     ;
-  const constructor named4() → con2::Baz*
+  const constructor named4() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named5() → con2::Baz*
+  const constructor named5() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  const constructor named6() → con2::Baz*
+  const constructor named6() → con2::Baz
     : con2::Baz::bar = null, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-static const field con2::Baz* baz = #C2;
-static const field con::Foo* foo = #C4;
-static const field con::Bar* bar = #C3;
+static const field con2::Baz baz = #C2;
+static const field con::Foo foo = #C4;
+static const field con::Bar bar = #C3;
 
 constants  {
   #C1 = null
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib1.dart b/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib1.dart
index d5b94bc..e7d6647 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib1.dart
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import "const_constructor_coverage_lib2.dart";
 
 class Foo {
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib2.dart b/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib2.dart
index ee04592..9c50822 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib2.dart
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib2.dart
@@ -1,11 +1,11 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import "const_constructor_coverage_lib1.dart";
 
 class Baz {
-  final Bar bar;
+  final Bar? bar;
   const /*x*/ Baz() : bar = null;
   const /*x*/ Baz.named1() : bar = null;
   const Baz.named2() : bar = null;
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart b/pkg/front_end/testcases/general/constants/from_lib/main.dart
index f8f5ccf..b301857 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main.dart
+++ b/pkg/front_end/testcases/general/constants/from_lib/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'main_lib.dart' as a;
 
 const map = <int, String>{
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline.expect
index d76ac83..ecc271e 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'main_lib.dart' as a;
 
 const map = <int, String>{
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline_modelled.expect
index a2a94e6..b817c1c 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'main_lib.dart' as a;
 
 const list = <int>[
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.expect
index 6d5d48a..623a4c3 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.expect
@@ -1,21 +1,21 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///main_lib.dart" as a;
 
-static const field core::Map<core::int*, core::String*>* map = #C3;
-static const field core::Set<core::int*>* set = #C6;
-static const field core::List<core::int*>* list = #C7;
+static const field core::Map<core::int, core::String> map = #C3;
+static const field core::Set<core::int> set = #C6;
+static const field core::List<core::int> list = #C7;
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
-static const field core::Map<core::int*, core::String*>* map = #C3;
-static const field core::Set<core::int*>* set = #C8;
-static const field core::List<core::int*>* list = #C9;
+static const field core::Map<core::int, core::String> map = #C3;
+static const field core::Set<core::int> set = #C8;
+static const field core::List<core::int> list = #C9;
 
 constants  {
   #C1 = 1
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.modular.expect
index 4af39e7..9d23b98 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.modular.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///main_lib.dart" as a;
 
-static const field core::Map<core::int*, core::String*>* map = #C3;
-static const field core::Set<core::int*>* set = #C6;
-static const field core::List<core::int*>* list = #C7;
+static const field core::Map<core::int, core::String> map = #C3;
+static const field core::Set<core::int> set = #C6;
+static const field core::List<core::int> list = #C7;
 static method main() → dynamic {}
 
 constants  {
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.outline.expect
index f0edaba..3276612 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.outline.expect
@@ -1,23 +1,23 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "main_lib.dart" as mai;
 
 import "org-dartlang-testcase:///main_lib.dart" as a;
 
-static const field core::Map<core::int*, core::String*>* map = mai::map;
-static const field core::Set<core::int*>* set = mai::set + mai::list;
-static const field core::List<core::int*>* list = mai::list + mai::set;
+static const field core::Map<core::int, core::String> map = mai::map;
+static const field core::Set<core::int> set = mai::set + mai::list;
+static const field core::List<core::int> list = mai::list + mai::set;
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mai;
 import "dart:core" as core;
 
-static const field core::Map<core::int*, core::String*>* map = #C3;
-static const field core::Set<core::int*>* set = #C5;
-static const field core::List<core::int*>* list = #C7;
+static const field core::Map<core::int, core::String> map = #C3;
+static const field core::Set<core::int> set = #C5;
+static const field core::List<core::int> list = #C7;
 
 constants  {
   #C1 = 1
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.transformed.expect
index 6d5d48a..623a4c3 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.transformed.expect
@@ -1,21 +1,21 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///main_lib.dart" as a;
 
-static const field core::Map<core::int*, core::String*>* map = #C3;
-static const field core::Set<core::int*>* set = #C6;
-static const field core::List<core::int*>* list = #C7;
+static const field core::Map<core::int, core::String> map = #C3;
+static const field core::Set<core::int> set = #C6;
+static const field core::List<core::int> list = #C7;
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
-static const field core::Map<core::int*, core::String*>* map = #C3;
-static const field core::Set<core::int*>* set = #C8;
-static const field core::List<core::int*>* list = #C9;
+static const field core::Map<core::int, core::String> map = #C3;
+static const field core::Set<core::int> set = #C8;
+static const field core::List<core::int> list = #C9;
 
 constants  {
   #C1 = 1
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main_lib.dart b/pkg/front_end/testcases/general/constants/from_lib/main_lib.dart
index 7529c60..eccfc0b 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main_lib.dart
+++ b/pkg/front_end/testcases/general/constants/from_lib/main_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 const map = <int, String>{
   1: 'a',
 };
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart b/pkg/front_end/testcases/general/constants/issue_43431.dart
index 45b056c..c333e70 100644
--- a/pkg/front_end/testcases/general/constants/issue_43431.dart
+++ b/pkg/front_end/testcases/general/constants/issue_43431.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
-
 class Foo {
   const Foo({bool x: true});
   const x = Foo();
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline.expect
index 21dbcf2..3051321 100644
--- a/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 class Foo {
   const Foo({bool x: true});
   const x = Foo();
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline_modelled.expect
index 21dbcf2..3051321 100644
--- a/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 class Foo {
   const Foo({bool x: true});
   const x = Foo();
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.expect
index 65e909f..30bfb3c 100644
--- a/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.expect
@@ -1,28 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:3: Error: Only static fields can be declared as const.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:3: Error: Only static fields can be declared as const.
 // Try using 'final' instead of 'const', or adding the keyword 'static'.
 //   const x = Foo();
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:13: Error: Constant expression expected.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:13: Error: Constant expression expected.
 // Try inserting 'const'.
 //   const x = Foo();
 //             ^^^
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:8:9: Error: Constructor is marked 'const' so all fields must be final.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:6:9: Error: Constructor is marked 'const' so all fields must be final.
 //   const Foo({bool x: true});
 //         ^
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:9: Context: Field isn't final, but constructor is 'const'.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:9: Context: Field isn't final, but constructor is 'const'.
 //   const x = Foo();
 //         ^
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:13: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:13: Error: Constant evaluation error:
 //   const x = Foo();
 //             ^
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:13: Context: Constant expression depends on itself.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:13: Context: Constant expression depends on itself.
 //   const x = Foo();
 //             ^
 //
@@ -30,20 +30,10 @@
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  field self::Foo* x = invalid-expression "Constant expression depends on itself.";
-  const constructor •({core::bool* x = #C1}) → self::Foo*
+  field self::Foo x = invalid-expression "Constant expression depends on itself.";
+  const constructor •({core::bool x = #C1}) → self::Foo
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method main() → dynamic {}
 
@@ -54,4 +44,4 @@
 
 Constructor coverage from constants:
 org-dartlang-testcase:///issue_43431.dart:
-- Foo. (from org-dartlang-testcase:///issue_43431.dart:8:9)
+- Foo. (from org-dartlang-testcase:///issue_43431.dart:6:9)
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.modular.expect
index 65e909f..30bfb3c 100644
--- a/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.modular.expect
@@ -1,28 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:3: Error: Only static fields can be declared as const.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:3: Error: Only static fields can be declared as const.
 // Try using 'final' instead of 'const', or adding the keyword 'static'.
 //   const x = Foo();
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:13: Error: Constant expression expected.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:13: Error: Constant expression expected.
 // Try inserting 'const'.
 //   const x = Foo();
 //             ^^^
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:8:9: Error: Constructor is marked 'const' so all fields must be final.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:6:9: Error: Constructor is marked 'const' so all fields must be final.
 //   const Foo({bool x: true});
 //         ^
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:9: Context: Field isn't final, but constructor is 'const'.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:9: Context: Field isn't final, but constructor is 'const'.
 //   const x = Foo();
 //         ^
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:13: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:13: Error: Constant evaluation error:
 //   const x = Foo();
 //             ^
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:13: Context: Constant expression depends on itself.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:13: Context: Constant expression depends on itself.
 //   const x = Foo();
 //             ^
 //
@@ -30,20 +30,10 @@
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  field self::Foo* x = invalid-expression "Constant expression depends on itself.";
-  const constructor •({core::bool* x = #C1}) → self::Foo*
+  field self::Foo x = invalid-expression "Constant expression depends on itself.";
+  const constructor •({core::bool x = #C1}) → self::Foo
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method main() → dynamic {}
 
@@ -54,4 +44,4 @@
 
 Constructor coverage from constants:
 org-dartlang-testcase:///issue_43431.dart:
-- Foo. (from org-dartlang-testcase:///issue_43431.dart:8:9)
+- Foo. (from org-dartlang-testcase:///issue_43431.dart:6:9)
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.outline.expect
index c1256e5..ab4f74e 100644
--- a/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.outline.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:3: Error: Only static fields can be declared as const.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:3: Error: Only static fields can be declared as const.
 // Try using 'final' instead of 'const', or adding the keyword 'static'.
 //   const x = Foo();
 //   ^^^^^
@@ -11,20 +11,10 @@
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  field self::Foo* x;
-  const constructor •({core::bool* x = true}) → self::Foo*
+  field self::Foo x;
+  const constructor •({core::bool x = true}) → self::Foo
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.transformed.expect
index 65e909f..30bfb3c 100644
--- a/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.transformed.expect
@@ -1,28 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:3: Error: Only static fields can be declared as const.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:3: Error: Only static fields can be declared as const.
 // Try using 'final' instead of 'const', or adding the keyword 'static'.
 //   const x = Foo();
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:13: Error: Constant expression expected.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:13: Error: Constant expression expected.
 // Try inserting 'const'.
 //   const x = Foo();
 //             ^^^
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:8:9: Error: Constructor is marked 'const' so all fields must be final.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:6:9: Error: Constructor is marked 'const' so all fields must be final.
 //   const Foo({bool x: true});
 //         ^
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:9: Context: Field isn't final, but constructor is 'const'.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:9: Context: Field isn't final, but constructor is 'const'.
 //   const x = Foo();
 //         ^
 //
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:13: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:13: Error: Constant evaluation error:
 //   const x = Foo();
 //             ^
-// pkg/front_end/testcases/general/constants/issue_43431.dart:9:13: Context: Constant expression depends on itself.
+// pkg/front_end/testcases/general/constants/issue_43431.dart:7:13: Context: Constant expression depends on itself.
 //   const x = Foo();
 //             ^
 //
@@ -30,20 +30,10 @@
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  field self::Foo* x = invalid-expression "Constant expression depends on itself.";
-  const constructor •({core::bool* x = #C1}) → self::Foo*
+  field self::Foo x = invalid-expression "Constant expression depends on itself.";
+  const constructor •({core::bool x = #C1}) → self::Foo
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method main() → dynamic {}
 
@@ -54,4 +44,4 @@
 
 Constructor coverage from constants:
 org-dartlang-testcase:///issue_43431.dart:
-- Foo. (from org-dartlang-testcase:///issue_43431.dart:8:9)
+- Foo. (from org-dartlang-testcase:///issue_43431.dart:6:9)
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart b/pkg/front_end/testcases/general/constants/js_semantics/various.dart
index cb703e5..f2270ff 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/various.dart
+++ b/pkg/front_end/testcases/general/constants/js_semantics/various.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 const bool y = false;
 const bool z = !(y);
 
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline.expect
index 54ebf2f..4ca812c 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 const bool y = false;
 const bool z = !(y);
 const maybeInt = z ? 42 : true;
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline_modelled.expect
index 87607b2..70b112b 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 const String intStringConcat = "hello" "${intFortyTwo * intFortyTwo}";
 const bool isItDouble = maybeInt is double ? true : false;
 const bool isItDouble2 = actualInt is double ? true : false;
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.expect
index 0570489..dc34372 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.expect
@@ -1,41 +1,41 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static const field core::bool* y = #C1;
-static const field core::bool* z = #C2;
-static const field core::Object* maybeInt = #C3;
-static const field core::bool* isItInt = #C2;
-static const field core::bool* isItDouble = #C2;
-static const field core::int* actualInt = #C3;
-static const field core::bool* isItInt2 = #C2;
-static const field core::bool* isItDouble2 = #C2;
-static const field core::Object* maybeDouble = #C3;
-static const field core::bool* isItInt3 = #C2;
-static const field core::bool* isItDouble3 = #C2;
-static const field core::double* actualDouble = #C3;
-static const field core::bool* isItInt4 = #C2;
-static const field core::bool* isItDouble4 = #C2;
-static const field core::Object* maybeDouble2 = #C4;
-static const field core::bool* isItInt5 = #C1;
-static const field core::bool* isItDouble5 = #C2;
-static const field core::double* actualDouble2 = #C4;
-static const field core::bool* isItInt6 = #C1;
-static const field core::bool* isItDouble7 = #C2;
-static const field core::bool* zeroPointZeroIdentical = #C2;
-static const field core::bool* zeroPointZeroIdenticalToZero = #C2;
-static const field core::bool* zeroIdenticalToZeroPointZero = #C2;
-static const field core::bool* nanIdentical = #C1;
-static const field core::bool* stringIdentical = #C2;
-static const field core::bool* string2Identical = #C1;
-static const field core::bool* zeroPointZeroEqual = #C2;
-static const field core::bool* zeroPointZeroEqualToZero = #C2;
-static const field core::bool* zeroEqualToZeroPointZero = #C2;
-static const field core::bool* nanEqual = #C1;
-static const field core::bool* stringEqual = #C2;
-static const field core::bool* string2Equal = #C1;
-static const field core::int* intFortyTwo = #C3;
-static const field core::String* intStringConcat = #C5;
+static const field core::bool y = #C1;
+static const field core::bool z = #C2;
+static const field core::Object maybeInt = #C3;
+static const field core::bool isItInt = #C2;
+static const field core::bool isItDouble = #C2;
+static const field core::int actualInt = #C3;
+static const field core::bool isItInt2 = #C2;
+static const field core::bool isItDouble2 = #C2;
+static const field core::Object maybeDouble = #C3;
+static const field core::bool isItInt3 = #C2;
+static const field core::bool isItDouble3 = #C2;
+static const field core::double actualDouble = #C3;
+static const field core::bool isItInt4 = #C2;
+static const field core::bool isItDouble4 = #C2;
+static const field core::Object maybeDouble2 = #C4;
+static const field core::bool isItInt5 = #C1;
+static const field core::bool isItDouble5 = #C2;
+static const field core::double actualDouble2 = #C4;
+static const field core::bool isItInt6 = #C1;
+static const field core::bool isItDouble7 = #C2;
+static const field core::bool zeroPointZeroIdentical = #C2;
+static const field core::bool zeroPointZeroIdenticalToZero = #C2;
+static const field core::bool zeroIdenticalToZeroPointZero = #C2;
+static const field core::bool nanIdentical = #C1;
+static const field core::bool stringIdentical = #C2;
+static const field core::bool string2Identical = #C1;
+static const field core::bool zeroPointZeroEqual = #C2;
+static const field core::bool zeroPointZeroEqualToZero = #C2;
+static const field core::bool zeroEqualToZeroPointZero = #C2;
+static const field core::bool nanEqual = #C1;
+static const field core::bool stringEqual = #C2;
+static const field core::bool string2Equal = #C1;
+static const field core::int intFortyTwo = #C3;
+static const field core::String intStringConcat = #C5;
 
 constants  {
   #C1 = false
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.modular.expect
index 0570489..dc34372 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.modular.expect
@@ -1,41 +1,41 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static const field core::bool* y = #C1;
-static const field core::bool* z = #C2;
-static const field core::Object* maybeInt = #C3;
-static const field core::bool* isItInt = #C2;
-static const field core::bool* isItDouble = #C2;
-static const field core::int* actualInt = #C3;
-static const field core::bool* isItInt2 = #C2;
-static const field core::bool* isItDouble2 = #C2;
-static const field core::Object* maybeDouble = #C3;
-static const field core::bool* isItInt3 = #C2;
-static const field core::bool* isItDouble3 = #C2;
-static const field core::double* actualDouble = #C3;
-static const field core::bool* isItInt4 = #C2;
-static const field core::bool* isItDouble4 = #C2;
-static const field core::Object* maybeDouble2 = #C4;
-static const field core::bool* isItInt5 = #C1;
-static const field core::bool* isItDouble5 = #C2;
-static const field core::double* actualDouble2 = #C4;
-static const field core::bool* isItInt6 = #C1;
-static const field core::bool* isItDouble7 = #C2;
-static const field core::bool* zeroPointZeroIdentical = #C2;
-static const field core::bool* zeroPointZeroIdenticalToZero = #C2;
-static const field core::bool* zeroIdenticalToZeroPointZero = #C2;
-static const field core::bool* nanIdentical = #C1;
-static const field core::bool* stringIdentical = #C2;
-static const field core::bool* string2Identical = #C1;
-static const field core::bool* zeroPointZeroEqual = #C2;
-static const field core::bool* zeroPointZeroEqualToZero = #C2;
-static const field core::bool* zeroEqualToZeroPointZero = #C2;
-static const field core::bool* nanEqual = #C1;
-static const field core::bool* stringEqual = #C2;
-static const field core::bool* string2Equal = #C1;
-static const field core::int* intFortyTwo = #C3;
-static const field core::String* intStringConcat = #C5;
+static const field core::bool y = #C1;
+static const field core::bool z = #C2;
+static const field core::Object maybeInt = #C3;
+static const field core::bool isItInt = #C2;
+static const field core::bool isItDouble = #C2;
+static const field core::int actualInt = #C3;
+static const field core::bool isItInt2 = #C2;
+static const field core::bool isItDouble2 = #C2;
+static const field core::Object maybeDouble = #C3;
+static const field core::bool isItInt3 = #C2;
+static const field core::bool isItDouble3 = #C2;
+static const field core::double actualDouble = #C3;
+static const field core::bool isItInt4 = #C2;
+static const field core::bool isItDouble4 = #C2;
+static const field core::Object maybeDouble2 = #C4;
+static const field core::bool isItInt5 = #C1;
+static const field core::bool isItDouble5 = #C2;
+static const field core::double actualDouble2 = #C4;
+static const field core::bool isItInt6 = #C1;
+static const field core::bool isItDouble7 = #C2;
+static const field core::bool zeroPointZeroIdentical = #C2;
+static const field core::bool zeroPointZeroIdenticalToZero = #C2;
+static const field core::bool zeroIdenticalToZeroPointZero = #C2;
+static const field core::bool nanIdentical = #C1;
+static const field core::bool stringIdentical = #C2;
+static const field core::bool string2Identical = #C1;
+static const field core::bool zeroPointZeroEqual = #C2;
+static const field core::bool zeroPointZeroEqualToZero = #C2;
+static const field core::bool zeroEqualToZeroPointZero = #C2;
+static const field core::bool nanEqual = #C1;
+static const field core::bool stringEqual = #C2;
+static const field core::bool string2Equal = #C1;
+static const field core::int intFortyTwo = #C3;
+static const field core::String intStringConcat = #C5;
 
 constants  {
   #C1 = false
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.outline.expect
index f015e56..4e7468c 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.outline.expect
@@ -1,41 +1,41 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static const field core::bool* y = false;
-static const field core::bool* z = !self::y;
-static const field core::Object* maybeInt = self::z ?{core::Object*} 42 : true;
-static const field core::bool* isItInt = self::maybeInt is core::int* ?{core::bool*} true : false;
-static const field core::bool* isItDouble = self::maybeInt is core::double* ?{core::bool*} true : false;
-static const field core::int* actualInt = 42;
-static const field core::bool* isItInt2 = self::actualInt is core::int* ?{core::bool*} true : false;
-static const field core::bool* isItDouble2 = self::actualInt is core::double* ?{core::bool*} true : false;
-static const field core::Object* maybeDouble = self::z ?{core::Object*} 42.0 : true;
-static const field core::bool* isItInt3 = self::maybeDouble is core::int* ?{core::bool*} true : false;
-static const field core::bool* isItDouble3 = self::maybeDouble is core::double* ?{core::bool*} true : false;
-static const field core::double* actualDouble = 42.0;
-static const field core::bool* isItInt4 = self::actualDouble is core::int* ?{core::bool*} true : false;
-static const field core::bool* isItDouble4 = self::actualDouble is core::double* ?{core::bool*} true : false;
-static const field core::Object* maybeDouble2 = self::z ?{core::Object*} 42.42 : true;
-static const field core::bool* isItInt5 = self::maybeDouble2 is core::int* ?{core::bool*} true : false;
-static const field core::bool* isItDouble5 = self::maybeDouble2 is core::double* ?{core::bool*} true : false;
-static const field core::double* actualDouble2 = 42.42;
-static const field core::bool* isItInt6 = self::actualDouble2 is core::int* ?{core::bool*} true : false;
-static const field core::bool* isItDouble7 = self::actualDouble2 is core::double* ?{core::bool*} true : false;
-static const field core::bool* zeroPointZeroIdentical = core::identical(0.0, 0.0);
-static const field core::bool* zeroPointZeroIdenticalToZero = core::identical(0.0, 0);
-static const field core::bool* zeroIdenticalToZeroPointZero = core::identical(0, 0.0);
-static const field core::bool* nanIdentical = core::identical(0.{core::num::/}(0){(core::num*) →* core::double*}, 0.{core::num::/}(0){(core::num*) →* core::double*});
-static const field core::bool* stringIdentical = core::identical("hello", "hello");
-static const field core::bool* string2Identical = core::identical("hello", "world");
-static const field core::bool* zeroPointZeroEqual = 0.0 =={core::num::==}{(core::Object*) →* core::bool*} 0.0;
-static const field core::bool* zeroPointZeroEqualToZero = 0.0 =={core::num::==}{(core::Object*) →* core::bool*} 0;
-static const field core::bool* zeroEqualToZeroPointZero = 0 =={core::num::==}{(core::Object*) →* core::bool*} 0.0;
-static const field core::bool* nanEqual = 0.{core::num::/}(0){(core::num*) →* core::double*} =={core::num::==}{(core::Object*) →* core::bool*} 0.{core::num::/}(0){(core::num*) →* core::double*};
-static const field core::bool* stringEqual = "hello" =={core::String::==}{(core::Object*) →* core::bool*} "hello";
-static const field core::bool* string2Equal = "hello" =={core::String::==}{(core::Object*) →* core::bool*} "world";
-static const field core::int* intFortyTwo = 42;
-static const field core::String* intStringConcat = "hello${self::intFortyTwo.{core::num::*}(self::intFortyTwo){(core::num*) →* core::int*}}";
+static const field core::bool y = false;
+static const field core::bool z = !self::y;
+static const field core::Object maybeInt = self::z ?{core::Object} 42 : true;
+static const field core::bool isItInt = self::maybeInt is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field core::bool isItDouble = self::maybeInt is{ForNonNullableByDefault} core::double ?{core::bool} true : false;
+static const field core::int actualInt = 42;
+static const field core::bool isItInt2 = self::actualInt is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field core::bool isItDouble2 = self::actualInt is{ForNonNullableByDefault} core::double ?{core::bool} true : false;
+static const field core::Object maybeDouble = self::z ?{core::Object} 42.0 : true;
+static const field core::bool isItInt3 = self::maybeDouble is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field core::bool isItDouble3 = self::maybeDouble is{ForNonNullableByDefault} core::double ?{core::bool} true : false;
+static const field core::double actualDouble = 42.0;
+static const field core::bool isItInt4 = self::actualDouble is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field core::bool isItDouble4 = self::actualDouble is{ForNonNullableByDefault} core::double ?{core::bool} true : false;
+static const field core::Object maybeDouble2 = self::z ?{core::Object} 42.42 : true;
+static const field core::bool isItInt5 = self::maybeDouble2 is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field core::bool isItDouble5 = self::maybeDouble2 is{ForNonNullableByDefault} core::double ?{core::bool} true : false;
+static const field core::double actualDouble2 = 42.42;
+static const field core::bool isItInt6 = self::actualDouble2 is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field core::bool isItDouble7 = self::actualDouble2 is{ForNonNullableByDefault} core::double ?{core::bool} true : false;
+static const field core::bool zeroPointZeroIdentical = core::identical(0.0, 0.0);
+static const field core::bool zeroPointZeroIdenticalToZero = core::identical(0.0, 0);
+static const field core::bool zeroIdenticalToZeroPointZero = core::identical(0, 0.0);
+static const field core::bool nanIdentical = core::identical(0.{core::num::/}(0){(core::num) → core::double}, 0.{core::num::/}(0){(core::num) → core::double});
+static const field core::bool stringIdentical = core::identical("hello", "hello");
+static const field core::bool string2Identical = core::identical("hello", "world");
+static const field core::bool zeroPointZeroEqual = 0.0 =={core::num::==}{(core::Object) → core::bool} 0.0;
+static const field core::bool zeroPointZeroEqualToZero = 0.0 =={core::num::==}{(core::Object) → core::bool} 0;
+static const field core::bool zeroEqualToZeroPointZero = 0 =={core::num::==}{(core::Object) → core::bool} 0.0;
+static const field core::bool nanEqual = 0.{core::num::/}(0){(core::num) → core::double} =={core::num::==}{(core::Object) → core::bool} 0.{core::num::/}(0){(core::num) → core::double};
+static const field core::bool stringEqual = "hello" =={core::String::==}{(core::Object) → core::bool} "hello";
+static const field core::bool string2Equal = "hello" =={core::String::==}{(core::Object) → core::bool} "world";
+static const field core::int intFortyTwo = 42;
+static const field core::String intStringConcat = "hello${self::intFortyTwo.{core::num::*}(self::intFortyTwo){(core::num) → core::int}}";
 
 
 Extra constant evaluation status:
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.transformed.expect
index 0570489..dc34372 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.transformed.expect
@@ -1,41 +1,41 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static const field core::bool* y = #C1;
-static const field core::bool* z = #C2;
-static const field core::Object* maybeInt = #C3;
-static const field core::bool* isItInt = #C2;
-static const field core::bool* isItDouble = #C2;
-static const field core::int* actualInt = #C3;
-static const field core::bool* isItInt2 = #C2;
-static const field core::bool* isItDouble2 = #C2;
-static const field core::Object* maybeDouble = #C3;
-static const field core::bool* isItInt3 = #C2;
-static const field core::bool* isItDouble3 = #C2;
-static const field core::double* actualDouble = #C3;
-static const field core::bool* isItInt4 = #C2;
-static const field core::bool* isItDouble4 = #C2;
-static const field core::Object* maybeDouble2 = #C4;
-static const field core::bool* isItInt5 = #C1;
-static const field core::bool* isItDouble5 = #C2;
-static const field core::double* actualDouble2 = #C4;
-static const field core::bool* isItInt6 = #C1;
-static const field core::bool* isItDouble7 = #C2;
-static const field core::bool* zeroPointZeroIdentical = #C2;
-static const field core::bool* zeroPointZeroIdenticalToZero = #C2;
-static const field core::bool* zeroIdenticalToZeroPointZero = #C2;
-static const field core::bool* nanIdentical = #C1;
-static const field core::bool* stringIdentical = #C2;
-static const field core::bool* string2Identical = #C1;
-static const field core::bool* zeroPointZeroEqual = #C2;
-static const field core::bool* zeroPointZeroEqualToZero = #C2;
-static const field core::bool* zeroEqualToZeroPointZero = #C2;
-static const field core::bool* nanEqual = #C1;
-static const field core::bool* stringEqual = #C2;
-static const field core::bool* string2Equal = #C1;
-static const field core::int* intFortyTwo = #C3;
-static const field core::String* intStringConcat = #C5;
+static const field core::bool y = #C1;
+static const field core::bool z = #C2;
+static const field core::Object maybeInt = #C3;
+static const field core::bool isItInt = #C2;
+static const field core::bool isItDouble = #C2;
+static const field core::int actualInt = #C3;
+static const field core::bool isItInt2 = #C2;
+static const field core::bool isItDouble2 = #C2;
+static const field core::Object maybeDouble = #C3;
+static const field core::bool isItInt3 = #C2;
+static const field core::bool isItDouble3 = #C2;
+static const field core::double actualDouble = #C3;
+static const field core::bool isItInt4 = #C2;
+static const field core::bool isItDouble4 = #C2;
+static const field core::Object maybeDouble2 = #C4;
+static const field core::bool isItInt5 = #C1;
+static const field core::bool isItDouble5 = #C2;
+static const field core::double actualDouble2 = #C4;
+static const field core::bool isItInt6 = #C1;
+static const field core::bool isItDouble7 = #C2;
+static const field core::bool zeroPointZeroIdentical = #C2;
+static const field core::bool zeroPointZeroIdenticalToZero = #C2;
+static const field core::bool zeroIdenticalToZeroPointZero = #C2;
+static const field core::bool nanIdentical = #C1;
+static const field core::bool stringIdentical = #C2;
+static const field core::bool string2Identical = #C1;
+static const field core::bool zeroPointZeroEqual = #C2;
+static const field core::bool zeroPointZeroEqualToZero = #C2;
+static const field core::bool zeroEqualToZeroPointZero = #C2;
+static const field core::bool nanEqual = #C1;
+static const field core::bool stringEqual = #C2;
+static const field core::bool string2Equal = #C1;
+static const field core::int intFortyTwo = #C3;
+static const field core::String intStringConcat = #C5;
 
 constants  {
   #C1 = false
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart b/pkg/front_end/testcases/general/constants/no_experiments/various.dart
index 8ddb0d4..df79a2d 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/various.dart
+++ b/pkg/front_end/testcases/general/constants/no_experiments/various.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 const Symbol tripleShiftSymbol = const Symbol(">>>");
 
 main() {}
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline.expect
index 39c800d..3cb83df 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
 const Symbol tripleShiftSymbol = const Symbol(">>>");
 main() {}
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline_modelled.expect
index 39c800d..3cb83df 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline_modelled.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
 const Symbol tripleShiftSymbol = const Symbol(">>>");
 main() {}
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.expect
index 376dfb4..dfa09ae 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
-static const field core::Symbol* tripleShiftSymbol = #C1;
+static const field core::Symbol tripleShiftSymbol = #C1;
 static method main() → dynamic {}
 
 constants  {
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.modular.expect
index 376dfb4..dfa09ae 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.modular.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
-static const field core::Symbol* tripleShiftSymbol = #C1;
+static const field core::Symbol tripleShiftSymbol = #C1;
 static method main() → dynamic {}
 
 constants  {
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.outline.expect
index 9194ec0..310349f 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.outline.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
-static const field core::Symbol* tripleShiftSymbol = const _in::Symbol::•(">>>");
+static const field core::Symbol tripleShiftSymbol = const _in::Symbol::•(">>>");
 static method main() → dynamic
   ;
 
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.transformed.expect
index 376dfb4..dfa09ae 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.transformed.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
-static const field core::Symbol* tripleShiftSymbol = #C1;
+static const field core::Symbol tripleShiftSymbol = #C1;
 static method main() → dynamic {}
 
 constants  {
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart
index cae9472..9eb86b4 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 const int foo = 42 * 42;
 const String bar =
     "hello" " " "${String.fromEnvironment("baz", defaultValue: "world")}" "!";
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline.expect
index 8e1cc1fe..c369a44 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 const int foo = 42 * 42;
 const String bar =
     "hello" " " "${String.fromEnvironment("baz", defaultValue: "world")}" "!";
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline_modelled.expect
index c74e867..fc42499 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 const String bar =
     "hello" " " "${String.fromEnvironment("baz", defaultValue: "world")}" "!";
 const String bar2 = "hello2" " 2" + bar;
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.expect
index f3b74df..520bfe6 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* foo = #C1;
-static const field core::String* bar = #C2;
-static const field core::String* bar2 = #C3;
-static const field core::bool* baz = #C4;
-static const field core::Symbol* blaSymbol = #C5;
+static const field core::int foo = #C1;
+static const field core::String bar = #C2;
+static const field core::String bar2 = #C3;
+static const field core::bool baz = #C4;
+static const field core::Symbol blaSymbol = #C5;
 static method main() → dynamic {
   self::_x();
   #C6;
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.modular.expect
index f3b74df..520bfe6 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.modular.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* foo = #C1;
-static const field core::String* bar = #C2;
-static const field core::String* bar2 = #C3;
-static const field core::bool* baz = #C4;
-static const field core::Symbol* blaSymbol = #C5;
+static const field core::int foo = #C1;
+static const field core::String bar = #C2;
+static const field core::String bar2 = #C3;
+static const field core::bool baz = #C4;
+static const field core::Symbol blaSymbol = #C5;
 static method main() → dynamic {
   self::_x();
   #C6;
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.outline.expect
index 10ad97d..c7009f2 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.outline.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* foo = 42.{core::num::*}(42){(core::num*) →* core::int*};
-static const field core::String* bar = "hello ${const core::String::fromEnvironment("baz", defaultValue: "world")}!";
-static const field core::String* bar2 = "hello2 2".{core::String::+}(self::bar){(core::String*) →* core::String*};
-static const field core::bool* baz = true && true && (false || true) && 42 =={core::num::==}{(core::Object*) →* core::bool*} 21.{core::num::*}(4){(core::num*) →* core::int*}.{core::num::/}(2){(core::num*) →* core::double*};
-static const field core::Symbol* blaSymbol = #_x;
+static const field core::int foo = 42.{core::num::*}(42){(core::num) → core::int};
+static const field core::String bar = "hello ${const core::String::fromEnvironment("baz", defaultValue: "world")}!";
+static const field core::String bar2 = "hello2 2".{core::String::+}(self::bar){(core::String) → core::String};
+static const field core::bool baz = true && true && (false || true) && 42 =={core::num::==}{(core::Object) → core::bool} 21.{core::num::*}(4){(core::num) → core::int}.{core::num::/}(2){(core::num) → core::double};
+static const field core::Symbol blaSymbol = #_x;
 static method main() → dynamic
   ;
 static method _x() → void
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.transformed.expect
index f3b74df..520bfe6 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.transformed.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 
-static const field core::int* foo = #C1;
-static const field core::String* bar = #C2;
-static const field core::String* bar2 = #C3;
-static const field core::bool* baz = #C4;
-static const field core::Symbol* blaSymbol = #C5;
+static const field core::int foo = #C1;
+static const field core::String bar = #C2;
+static const field core::String bar2 = #C3;
+static const field core::bool baz = #C4;
+static const field core::Symbol blaSymbol = #C5;
 static method main() → dynamic {
   self::_x();
   #C6;
diff --git a/pkg/front_end/testcases/general/constants/various.dart b/pkg/front_end/testcases/general/constants/various.dart
index 927fb6e..a1ce27a 100644
--- a/pkg/front_end/testcases/general/constants/various.dart
+++ b/pkg/front_end/testcases/general/constants/various.dart
@@ -1,7 +1,9 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
+
 // @dart=2.9
+
 // Environment does not contain "bar".
 const bool barFromEnv = const bool.fromEnvironment("bar");
 const bool hasBarEnv = const bool.hasEnvironment("bar");
diff --git a/pkg/front_end/testcases/general/constants/various.dart.weak.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.expect
index 9fa5cbe..dcff246 100644
--- a/pkg/front_end/testcases/general/constants/various.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/various.dart.weak.expect
@@ -2,314 +2,314 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/various.dart:162:3: Error: A const constructor can't have a body.
+// pkg/front_end/testcases/general/constants/various.dart:164:3: Error: A const constructor can't have a body.
 // Try removing either the 'const' keyword or the body.
 //   const ClassWithNonEmptyConstConstructor() {
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:76:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:78:14: Error: Not a constant expression.
 // const x1 = --x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:77:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:79:14: Error: Not a constant expression.
 // const x2 = ++x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:78:12: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:80:12: Error: Not a constant expression.
 // const x3 = x--;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:79:12: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:81:12: Error: Not a constant expression.
 // const x4 = x++;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:84:14: Error: Setter not found: 'y'.
 // const y1 = --y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:83:14: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:85:14: Error: Setter not found: 'y'.
 // const y2 = ++y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:84:12: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:86:12: Error: Setter not found: 'y'.
 // const y3 = y--;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:85:12: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:87:12: Error: Setter not found: 'y'.
 // const y4 = y++;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:140:24: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:142:24: Error: Not a constant expression.
 // const function_const = () {};
 //                        ^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:180:14: Error: Can't access 'this' in a field initializer to read 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:182:14: Error: Can't access 'this' in a field initializer to read 'y'.
 //   final z1 = y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
 //   @AbstractClass()
 //    ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //   @AbstractClass()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
 //   @AbstractClassWithConstructor()
 //    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //   @AbstractClassWithConstructor()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:118:39: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:120: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();
 //                                       ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+// pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
 //   const ExtendsFoo2();
 //         ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:180:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:182:14: Error: Not a constant expression.
 //   final z1 = y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:181:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:183:14: Error: Not a constant expression.
 //   final z2 = x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:96:11: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:98:11: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
 //     const AbstractClassWithConstructor();
 //           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:96:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:98:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //     const AbstractClassWithConstructor();
 //           ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:168:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:170: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();
 //           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:114:7: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+// pkg/front_end/testcases/general/constants/various.dart:116:7: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
 // class ExtendsFoo1 extends Foo {
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: Not a constant expression.
 //   @AbstractClass()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: Not a constant expression.
 //   @AbstractClassWithConstructor()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:10:34: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:12:34: Error: Constant evaluation error:
 // const bool notBarFromEnvOrNull = !barFromEnvOrNull;
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:10:34: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+// pkg/front_end/testcases/general/constants/various.dart:12:34: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
 // const bool notBarFromEnvOrNull = !barFromEnvOrNull;
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:10:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:12:12: Context: While analyzing:
 // const bool notBarFromEnvOrNull = !barFromEnvOrNull;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:11:49: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:13:49: Error: Constant evaluation error:
 // const bool conditionalOnNull = barFromEnvOrNull ? true : false;
 //                                                 ^
-// pkg/front_end/testcases/general/constants/various.dart:11:32: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+// pkg/front_end/testcases/general/constants/various.dart:13:32: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
 // const bool conditionalOnNull = barFromEnvOrNull ? true : false;
 //                                ^
-// pkg/front_end/testcases/general/constants/various.dart:11:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:13:12: Context: While analyzing:
 // const bool conditionalOnNull = barFromEnvOrNull ? true : false;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:16:41: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:18:41: Error: Constant evaluation error:
 // const bool andOnNull = barFromEnvOrNull && true;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:16:41: Context: The method '&&' can't be invoked on 'null' in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:18:41: Context: The method '&&' can't be invoked on 'null' in a constant expression.
 // const bool andOnNull = barFromEnvOrNull && true;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:16:12: Context: While analyzing:
-// const bool andOnNull = barFromEnvOrNull && true;
-//            ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:17:30: Error: Constant evaluation error:
-// const bool andOnNull2 = true && barFromEnvOrNull;
-//                              ^
-// pkg/front_end/testcases/general/constants/various.dart:17:30: Context: Binary operator '&&' on 'true' requires operand of type 'bool', but was of type 'Null'.
-// const bool andOnNull2 = true && barFromEnvOrNull;
-//                              ^
-// pkg/front_end/testcases/general/constants/various.dart:17:12: Context: While analyzing:
-// const bool andOnNull2 = true && barFromEnvOrNull;
-//            ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:18:40: Error: Constant evaluation error:
-// const bool orOnNull = barFromEnvOrNull || true;
-//                                        ^
-// pkg/front_end/testcases/general/constants/various.dart:18:40: Context: The method '||' can't be invoked on 'null' in a constant expression.
-// const bool orOnNull = barFromEnvOrNull || true;
-//                                        ^
 // pkg/front_end/testcases/general/constants/various.dart:18:12: Context: While analyzing:
+// const bool andOnNull = barFromEnvOrNull && true;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:19:30: Error: Constant evaluation error:
+// const bool andOnNull2 = true && barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:19:30: Context: Binary operator '&&' on 'true' requires operand of type 'bool', but was of type 'Null'.
+// const bool andOnNull2 = true && barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:19:12: Context: While analyzing:
+// const bool andOnNull2 = true && barFromEnvOrNull;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:20:40: Error: Constant evaluation error:
+// const bool orOnNull = barFromEnvOrNull || true;
+//                                        ^
+// pkg/front_end/testcases/general/constants/various.dart:20:40: Context: The method '||' can't be invoked on 'null' in a constant expression.
+// const bool orOnNull = barFromEnvOrNull || true;
+//                                        ^
+// pkg/front_end/testcases/general/constants/various.dart:20:12: Context: While analyzing:
 // const bool orOnNull = barFromEnvOrNull || true;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:19:41: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:21:41: Error: Constant evaluation error:
 // const bool orOnNull2 = barFromEnvOrNull || false;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:19:41: Context: The method '||' can't be invoked on 'null' in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:21:41: Context: The method '||' can't be invoked on 'null' in a constant expression.
 // const bool orOnNull2 = barFromEnvOrNull || false;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:19:12: Context: While analyzing:
-// const bool orOnNull2 = barFromEnvOrNull || false;
-//            ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:21:30: Error: Constant evaluation error:
-// const bool orOnNull4 = false || barFromEnvOrNull;
-//                              ^
-// pkg/front_end/testcases/general/constants/various.dart:21:30: Context: Binary operator '||' on 'false' requires operand of type 'bool', but was of type 'Null'.
-// const bool orOnNull4 = false || barFromEnvOrNull;
-//                              ^
 // pkg/front_end/testcases/general/constants/various.dart:21:12: Context: While analyzing:
+// const bool orOnNull2 = barFromEnvOrNull || false;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:23:30: Error: Constant evaluation error:
+// const bool orOnNull4 = false || barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:23:30: Context: Binary operator '||' on 'false' requires operand of type 'bool', but was of type 'Null'.
+// const bool orOnNull4 = false || barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:23:12: Context: While analyzing:
 // const bool orOnNull4 = false || barFromEnvOrNull;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:29:11: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:31:11: Error: Constant evaluation error:
 //     const String.fromEnvironment(barFromEnvOrNullString);
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:29:11: Context: Null value during constant evaluation.
+// pkg/front_end/testcases/general/constants/various.dart:31:11: Context: Null value during constant evaluation.
 //     const String.fromEnvironment(barFromEnvOrNullString);
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:28:14: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:30:14: Context: While analyzing:
 // const String nullFromEnvString =
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:36:36: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:38:36: Error: Constant evaluation error:
 // const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
 //                                    ^
-// pkg/front_end/testcases/general/constants/various.dart:36:36: Context: Null value during constant evaluation.
+// pkg/front_end/testcases/general/constants/various.dart:38:36: Context: Null value during constant evaluation.
 // const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
 //                                    ^
-// pkg/front_end/testcases/general/constants/various.dart:36:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:38:12: Context: While analyzing:
 // const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:43:34: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:45:34: Error: Constant evaluation error:
 // const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:43:34: Context: Null value during constant evaluation.
+// pkg/front_end/testcases/general/constants/various.dart:45:34: Context: Null value during constant evaluation.
 // const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:43:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:45:11: Context: While analyzing:
 // const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
 //           ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:64:37: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:66:37: Error: Constant evaluation error:
 // const binaryOnDouble = willBeDouble << 2;
 //                                     ^
-// pkg/front_end/testcases/general/constants/various.dart:64:37: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// pkg/front_end/testcases/general/constants/various.dart:66:37: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
 // const binaryOnDouble = willBeDouble << 2;
 //                                     ^
-// pkg/front_end/testcases/general/constants/various.dart:64:7: Context: While analyzing:
-// const binaryOnDouble = willBeDouble << 2;
-//       ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:66:44: Error: Constant evaluation error:
-// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
-//                                            ^
-// pkg/front_end/testcases/general/constants/various.dart:66:44: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
-// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
-//                                            ^
 // pkg/front_end/testcases/general/constants/various.dart:66:7: Context: While analyzing:
+// const binaryOnDouble = willBeDouble << 2;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:68:44: Error: Constant evaluation error:
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various.dart:68:44: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various.dart:68:7: Context: While analyzing:
 // const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:68:41: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:70:41: Error: Constant evaluation error:
 // const binaryOnIntWithString = willBeInt << "hello";
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:68:41: Context: Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.
+// pkg/front_end/testcases/general/constants/various.dart:70:41: Context: Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.
 // const binaryOnIntWithString = willBeInt << "hello";
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:68:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:70:7: Context: While analyzing:
 // const binaryOnIntWithString = willBeInt << "hello";
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:72:44: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:74:44: Error: Constant evaluation error:
 // const binaryOnStringWithInt = willBeString + willBeInt;
 //                                            ^
-// pkg/front_end/testcases/general/constants/various.dart:72:44: Context: Binary operator '+' on '"hello"' requires operand of type 'String', but was of type 'int'.
+// pkg/front_end/testcases/general/constants/various.dart:74:44: Context: Binary operator '+' on '"hello"' requires operand of type 'String', but was of type 'int'.
 // const binaryOnStringWithInt = willBeString + willBeInt;
 //                                            ^
-// pkg/front_end/testcases/general/constants/various.dart:72:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:74:7: Context: While analyzing:
 // const binaryOnStringWithInt = willBeString + willBeInt;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:73:50: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:75:50: Error: Constant evaluation error:
 // const binaryOnStringWithStringBad = willBeString - " world";
 //                                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:73:50: Context: The method '-' can't be invoked on '"hello"' in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:75:50: Context: The method '-' can't be invoked on '"hello"' in a constant expression.
 // const binaryOnStringWithStringBad = willBeString - " world";
 //                                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:73:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:75:7: Context: While analyzing:
 // const binaryOnStringWithStringBad = willBeString - " world";
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:78:13: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:80:13: Error: Constant evaluation error:
 // const x3 = x--;
 //             ^
-// pkg/front_end/testcases/general/constants/various.dart:78:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:80:12: Context: The invocation of 'x' is not allowed in a constant expression.
 // const x3 = x--;
 //            ^
-// pkg/front_end/testcases/general/constants/various.dart:78:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:80:7: Context: While analyzing:
 // const x3 = x--;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:79:13: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:81:13: Error: Constant evaluation error:
 // const x4 = x++;
 //             ^
-// pkg/front_end/testcases/general/constants/various.dart:79:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:81:12: Context: The invocation of 'x' is not allowed in a constant expression.
 // const x4 = x++;
 //            ^
-// pkg/front_end/testcases/general/constants/various.dart:79:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:81:7: Context: While analyzing:
 // const x4 = x++;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:129:29: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:131:29: Error: Constant evaluation error:
 // const bool foosEqual = foo1 == foo2;
 //                             ^
-// pkg/front_end/testcases/general/constants/various.dart:129:29: Context: Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
+// pkg/front_end/testcases/general/constants/various.dart:131:29: Context: Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
 //  - 'Foo' is from 'pkg/front_end/testcases/general/constants/various.dart'.
 // const bool foosEqual = foo1 == foo2;
 //                             ^
-// pkg/front_end/testcases/general/constants/various.dart:129:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:131:12: Context: While analyzing:
 // const bool foosEqual = foo1 == foo2;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:135:26: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:137:26: Error: Constant evaluation error:
 // const int circularity1 = circularity2;
 //                          ^
-// pkg/front_end/testcases/general/constants/various.dart:135:26: Context: Constant expression depends on itself.
+// pkg/front_end/testcases/general/constants/various.dart:137:26: Context: Constant expression depends on itself.
 // const int circularity1 = circularity2;
 //                          ^
-// pkg/front_end/testcases/general/constants/various.dart:135:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:137:11: Context: While analyzing:
 // const int circularity1 = circularity2;
 //           ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:148:11: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:150:11: Error: Constant evaluation error:
 //     const ConstClassWithFailingAssertWithEmptyMessage();
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:144:64: Context: This assertion failed with message: (empty)
+// pkg/front_end/testcases/general/constants/various.dart:146:64: Context: This assertion failed with message: (empty)
 //   const ConstClassWithFailingAssertWithEmptyMessage() : assert(false, "");
 //                                                                ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:185:11: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:187:11: Error: Constant evaluation error:
 //     const ConstClassWithFinalFields2();
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:181:14: Context: The invocation of 'x' is not allowed in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:183:14: Context: The invocation of 'x' is not allowed in a constant expression.
 //   final z2 = x;
 //              ^
 //
@@ -391,7 +391,7 @@
 }
 class ExtendsFoo2 extends self::Foo /*hasConstConstructor*/  {
   const constructor •() → self::ExtendsFoo2*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
   const ExtendsFoo2();
         ^^^^^^^^^^^"
     ;
@@ -531,27 +531,27 @@
 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 invalid-type 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:84:14: Error: Setter not found: 'y'.
 const y1 = --y;
              ^";
-static const field invalid-type 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:85: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'.
+static const field core::int* y3 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:86:12: Error: Setter not found: 'y'.
 const y3 = y--;
            ^";
-static const field core::int* y4 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:85:12: Error: Setter not found: 'y'.
+static const field core::int* y4 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:87:12: Error: Setter not found: 'y'.
 const y4 = y++;
            ^";
-static field self::AbstractClassWithConstructor* abstractClassWithConstructor = throw invalid-expression "pkg/front_end/testcases/general/constants/various.dart:96:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+static field self::AbstractClassWithConstructor* abstractClassWithConstructor = throw invalid-expression "pkg/front_end/testcases/general/constants/various.dart:98:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
     const 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.
+static const field self::ExtendsFoo1* extendsFoo1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:120: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();
                                       ^^^^^^^^^^^";
-static const field self::ExtendsFoo2* extendsFoo2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+static const field self::ExtendsFoo2* extendsFoo2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
   const ExtendsFoo2();
         ^^^^^^^^^^^";
 static const field self::Foo* foo1 = #C14;
@@ -567,7 +567,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 invalid-type 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:142:24: Error: Not a constant expression.
 const function_const = () {};
                        ^^";
 static field () →* Null function_var = () → Null {};
@@ -575,7 +575,7 @@
 static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic>* classWithTypeArguments1 = #C19;
 static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic>* classWithTypeArguments2 = #C20;
 static const field core::bool* classWithTypeArgumentsIdentical = #C1;
-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.
+static field self::ClassWithNonEmptyConstConstructor* classWithNonEmptyConstConstructor = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:170: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();
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
@@ -636,9 +636,9 @@
 
 Constructor coverage from constants:
 org-dartlang-testcase:///various.dart:
-- ExtendsFoo2. (from org-dartlang-testcase:///various.dart:121:9)
-- Foo. (from org-dartlang-testcase:///various.dart:109:9)
+- ExtendsFoo2. (from org-dartlang-testcase:///various.dart:123:9)
+- Foo. (from org-dartlang-testcase:///various.dart:111:9)
 - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- ConstClassWithFailingAssertWithEmptyMessage. (from org-dartlang-testcase:///various.dart:144:9)
-- ClassWithTypeArguments. (from org-dartlang-testcase:///various.dart:151:9)
-- ConstClassWithFinalFields2. (from org-dartlang-testcase:///various.dart:177:9)
+- ConstClassWithFailingAssertWithEmptyMessage. (from org-dartlang-testcase:///various.dart:146:9)
+- ClassWithTypeArguments. (from org-dartlang-testcase:///various.dart:153:9)
+- ConstClassWithFinalFields2. (from org-dartlang-testcase:///various.dart:179:9)
diff --git a/pkg/front_end/testcases/general/constants/various.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.modular.expect
index 9fa5cbe..dcff246 100644
--- a/pkg/front_end/testcases/general/constants/various.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/constants/various.dart.weak.modular.expect
@@ -2,314 +2,314 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/various.dart:162:3: Error: A const constructor can't have a body.
+// pkg/front_end/testcases/general/constants/various.dart:164:3: Error: A const constructor can't have a body.
 // Try removing either the 'const' keyword or the body.
 //   const ClassWithNonEmptyConstConstructor() {
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:76:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:78:14: Error: Not a constant expression.
 // const x1 = --x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:77:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:79:14: Error: Not a constant expression.
 // const x2 = ++x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:78:12: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:80:12: Error: Not a constant expression.
 // const x3 = x--;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:79:12: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:81:12: Error: Not a constant expression.
 // const x4 = x++;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:84:14: Error: Setter not found: 'y'.
 // const y1 = --y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:83:14: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:85:14: Error: Setter not found: 'y'.
 // const y2 = ++y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:84:12: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:86:12: Error: Setter not found: 'y'.
 // const y3 = y--;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:85:12: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:87:12: Error: Setter not found: 'y'.
 // const y4 = y++;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:140:24: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:142:24: Error: Not a constant expression.
 // const function_const = () {};
 //                        ^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:180:14: Error: Can't access 'this' in a field initializer to read 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:182:14: Error: Can't access 'this' in a field initializer to read 'y'.
 //   final z1 = y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
 //   @AbstractClass()
 //    ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //   @AbstractClass()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
 //   @AbstractClassWithConstructor()
 //    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //   @AbstractClassWithConstructor()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:118:39: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:120: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();
 //                                       ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+// pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
 //   const ExtendsFoo2();
 //         ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:180:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:182:14: Error: Not a constant expression.
 //   final z1 = y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:181:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:183:14: Error: Not a constant expression.
 //   final z2 = x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:96:11: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:98:11: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
 //     const AbstractClassWithConstructor();
 //           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:96:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:98:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //     const AbstractClassWithConstructor();
 //           ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:168:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:170: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();
 //           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:114:7: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+// pkg/front_end/testcases/general/constants/various.dart:116:7: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
 // class ExtendsFoo1 extends Foo {
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: Not a constant expression.
 //   @AbstractClass()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: Not a constant expression.
 //   @AbstractClassWithConstructor()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:10:34: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:12:34: Error: Constant evaluation error:
 // const bool notBarFromEnvOrNull = !barFromEnvOrNull;
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:10:34: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+// pkg/front_end/testcases/general/constants/various.dart:12:34: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
 // const bool notBarFromEnvOrNull = !barFromEnvOrNull;
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:10:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:12:12: Context: While analyzing:
 // const bool notBarFromEnvOrNull = !barFromEnvOrNull;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:11:49: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:13:49: Error: Constant evaluation error:
 // const bool conditionalOnNull = barFromEnvOrNull ? true : false;
 //                                                 ^
-// pkg/front_end/testcases/general/constants/various.dart:11:32: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+// pkg/front_end/testcases/general/constants/various.dart:13:32: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
 // const bool conditionalOnNull = barFromEnvOrNull ? true : false;
 //                                ^
-// pkg/front_end/testcases/general/constants/various.dart:11:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:13:12: Context: While analyzing:
 // const bool conditionalOnNull = barFromEnvOrNull ? true : false;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:16:41: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:18:41: Error: Constant evaluation error:
 // const bool andOnNull = barFromEnvOrNull && true;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:16:41: Context: The method '&&' can't be invoked on 'null' in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:18:41: Context: The method '&&' can't be invoked on 'null' in a constant expression.
 // const bool andOnNull = barFromEnvOrNull && true;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:16:12: Context: While analyzing:
-// const bool andOnNull = barFromEnvOrNull && true;
-//            ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:17:30: Error: Constant evaluation error:
-// const bool andOnNull2 = true && barFromEnvOrNull;
-//                              ^
-// pkg/front_end/testcases/general/constants/various.dart:17:30: Context: Binary operator '&&' on 'true' requires operand of type 'bool', but was of type 'Null'.
-// const bool andOnNull2 = true && barFromEnvOrNull;
-//                              ^
-// pkg/front_end/testcases/general/constants/various.dart:17:12: Context: While analyzing:
-// const bool andOnNull2 = true && barFromEnvOrNull;
-//            ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:18:40: Error: Constant evaluation error:
-// const bool orOnNull = barFromEnvOrNull || true;
-//                                        ^
-// pkg/front_end/testcases/general/constants/various.dart:18:40: Context: The method '||' can't be invoked on 'null' in a constant expression.
-// const bool orOnNull = barFromEnvOrNull || true;
-//                                        ^
 // pkg/front_end/testcases/general/constants/various.dart:18:12: Context: While analyzing:
+// const bool andOnNull = barFromEnvOrNull && true;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:19:30: Error: Constant evaluation error:
+// const bool andOnNull2 = true && barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:19:30: Context: Binary operator '&&' on 'true' requires operand of type 'bool', but was of type 'Null'.
+// const bool andOnNull2 = true && barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:19:12: Context: While analyzing:
+// const bool andOnNull2 = true && barFromEnvOrNull;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:20:40: Error: Constant evaluation error:
+// const bool orOnNull = barFromEnvOrNull || true;
+//                                        ^
+// pkg/front_end/testcases/general/constants/various.dart:20:40: Context: The method '||' can't be invoked on 'null' in a constant expression.
+// const bool orOnNull = barFromEnvOrNull || true;
+//                                        ^
+// pkg/front_end/testcases/general/constants/various.dart:20:12: Context: While analyzing:
 // const bool orOnNull = barFromEnvOrNull || true;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:19:41: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:21:41: Error: Constant evaluation error:
 // const bool orOnNull2 = barFromEnvOrNull || false;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:19:41: Context: The method '||' can't be invoked on 'null' in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:21:41: Context: The method '||' can't be invoked on 'null' in a constant expression.
 // const bool orOnNull2 = barFromEnvOrNull || false;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:19:12: Context: While analyzing:
-// const bool orOnNull2 = barFromEnvOrNull || false;
-//            ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:21:30: Error: Constant evaluation error:
-// const bool orOnNull4 = false || barFromEnvOrNull;
-//                              ^
-// pkg/front_end/testcases/general/constants/various.dart:21:30: Context: Binary operator '||' on 'false' requires operand of type 'bool', but was of type 'Null'.
-// const bool orOnNull4 = false || barFromEnvOrNull;
-//                              ^
 // pkg/front_end/testcases/general/constants/various.dart:21:12: Context: While analyzing:
+// const bool orOnNull2 = barFromEnvOrNull || false;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:23:30: Error: Constant evaluation error:
+// const bool orOnNull4 = false || barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:23:30: Context: Binary operator '||' on 'false' requires operand of type 'bool', but was of type 'Null'.
+// const bool orOnNull4 = false || barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:23:12: Context: While analyzing:
 // const bool orOnNull4 = false || barFromEnvOrNull;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:29:11: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:31:11: Error: Constant evaluation error:
 //     const String.fromEnvironment(barFromEnvOrNullString);
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:29:11: Context: Null value during constant evaluation.
+// pkg/front_end/testcases/general/constants/various.dart:31:11: Context: Null value during constant evaluation.
 //     const String.fromEnvironment(barFromEnvOrNullString);
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:28:14: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:30:14: Context: While analyzing:
 // const String nullFromEnvString =
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:36:36: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:38:36: Error: Constant evaluation error:
 // const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
 //                                    ^
-// pkg/front_end/testcases/general/constants/various.dart:36:36: Context: Null value during constant evaluation.
+// pkg/front_end/testcases/general/constants/various.dart:38:36: Context: Null value during constant evaluation.
 // const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
 //                                    ^
-// pkg/front_end/testcases/general/constants/various.dart:36:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:38:12: Context: While analyzing:
 // const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:43:34: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:45:34: Error: Constant evaluation error:
 // const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:43:34: Context: Null value during constant evaluation.
+// pkg/front_end/testcases/general/constants/various.dart:45:34: Context: Null value during constant evaluation.
 // const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:43:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:45:11: Context: While analyzing:
 // const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
 //           ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:64:37: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:66:37: Error: Constant evaluation error:
 // const binaryOnDouble = willBeDouble << 2;
 //                                     ^
-// pkg/front_end/testcases/general/constants/various.dart:64:37: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// pkg/front_end/testcases/general/constants/various.dart:66:37: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
 // const binaryOnDouble = willBeDouble << 2;
 //                                     ^
-// pkg/front_end/testcases/general/constants/various.dart:64:7: Context: While analyzing:
-// const binaryOnDouble = willBeDouble << 2;
-//       ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:66:44: Error: Constant evaluation error:
-// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
-//                                            ^
-// pkg/front_end/testcases/general/constants/various.dart:66:44: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
-// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
-//                                            ^
 // pkg/front_end/testcases/general/constants/various.dart:66:7: Context: While analyzing:
+// const binaryOnDouble = willBeDouble << 2;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:68:44: Error: Constant evaluation error:
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various.dart:68:44: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various.dart:68:7: Context: While analyzing:
 // const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:68:41: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:70:41: Error: Constant evaluation error:
 // const binaryOnIntWithString = willBeInt << "hello";
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:68:41: Context: Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.
+// pkg/front_end/testcases/general/constants/various.dart:70:41: Context: Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.
 // const binaryOnIntWithString = willBeInt << "hello";
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:68:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:70:7: Context: While analyzing:
 // const binaryOnIntWithString = willBeInt << "hello";
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:72:44: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:74:44: Error: Constant evaluation error:
 // const binaryOnStringWithInt = willBeString + willBeInt;
 //                                            ^
-// pkg/front_end/testcases/general/constants/various.dart:72:44: Context: Binary operator '+' on '"hello"' requires operand of type 'String', but was of type 'int'.
+// pkg/front_end/testcases/general/constants/various.dart:74:44: Context: Binary operator '+' on '"hello"' requires operand of type 'String', but was of type 'int'.
 // const binaryOnStringWithInt = willBeString + willBeInt;
 //                                            ^
-// pkg/front_end/testcases/general/constants/various.dart:72:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:74:7: Context: While analyzing:
 // const binaryOnStringWithInt = willBeString + willBeInt;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:73:50: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:75:50: Error: Constant evaluation error:
 // const binaryOnStringWithStringBad = willBeString - " world";
 //                                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:73:50: Context: The method '-' can't be invoked on '"hello"' in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:75:50: Context: The method '-' can't be invoked on '"hello"' in a constant expression.
 // const binaryOnStringWithStringBad = willBeString - " world";
 //                                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:73:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:75:7: Context: While analyzing:
 // const binaryOnStringWithStringBad = willBeString - " world";
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:78:13: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:80:13: Error: Constant evaluation error:
 // const x3 = x--;
 //             ^
-// pkg/front_end/testcases/general/constants/various.dart:78:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:80:12: Context: The invocation of 'x' is not allowed in a constant expression.
 // const x3 = x--;
 //            ^
-// pkg/front_end/testcases/general/constants/various.dart:78:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:80:7: Context: While analyzing:
 // const x3 = x--;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:79:13: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:81:13: Error: Constant evaluation error:
 // const x4 = x++;
 //             ^
-// pkg/front_end/testcases/general/constants/various.dart:79:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:81:12: Context: The invocation of 'x' is not allowed in a constant expression.
 // const x4 = x++;
 //            ^
-// pkg/front_end/testcases/general/constants/various.dart:79:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:81:7: Context: While analyzing:
 // const x4 = x++;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:129:29: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:131:29: Error: Constant evaluation error:
 // const bool foosEqual = foo1 == foo2;
 //                             ^
-// pkg/front_end/testcases/general/constants/various.dart:129:29: Context: Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
+// pkg/front_end/testcases/general/constants/various.dart:131:29: Context: Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
 //  - 'Foo' is from 'pkg/front_end/testcases/general/constants/various.dart'.
 // const bool foosEqual = foo1 == foo2;
 //                             ^
-// pkg/front_end/testcases/general/constants/various.dart:129:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:131:12: Context: While analyzing:
 // const bool foosEqual = foo1 == foo2;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:135:26: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:137:26: Error: Constant evaluation error:
 // const int circularity1 = circularity2;
 //                          ^
-// pkg/front_end/testcases/general/constants/various.dart:135:26: Context: Constant expression depends on itself.
+// pkg/front_end/testcases/general/constants/various.dart:137:26: Context: Constant expression depends on itself.
 // const int circularity1 = circularity2;
 //                          ^
-// pkg/front_end/testcases/general/constants/various.dart:135:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:137:11: Context: While analyzing:
 // const int circularity1 = circularity2;
 //           ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:148:11: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:150:11: Error: Constant evaluation error:
 //     const ConstClassWithFailingAssertWithEmptyMessage();
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:144:64: Context: This assertion failed with message: (empty)
+// pkg/front_end/testcases/general/constants/various.dart:146:64: Context: This assertion failed with message: (empty)
 //   const ConstClassWithFailingAssertWithEmptyMessage() : assert(false, "");
 //                                                                ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:185:11: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:187:11: Error: Constant evaluation error:
 //     const ConstClassWithFinalFields2();
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:181:14: Context: The invocation of 'x' is not allowed in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:183:14: Context: The invocation of 'x' is not allowed in a constant expression.
 //   final z2 = x;
 //              ^
 //
@@ -391,7 +391,7 @@
 }
 class ExtendsFoo2 extends self::Foo /*hasConstConstructor*/  {
   const constructor •() → self::ExtendsFoo2*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
   const ExtendsFoo2();
         ^^^^^^^^^^^"
     ;
@@ -531,27 +531,27 @@
 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 invalid-type 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:84:14: Error: Setter not found: 'y'.
 const y1 = --y;
              ^";
-static const field invalid-type 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:85: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'.
+static const field core::int* y3 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:86:12: Error: Setter not found: 'y'.
 const y3 = y--;
            ^";
-static const field core::int* y4 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:85:12: Error: Setter not found: 'y'.
+static const field core::int* y4 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:87:12: Error: Setter not found: 'y'.
 const y4 = y++;
            ^";
-static field self::AbstractClassWithConstructor* abstractClassWithConstructor = throw invalid-expression "pkg/front_end/testcases/general/constants/various.dart:96:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+static field self::AbstractClassWithConstructor* abstractClassWithConstructor = throw invalid-expression "pkg/front_end/testcases/general/constants/various.dart:98:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
     const 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.
+static const field self::ExtendsFoo1* extendsFoo1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:120: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();
                                       ^^^^^^^^^^^";
-static const field self::ExtendsFoo2* extendsFoo2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+static const field self::ExtendsFoo2* extendsFoo2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
   const ExtendsFoo2();
         ^^^^^^^^^^^";
 static const field self::Foo* foo1 = #C14;
@@ -567,7 +567,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 invalid-type 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:142:24: Error: Not a constant expression.
 const function_const = () {};
                        ^^";
 static field () →* Null function_var = () → Null {};
@@ -575,7 +575,7 @@
 static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic>* classWithTypeArguments1 = #C19;
 static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic>* classWithTypeArguments2 = #C20;
 static const field core::bool* classWithTypeArgumentsIdentical = #C1;
-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.
+static field self::ClassWithNonEmptyConstConstructor* classWithNonEmptyConstConstructor = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:170: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();
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
@@ -636,9 +636,9 @@
 
 Constructor coverage from constants:
 org-dartlang-testcase:///various.dart:
-- ExtendsFoo2. (from org-dartlang-testcase:///various.dart:121:9)
-- Foo. (from org-dartlang-testcase:///various.dart:109:9)
+- ExtendsFoo2. (from org-dartlang-testcase:///various.dart:123:9)
+- Foo. (from org-dartlang-testcase:///various.dart:111:9)
 - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- ConstClassWithFailingAssertWithEmptyMessage. (from org-dartlang-testcase:///various.dart:144:9)
-- ClassWithTypeArguments. (from org-dartlang-testcase:///various.dart:151:9)
-- ConstClassWithFinalFields2. (from org-dartlang-testcase:///various.dart:177:9)
+- ConstClassWithFailingAssertWithEmptyMessage. (from org-dartlang-testcase:///various.dart:146:9)
+- ClassWithTypeArguments. (from org-dartlang-testcase:///various.dart:153:9)
+- ConstClassWithFinalFields2. (from org-dartlang-testcase:///various.dart:179:9)
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 7b7e406..a12e1f8 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
@@ -2,83 +2,83 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/various.dart:162:3: Error: A const constructor can't have a body.
+// pkg/front_end/testcases/general/constants/various.dart:164:3: Error: A const constructor can't have a body.
 // Try removing either the 'const' keyword or the body.
 //   const ClassWithNonEmptyConstConstructor() {
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:76:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:78:14: Error: Not a constant expression.
 // const x1 = --x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:77:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:79:14: Error: Not a constant expression.
 // const x2 = ++x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:78:12: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:80:12: Error: Not a constant expression.
 // const x3 = x--;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:79:12: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:81:12: Error: Not a constant expression.
 // const x4 = x++;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:84:14: Error: Setter not found: 'y'.
 // const y1 = --y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:83:14: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:85:14: Error: Setter not found: 'y'.
 // const y2 = ++y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:84:12: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:86:12: Error: Setter not found: 'y'.
 // const y3 = y--;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:85:12: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:87:12: Error: Setter not found: 'y'.
 // const y4 = y++;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:140:24: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:142:24: Error: Not a constant expression.
 // const function_const = () {};
 //                        ^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:180:14: Error: Can't access 'this' in a field initializer to read 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:182:14: Error: Can't access 'this' in a field initializer to read 'y'.
 //   final z1 = y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
 //   @AbstractClass()
 //    ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //   @AbstractClass()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
 //   @AbstractClassWithConstructor()
 //    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //   @AbstractClassWithConstructor()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:118:39: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:120: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();
 //                                       ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+// pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
 //   const ExtendsFoo2();
 //         ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:180:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:182:14: Error: Not a constant expression.
 //   final z1 = y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:181:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:183:14: Error: Not a constant expression.
 //   final z2 = x;
 //              ^
 //
@@ -117,12 +117,12 @@
   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class NotAbstractClass extends core::Object {
-  @throw invalid-expression "pkg/front_end/testcases/general/constants/various.dart:99:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+  @throw invalid-expression "pkg/front_end/testcases/general/constants/various.dart:101:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
   @AbstractClass()
    ^"
   field core::Object* foo;
-  @throw invalid-expression "pkg/front_end/testcases/general/constants/various.dart:102:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+  @throw invalid-expression "pkg/front_end/testcases/general/constants/various.dart:104:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
   @AbstractClassWithConstructor()
    ^"
@@ -163,7 +163,7 @@
 }
 class ExtendsFoo2 extends self::Foo /*hasConstConstructor*/  {
   const constructor •() → self::ExtendsFoo2*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
   const ExtendsFoo2();
         ^^^^^^^^^^^"
     ;
@@ -301,20 +301,20 @@
 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 invalid-type 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:84:14: Error: Setter not found: 'y'.
 const y1 = --y;
              ^";
-static const field invalid-type 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:85: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 invalid-type #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:86: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 invalid-type #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:87: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.
+static const field self::ExtendsFoo1* extendsFoo1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:120: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();
                                       ^^^^^^^^^^^";
@@ -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 invalid-type 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:142:24: Error: Not a constant expression.
 const function_const = () {};
                        ^^";
 static field () →* Null function_var;
@@ -369,88 +369,88 @@
 
 
 Extra constant evaluation status:
-Evaluated: InstanceGet @ org-dartlang-testcase:///various.dart:111:26 -> IntConstant(5)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:6:31 -> BoolConstant(false)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:7:30 -> BoolConstant(false)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:9:11 -> NullConstant(null)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:10:35 -> NullConstant(null)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:11:32 -> NullConstant(null)
-Evaluated: Let @ org-dartlang-testcase:///various.dart:12:51 -> BoolConstant(true)
-Evaluated: Let @ org-dartlang-testcase:///various.dart:13:52 -> BoolConstant(false)
-Evaluated: LogicalExpression @ org-dartlang-testcase:///various.dart:14:46 -> BoolConstant(false)
-Evaluated: LogicalExpression @ org-dartlang-testcase:///various.dart:15:46 -> BoolConstant(false)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:16:24 -> NullConstant(null)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:17:33 -> NullConstant(null)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:18:23 -> NullConstant(null)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:19:24 -> NullConstant(null)
-Evaluated: LogicalExpression @ org-dartlang-testcase:///various.dart:20:29 -> BoolConstant(true)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:21:33 -> NullConstant(null)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:23:39 -> StringConstant("")
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:25:11 -> NullConstant(null)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:27:11 -> StringConstant("hello")
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:29:34 -> NullConstant(null)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:31:35 -> BoolConstant(false)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:33:11 -> NullConstant(null)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:35:11 -> BoolConstant(true)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:36:57 -> NullConstant(null)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:38:33 -> IntConstant(0)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:40:11 -> NullConstant(null)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:42:11 -> IntConstant(42)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:43:54 -> NullConstant(null)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:46:31 -> BoolConstant(false)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:47:30 -> BoolConstant(true)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:48:35 -> IntConstant(42)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:49:41 -> StringConstant("42")
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:53:35 -> BoolConstant(true)
-Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:54:36 -> BoolConstant(false)
-Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:58:41 -> BoolConstant(true)
-Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:59:45 -> BoolConstant(false)
-Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:60:39 -> BoolConstant(true)
-Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:61:41 -> BoolConstant(true)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:63:64 -> DoubleConstant(42.42)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:64:24 -> DoubleConstant(42.42)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:65:61 -> IntConstant(42)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:66:34 -> IntConstant(42)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:66:47 -> DoubleConstant(42.42)
-Evaluated: DynamicInvocation @ org-dartlang-testcase:///various.dart:67:43 -> DoubleConstant(84.42)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:68:31 -> IntConstant(42)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:70:39 -> StringConstant("hello")
-Evaluated: DynamicInvocation @ org-dartlang-testcase:///various.dart:71:49 -> StringConstant("hello world")
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:72:31 -> StringConstant("hello")
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:72:46 -> IntConstant(42)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:73:37 -> StringConstant("hello")
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:84:12 -> IntConstant(1)
-Evaluated: VariableGet @ org-dartlang-testcase:///various.dart:84:12 -> IntConstant(1)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:85:12 -> IntConstant(1)
-Evaluated: VariableGet @ org-dartlang-testcase:///various.dart:85:12 -> IntConstant(1)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:126:24 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:127:24 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:128:28 -> BoolConstant(true)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:129:24 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:129:32 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:130:29 -> SymbolConstant(#Foo)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:131:34 -> SymbolConstant(#Foo=)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:132:40 -> SymbolConstant(#>>>)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:133:37 -> SymbolConstant(#I.Have.Dots)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:155:11 -> InstanceConstant(const ClassWithTypeArguments<int*, int*, int*>{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:157:11 -> InstanceConstant(const ClassWithTypeArguments<dynamic, dynamic, dynamic>{})
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:159:5 -> BoolConstant(false)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:187:32 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:188:38 -> BoolConstant(false)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:189:38 -> BoolConstant(false)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:190:22 -> BoolConstant(true)
-Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:192:32 -> BoolConstant(true)
-Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:193:38 -> BoolConstant(true)
-Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:194:36 -> BoolConstant(true)
-Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:195:24 -> BoolConstant(false)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:200:66 -> NullConstant(null)
-Evaluated: AsExpression @ org-dartlang-testcase:///various.dart:203:39 -> NullConstant(null)
-Evaluated: AsExpression @ org-dartlang-testcase:///various.dart:205:39 -> InstantiationConstant(id1<int*>)
-Evaluated: Not @ org-dartlang-testcase:///various.dart:208:20 -> BoolConstant(false)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:210:46 -> BoolConstant(true)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:211:38 -> BoolConstant(false)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:212:25 -> BoolConstant(true)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:213:40 -> BoolConstant(false)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:214:25 -> NullConstant(null)
+Evaluated: InstanceGet @ org-dartlang-testcase:///various.dart:113:26 -> IntConstant(5)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:8:31 -> BoolConstant(false)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:9:30 -> BoolConstant(false)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:11:11 -> NullConstant(null)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:12:35 -> NullConstant(null)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:13:32 -> NullConstant(null)
+Evaluated: Let @ org-dartlang-testcase:///various.dart:14:51 -> BoolConstant(true)
+Evaluated: Let @ org-dartlang-testcase:///various.dart:15:52 -> BoolConstant(false)
+Evaluated: LogicalExpression @ org-dartlang-testcase:///various.dart:16:46 -> BoolConstant(false)
+Evaluated: LogicalExpression @ org-dartlang-testcase:///various.dart:17:46 -> BoolConstant(false)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:18:24 -> NullConstant(null)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:19:33 -> NullConstant(null)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:20:23 -> NullConstant(null)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:21:24 -> NullConstant(null)
+Evaluated: LogicalExpression @ org-dartlang-testcase:///various.dart:22:29 -> BoolConstant(true)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:23:33 -> NullConstant(null)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:25:39 -> StringConstant("")
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:27:11 -> NullConstant(null)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:29:11 -> StringConstant("hello")
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:31:34 -> NullConstant(null)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:33:35 -> BoolConstant(false)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:35:11 -> NullConstant(null)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:37:11 -> BoolConstant(true)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:38:57 -> NullConstant(null)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:40:33 -> IntConstant(0)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:42:11 -> NullConstant(null)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:44:11 -> IntConstant(42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:45:54 -> NullConstant(null)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:48:31 -> BoolConstant(false)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:49:30 -> BoolConstant(true)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:50:35 -> IntConstant(42)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:51:41 -> StringConstant("42")
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:55:35 -> BoolConstant(true)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various.dart:56:36 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:60:41 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:61:45 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:62:39 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:63:41 -> BoolConstant(true)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:65:64 -> DoubleConstant(42.42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:66:24 -> DoubleConstant(42.42)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:67:61 -> IntConstant(42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:68:34 -> IntConstant(42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:68:47 -> DoubleConstant(42.42)
+Evaluated: DynamicInvocation @ org-dartlang-testcase:///various.dart:69:43 -> DoubleConstant(84.42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:70:31 -> IntConstant(42)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:72:39 -> StringConstant("hello")
+Evaluated: DynamicInvocation @ org-dartlang-testcase:///various.dart:73:49 -> StringConstant("hello world")
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:74:31 -> StringConstant("hello")
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:74:46 -> IntConstant(42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:75:37 -> StringConstant("hello")
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:86:12 -> IntConstant(1)
+Evaluated: VariableGet @ org-dartlang-testcase:///various.dart:86:12 -> IntConstant(1)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:87:12 -> IntConstant(1)
+Evaluated: VariableGet @ org-dartlang-testcase:///various.dart:87:12 -> IntConstant(1)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:128:24 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:129:24 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:130:28 -> BoolConstant(true)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:131:24 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:131:32 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:132:29 -> SymbolConstant(#Foo)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:133:34 -> SymbolConstant(#Foo=)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:134:40 -> SymbolConstant(#>>>)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:135:37 -> SymbolConstant(#I.Have.Dots)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:157:11 -> InstanceConstant(const ClassWithTypeArguments<int*, int*, int*>{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:159:11 -> InstanceConstant(const ClassWithTypeArguments<dynamic, dynamic, dynamic>{})
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:161:5 -> BoolConstant(false)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:189:32 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:190:38 -> BoolConstant(false)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:191:38 -> BoolConstant(false)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:192:22 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:194:32 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:195:38 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:196:36 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:197:24 -> BoolConstant(false)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:202:66 -> NullConstant(null)
+Evaluated: AsExpression @ org-dartlang-testcase:///various.dart:205:39 -> NullConstant(null)
+Evaluated: AsExpression @ org-dartlang-testcase:///various.dart:207:39 -> InstantiationConstant(id1<int*>)
+Evaluated: Not @ org-dartlang-testcase:///various.dart:210:20 -> BoolConstant(false)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:212:46 -> BoolConstant(true)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:213:38 -> BoolConstant(false)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:214:25 -> BoolConstant(true)
 Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:215:40 -> BoolConstant(false)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:216:25 -> NullConstant(null)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:217:40 -> BoolConstant(false)
 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 37e4135..cc993aa 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
@@ -2,314 +2,314 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/constants/various.dart:162:3: Error: A const constructor can't have a body.
+// pkg/front_end/testcases/general/constants/various.dart:164:3: Error: A const constructor can't have a body.
 // Try removing either the 'const' keyword or the body.
 //   const ClassWithNonEmptyConstConstructor() {
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:76:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:78:14: Error: Not a constant expression.
 // const x1 = --x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:77:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:79:14: Error: Not a constant expression.
 // const x2 = ++x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:78:12: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:80:12: Error: Not a constant expression.
 // const x3 = x--;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:79:12: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:81:12: Error: Not a constant expression.
 // const x4 = x++;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:84:14: Error: Setter not found: 'y'.
 // const y1 = --y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:83:14: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:85:14: Error: Setter not found: 'y'.
 // const y2 = ++y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:84:12: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:86:12: Error: Setter not found: 'y'.
 // const y3 = y--;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:85:12: Error: Setter not found: 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:87:12: Error: Setter not found: 'y'.
 // const y4 = y++;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:140:24: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:142:24: Error: Not a constant expression.
 // const function_const = () {};
 //                        ^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:180:14: Error: Can't access 'this' in a field initializer to read 'y'.
+// pkg/front_end/testcases/general/constants/various.dart:182:14: Error: Can't access 'this' in a field initializer to read 'y'.
 //   final z1 = y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
 //   @AbstractClass()
 //    ^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //   @AbstractClass()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
 //   @AbstractClassWithConstructor()
 //    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //   @AbstractClassWithConstructor()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:118:39: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:120: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();
 //                                       ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+// pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
 //   const ExtendsFoo2();
 //         ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:180:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:182:14: Error: Not a constant expression.
 //   final z1 = y;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:181:14: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:183:14: Error: Not a constant expression.
 //   final z2 = x;
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:96:11: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/constants/various.dart:98:11: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
 //     const AbstractClassWithConstructor();
 //           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:96:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:98:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 // Try using a constructor or factory that is 'const'.
 //     const AbstractClassWithConstructor();
 //           ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:168:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/constants/various.dart:170: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();
 //           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/constants/various.dart:114:7: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+// pkg/front_end/testcases/general/constants/various.dart:116:7: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
 // class ExtendsFoo1 extends Foo {
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:99:4: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:101:4: Error: Not a constant expression.
 //   @AbstractClass()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:102:4: Error: Not a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:104:4: Error: Not a constant expression.
 //   @AbstractClassWithConstructor()
 //    ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:10:34: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:12:34: Error: Constant evaluation error:
 // const bool notBarFromEnvOrNull = !barFromEnvOrNull;
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:10:34: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+// pkg/front_end/testcases/general/constants/various.dart:12:34: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
 // const bool notBarFromEnvOrNull = !barFromEnvOrNull;
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:10:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:12:12: Context: While analyzing:
 // const bool notBarFromEnvOrNull = !barFromEnvOrNull;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:11:49: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:13:49: Error: Constant evaluation error:
 // const bool conditionalOnNull = barFromEnvOrNull ? true : false;
 //                                                 ^
-// pkg/front_end/testcases/general/constants/various.dart:11:32: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
+// pkg/front_end/testcases/general/constants/various.dart:13:32: Context: Expected constant 'null' to be of type 'bool', but was of type 'Null'.
 // const bool conditionalOnNull = barFromEnvOrNull ? true : false;
 //                                ^
-// pkg/front_end/testcases/general/constants/various.dart:11:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:13:12: Context: While analyzing:
 // const bool conditionalOnNull = barFromEnvOrNull ? true : false;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:16:41: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:18:41: Error: Constant evaluation error:
 // const bool andOnNull = barFromEnvOrNull && true;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:16:41: Context: The method '&&' can't be invoked on 'null' in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:18:41: Context: The method '&&' can't be invoked on 'null' in a constant expression.
 // const bool andOnNull = barFromEnvOrNull && true;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:16:12: Context: While analyzing:
-// const bool andOnNull = barFromEnvOrNull && true;
-//            ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:17:30: Error: Constant evaluation error:
-// const bool andOnNull2 = true && barFromEnvOrNull;
-//                              ^
-// pkg/front_end/testcases/general/constants/various.dart:17:30: Context: Binary operator '&&' on 'true' requires operand of type 'bool', but was of type 'Null'.
-// const bool andOnNull2 = true && barFromEnvOrNull;
-//                              ^
-// pkg/front_end/testcases/general/constants/various.dart:17:12: Context: While analyzing:
-// const bool andOnNull2 = true && barFromEnvOrNull;
-//            ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:18:40: Error: Constant evaluation error:
-// const bool orOnNull = barFromEnvOrNull || true;
-//                                        ^
-// pkg/front_end/testcases/general/constants/various.dart:18:40: Context: The method '||' can't be invoked on 'null' in a constant expression.
-// const bool orOnNull = barFromEnvOrNull || true;
-//                                        ^
 // pkg/front_end/testcases/general/constants/various.dart:18:12: Context: While analyzing:
+// const bool andOnNull = barFromEnvOrNull && true;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:19:30: Error: Constant evaluation error:
+// const bool andOnNull2 = true && barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:19:30: Context: Binary operator '&&' on 'true' requires operand of type 'bool', but was of type 'Null'.
+// const bool andOnNull2 = true && barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:19:12: Context: While analyzing:
+// const bool andOnNull2 = true && barFromEnvOrNull;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:20:40: Error: Constant evaluation error:
+// const bool orOnNull = barFromEnvOrNull || true;
+//                                        ^
+// pkg/front_end/testcases/general/constants/various.dart:20:40: Context: The method '||' can't be invoked on 'null' in a constant expression.
+// const bool orOnNull = barFromEnvOrNull || true;
+//                                        ^
+// pkg/front_end/testcases/general/constants/various.dart:20:12: Context: While analyzing:
 // const bool orOnNull = barFromEnvOrNull || true;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:19:41: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:21:41: Error: Constant evaluation error:
 // const bool orOnNull2 = barFromEnvOrNull || false;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:19:41: Context: The method '||' can't be invoked on 'null' in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:21:41: Context: The method '||' can't be invoked on 'null' in a constant expression.
 // const bool orOnNull2 = barFromEnvOrNull || false;
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:19:12: Context: While analyzing:
-// const bool orOnNull2 = barFromEnvOrNull || false;
-//            ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:21:30: Error: Constant evaluation error:
-// const bool orOnNull4 = false || barFromEnvOrNull;
-//                              ^
-// pkg/front_end/testcases/general/constants/various.dart:21:30: Context: Binary operator '||' on 'false' requires operand of type 'bool', but was of type 'Null'.
-// const bool orOnNull4 = false || barFromEnvOrNull;
-//                              ^
 // pkg/front_end/testcases/general/constants/various.dart:21:12: Context: While analyzing:
+// const bool orOnNull2 = barFromEnvOrNull || false;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:23:30: Error: Constant evaluation error:
+// const bool orOnNull4 = false || barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:23:30: Context: Binary operator '||' on 'false' requires operand of type 'bool', but was of type 'Null'.
+// const bool orOnNull4 = false || barFromEnvOrNull;
+//                              ^
+// pkg/front_end/testcases/general/constants/various.dart:23:12: Context: While analyzing:
 // const bool orOnNull4 = false || barFromEnvOrNull;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:29:11: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:31:11: Error: Constant evaluation error:
 //     const String.fromEnvironment(barFromEnvOrNullString);
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:29:11: Context: Null value during constant evaluation.
+// pkg/front_end/testcases/general/constants/various.dart:31:11: Context: Null value during constant evaluation.
 //     const String.fromEnvironment(barFromEnvOrNullString);
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:28:14: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:30:14: Context: While analyzing:
 // const String nullFromEnvString =
 //              ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:36:36: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:38:36: Error: Constant evaluation error:
 // const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
 //                                    ^
-// pkg/front_end/testcases/general/constants/various.dart:36:36: Context: Null value during constant evaluation.
+// pkg/front_end/testcases/general/constants/various.dart:38:36: Context: Null value during constant evaluation.
 // const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
 //                                    ^
-// pkg/front_end/testcases/general/constants/various.dart:36:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:38:12: Context: While analyzing:
 // const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:43:34: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:45:34: Error: Constant evaluation error:
 // const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:43:34: Context: Null value during constant evaluation.
+// pkg/front_end/testcases/general/constants/various.dart:45:34: Context: Null value during constant evaluation.
 // const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
 //                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:43:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:45:11: Context: While analyzing:
 // const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
 //           ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:64:37: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:66:37: Error: Constant evaluation error:
 // const binaryOnDouble = willBeDouble << 2;
 //                                     ^
-// pkg/front_end/testcases/general/constants/various.dart:64:37: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// pkg/front_end/testcases/general/constants/various.dart:66:37: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
 // const binaryOnDouble = willBeDouble << 2;
 //                                     ^
-// pkg/front_end/testcases/general/constants/various.dart:64:7: Context: While analyzing:
-// const binaryOnDouble = willBeDouble << 2;
-//       ^
-//
-// pkg/front_end/testcases/general/constants/various.dart:66:44: Error: Constant evaluation error:
-// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
-//                                            ^
-// pkg/front_end/testcases/general/constants/various.dart:66:44: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
-// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
-//                                            ^
 // pkg/front_end/testcases/general/constants/various.dart:66:7: Context: While analyzing:
+// const binaryOnDouble = willBeDouble << 2;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various.dart:68:44: Error: Constant evaluation error:
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various.dart:68:44: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various.dart:68:7: Context: While analyzing:
 // const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:68:41: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:70:41: Error: Constant evaluation error:
 // const binaryOnIntWithString = willBeInt << "hello";
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:68:41: Context: Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.
+// pkg/front_end/testcases/general/constants/various.dart:70:41: Context: Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.
 // const binaryOnIntWithString = willBeInt << "hello";
 //                                         ^
-// pkg/front_end/testcases/general/constants/various.dart:68:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:70:7: Context: While analyzing:
 // const binaryOnIntWithString = willBeInt << "hello";
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:72:44: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:74:44: Error: Constant evaluation error:
 // const binaryOnStringWithInt = willBeString + willBeInt;
 //                                            ^
-// pkg/front_end/testcases/general/constants/various.dart:72:44: Context: Binary operator '+' on '"hello"' requires operand of type 'String', but was of type 'int'.
+// pkg/front_end/testcases/general/constants/various.dart:74:44: Context: Binary operator '+' on '"hello"' requires operand of type 'String', but was of type 'int'.
 // const binaryOnStringWithInt = willBeString + willBeInt;
 //                                            ^
-// pkg/front_end/testcases/general/constants/various.dart:72:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:74:7: Context: While analyzing:
 // const binaryOnStringWithInt = willBeString + willBeInt;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:73:50: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:75:50: Error: Constant evaluation error:
 // const binaryOnStringWithStringBad = willBeString - " world";
 //                                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:73:50: Context: The method '-' can't be invoked on '"hello"' in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:75:50: Context: The method '-' can't be invoked on '"hello"' in a constant expression.
 // const binaryOnStringWithStringBad = willBeString - " world";
 //                                                  ^
-// pkg/front_end/testcases/general/constants/various.dart:73:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:75:7: Context: While analyzing:
 // const binaryOnStringWithStringBad = willBeString - " world";
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:78:13: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:80:13: Error: Constant evaluation error:
 // const x3 = x--;
 //             ^
-// pkg/front_end/testcases/general/constants/various.dart:78:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:80:12: Context: The invocation of 'x' is not allowed in a constant expression.
 // const x3 = x--;
 //            ^
-// pkg/front_end/testcases/general/constants/various.dart:78:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:80:7: Context: While analyzing:
 // const x3 = x--;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:79:13: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:81:13: Error: Constant evaluation error:
 // const x4 = x++;
 //             ^
-// pkg/front_end/testcases/general/constants/various.dart:79:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:81:12: Context: The invocation of 'x' is not allowed in a constant expression.
 // const x4 = x++;
 //            ^
-// pkg/front_end/testcases/general/constants/various.dart:79:7: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:81:7: Context: While analyzing:
 // const x4 = x++;
 //       ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:129:29: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:131:29: Error: Constant evaluation error:
 // const bool foosEqual = foo1 == foo2;
 //                             ^
-// pkg/front_end/testcases/general/constants/various.dart:129:29: Context: Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
+// pkg/front_end/testcases/general/constants/various.dart:131:29: Context: Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
 //  - 'Foo' is from 'pkg/front_end/testcases/general/constants/various.dart'.
 // const bool foosEqual = foo1 == foo2;
 //                             ^
-// pkg/front_end/testcases/general/constants/various.dart:129:12: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:131:12: Context: While analyzing:
 // const bool foosEqual = foo1 == foo2;
 //            ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:135:26: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:137:26: Error: Constant evaluation error:
 // const int circularity1 = circularity2;
 //                          ^
-// pkg/front_end/testcases/general/constants/various.dart:135:26: Context: Constant expression depends on itself.
+// pkg/front_end/testcases/general/constants/various.dart:137:26: Context: Constant expression depends on itself.
 // const int circularity1 = circularity2;
 //                          ^
-// pkg/front_end/testcases/general/constants/various.dart:135:11: Context: While analyzing:
+// pkg/front_end/testcases/general/constants/various.dart:137:11: Context: While analyzing:
 // const int circularity1 = circularity2;
 //           ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:148:11: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:150:11: Error: Constant evaluation error:
 //     const ConstClassWithFailingAssertWithEmptyMessage();
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:144:64: Context: This assertion failed with message: (empty)
+// pkg/front_end/testcases/general/constants/various.dart:146:64: Context: This assertion failed with message: (empty)
 //   const ConstClassWithFailingAssertWithEmptyMessage() : assert(false, "");
 //                                                                ^
 //
-// pkg/front_end/testcases/general/constants/various.dart:185:11: Error: Constant evaluation error:
+// pkg/front_end/testcases/general/constants/various.dart:187:11: Error: Constant evaluation error:
 //     const ConstClassWithFinalFields2();
 //           ^
-// pkg/front_end/testcases/general/constants/various.dart:181:14: Context: The invocation of 'x' is not allowed in a constant expression.
+// pkg/front_end/testcases/general/constants/various.dart:183:14: Context: The invocation of 'x' is not allowed in a constant expression.
 //   final z2 = x;
 //              ^
 //
@@ -391,7 +391,7 @@
 }
 class ExtendsFoo2 extends self::Foo /*hasConstConstructor*/  {
   const constructor •() → self::ExtendsFoo2*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
   const ExtendsFoo2();
         ^^^^^^^^^^^"
     ;
@@ -531,27 +531,27 @@
 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 invalid-type 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:84:14: Error: Setter not found: 'y'.
 const y1 = --y;
              ^";
-static const field invalid-type 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:85: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'.
+static const field core::int* y3 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:86:12: Error: Setter not found: 'y'.
 const y3 = y--;
            ^";
-static const field core::int* y4 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:85:12: Error: Setter not found: 'y'.
+static const field core::int* y4 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:87:12: Error: Setter not found: 'y'.
 const y4 = y++;
            ^";
-static field self::AbstractClassWithConstructor* abstractClassWithConstructor = throw invalid-expression "pkg/front_end/testcases/general/constants/various.dart:96:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+static field self::AbstractClassWithConstructor* abstractClassWithConstructor = throw invalid-expression "pkg/front_end/testcases/general/constants/various.dart:98:11: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
 Try using a constructor or factory that is 'const'.
     const 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.
+static const field self::ExtendsFoo1* extendsFoo1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:120: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();
                                       ^^^^^^^^^^^";
-static const field self::ExtendsFoo2* extendsFoo2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+static const field self::ExtendsFoo2* extendsFoo2 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:123:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
   const ExtendsFoo2();
         ^^^^^^^^^^^";
 static const field self::Foo* foo1 = #C14;
@@ -567,7 +567,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 invalid-type 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:142:24: Error: Not a constant expression.
 const function_const = () {};
                        ^^";
 static field () →* Null function_var = () → Null {};
@@ -575,7 +575,7 @@
 static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic>* classWithTypeArguments1 = #C19;
 static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic>* classWithTypeArguments2 = #C20;
 static const field core::bool* classWithTypeArgumentsIdentical = #C1;
-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.
+static field self::ClassWithNonEmptyConstConstructor* classWithNonEmptyConstConstructor = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:170: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();
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
@@ -634,15 +634,15 @@
 }
 
 Extra constant evaluation status:
-Evaluated: InstanceGet @ org-dartlang-testcase:///various.dart:111:26 -> IntConstant(5)
+Evaluated: InstanceGet @ org-dartlang-testcase:///various.dart:113:26 -> IntConstant(5)
 Extra constant evaluation: evaluated: 12, effectively constant: 1
 
 
 Constructor coverage from constants:
 org-dartlang-testcase:///various.dart:
-- ExtendsFoo2. (from org-dartlang-testcase:///various.dart:121:9)
-- Foo. (from org-dartlang-testcase:///various.dart:109:9)
+- ExtendsFoo2. (from org-dartlang-testcase:///various.dart:123:9)
+- Foo. (from org-dartlang-testcase:///various.dart:111:9)
 - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- ConstClassWithFailingAssertWithEmptyMessage. (from org-dartlang-testcase:///various.dart:144:9)
-- ClassWithTypeArguments. (from org-dartlang-testcase:///various.dart:151:9)
-- ConstClassWithFinalFields2. (from org-dartlang-testcase:///various.dart:177:9)
+- ConstClassWithFailingAssertWithEmptyMessage. (from org-dartlang-testcase:///various.dart:146:9)
+- ClassWithTypeArguments. (from org-dartlang-testcase:///various.dart:153:9)
+- ConstClassWithFinalFields2. (from org-dartlang-testcase:///various.dart:179:9)
diff --git a/pkg/front_end/testcases/general/constants/various2.dart b/pkg/front_end/testcases/general/constants/various2.dart
new file mode 100644
index 0000000..bd7c03e
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/various2.dart
@@ -0,0 +1,220 @@
+// 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.
+
+// Environment does not contain "bar".
+const bool barFromEnv = const bool.fromEnvironment("bar");
+const bool hasBarEnv = const bool.hasEnvironment("bar");
+const bool barFromEnvOrNull =
+const bool.fromEnvironment("bar", defaultValue: null);
+const bool notBarFromEnvOrNull = !barFromEnvOrNull;
+const bool conditionalOnNull = barFromEnvOrNull ? true : false;
+const bool nullAwareOnNullTrue = barFromEnvOrNull ?? true;
+const bool nullAwareOnNullFalse = barFromEnvOrNull ?? false;
+const bool andOnFalse = nullAwareOnNullFalse && nullAwareOnNullTrue;
+const bool andOnFalse2 = nullAwareOnNullTrue && nullAwareOnNullFalse;
+const bool andOnNull = barFromEnvOrNull && true;
+const bool andOnNull2 = true && barFromEnvOrNull;
+const bool orOnNull = barFromEnvOrNull || true;
+const bool orOnNull2 = barFromEnvOrNull || false;
+const bool orOnNull3 = true || barFromEnvOrNull;
+const bool orOnNull4 = false || barFromEnvOrNull;
+
+const String barFromEnvString = const String.fromEnvironment("bar");
+const String barFromEnvOrNullString =
+const String.fromEnvironment("bar", defaultValue: null);
+const String barFromEnvOrActualString =
+const String.fromEnvironment("bar", defaultValue: "hello");
+const String nullFromEnvString =
+const String.fromEnvironment(barFromEnvOrNullString);
+
+const bool barFromEnvBool = const bool.fromEnvironment("bar");
+const bool barFromEnvOrNullBool =
+const bool.fromEnvironment("bar", defaultValue: null);
+const bool barFromEnvOrActualBool =
+const bool.fromEnvironment("bar", defaultValue: true);
+const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
+
+const int barFromEnvInt = const int.fromEnvironment("bar");
+const int barFromEnvOrNullInt =
+const int.fromEnvironment("bar", defaultValue: null);
+const int barFromEnvOrActualInt =
+const int.fromEnvironment("bar", defaultValue: 42);
+const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
+
+// Environment does contain "baz" (value '42', i.e. neither true nor false).
+const bool bazFromEnv = const bool.fromEnvironment("baz");
+const bool hasBazEnv = const bool.hasEnvironment("baz");
+const int bazFromEnvAsInt = const int.fromEnvironment("baz");
+const String bazFromEnvAsString = const String.fromEnvironment("baz");
+
+// Environment does contain "bazTrue" (value 'true') and
+// "bazFalse" (value 'false').
+const bool bazTrueFromEnv = const bool.fromEnvironment("bazTrue");
+const bool bazFalseFromEnv = const bool.fromEnvironment("bazFalse");
+
+const bool trueBool = true;
+const bool falseBool = false;
+const bool binaryOnBoolCaret = trueBool ^ falseBool;
+const bool binaryOnBoolAmpersand = trueBool & falseBool;
+const bool binaryOnBoolBar = trueBool | falseBool;
+const bool binaryOnBoolBar2 = falseBool | trueBool;
+
+const dynamic willBeDouble = const bool.fromEnvironment("foo") ? 42 : 42.42;
+const binaryOnDouble = willBeDouble << 2;
+const dynamic willBeInt = const bool.fromEnvironment("foo") ? 42.42 : 42;
+const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+const binaryOnIntWithDoubleOK = willBeInt + willBeDouble;
+const binaryOnIntWithString = willBeInt << "hello";
+const dynamic willBeString =
+const bool.fromEnvironment("foo") ? 42.42 : "hello";
+const binaryOnStringWithStringOK = willBeString + " world";
+const binaryOnStringWithInt = willBeString + willBeInt;
+const binaryOnStringWithStringBad = willBeString - " world";
+
+var x = 1;
+const x1 = --x;
+const x2 = ++x;
+const x3 = x--;
+const x4 = x++;
+
+const y = 1;
+const y1 = --y;
+const y2 = ++y;
+const y3 = y--;
+const y4 = y++;
+
+abstract class AbstractClass {}
+
+abstract class AbstractClassWithConstructor {
+  const AbstractClassWithConstructor();
+
+  int foo();
+}
+
+AbstractClassWithConstructor abstractClassWithConstructor =
+const AbstractClassWithConstructor();
+
+class NotAbstractClass {
+  @AbstractClass()
+  Object foo;
+
+  @AbstractClassWithConstructor()
+  Object bar;
+}
+
+class Foo {
+  final int x;
+  final int y;
+  const Foo(int x)
+      : this.x = x,
+        this.y = "hello".length;
+}
+
+class ExtendsFoo1 extends Foo {
+  // No constructor.
+}
+
+const ExtendsFoo1 extendsFoo1 = const ExtendsFoo1();
+
+class ExtendsFoo2 extends Foo {
+  const ExtendsFoo2();
+}
+
+const ExtendsFoo2 extendsFoo2 = const ExtendsFoo2();
+
+const Foo foo1 = const Foo(42);
+const Foo foo2 = const Foo(42);
+const bool foosIdentical = identical(foo1, foo2);
+const bool foosEqual = foo1 == foo2;
+const Symbol barFoo = const Symbol("Foo");
+const Symbol barFooEqual = const Symbol("Foo=");
+const Symbol tripleShiftSymbol = const Symbol(">>>");
+const Symbol symbolWithDots = const Symbol("I.Have.Dots");
+
+const int circularity1 = circularity2;
+const int circularity2 = circularity3;
+const int circularity3 = circularity4;
+const int circularity4 = circularity1;
+
+const function_const = () {};
+var function_var = () {};
+
+class ConstClassWithFailingAssertWithEmptyMessage {
+  const ConstClassWithFailingAssertWithEmptyMessage() : assert(false, "");
+}
+
+ConstClassWithFailingAssertWithEmptyMessage failedAssertEmptyMessage =
+const ConstClassWithFailingAssertWithEmptyMessage();
+
+class ClassWithTypeArguments<E, F, G> {
+  const ClassWithTypeArguments(E e, F f, G g);
+}
+
+const ClassWithTypeArguments classWithTypeArguments1 =
+const ClassWithTypeArguments<int, int, int>(42, 42, 42);
+const ClassWithTypeArguments classWithTypeArguments2 =
+const ClassWithTypeArguments(42, 42, 42);
+const bool classWithTypeArgumentsIdentical =
+identical(classWithTypeArguments1, classWithTypeArguments2);
+
+class ClassWithNonEmptyConstConstructor {
+  const ClassWithNonEmptyConstConstructor() {
+    print("hello");
+  }
+}
+
+ClassWithNonEmptyConstConstructor classWithNonEmptyConstConstructor =
+const ClassWithNonEmptyConstConstructor();
+
+class ConstClassWithFinalFields1 {
+  const ConstClassWithFinalFields1();
+
+  final x = 1;
+}
+
+class ConstClassWithFinalFields2 {
+  const ConstClassWithFinalFields2();
+
+  final y = 1;
+  final z1 = y;
+  final z2 = x;
+}
+
+ConstClassWithFinalFields2 constClassWithFinalFields =
+const ConstClassWithFinalFields2();
+
+const zeroPointZeroIdentical = identical(0.0, 0.0);
+const zeroPointZeroIdenticalToZero = identical(0.0, 0);
+const zeroIdenticalToZeroPointZero = identical(0, 0.0);
+const nanIdentical = identical(0 / 0, 0 / 0);
+
+const zeroPointZeroEqual = 0.0 == 0.0;
+const zeroPointZeroEqualToZero = 0.0 == 0;
+const zeroEqualToZeroPointZero = 0 == 0.0;
+const nanEqual = 0 / 0 == 0 / 0;
+
+T id1<T>(T t) => t;
+T id2<T>(T t) => t;
+
+const dynamic willBecomeNull = const bool.fromEnvironment("foo") ? id1 : null;
+
+const int Function(int) willBecomeNullToo =
+const bool.fromEnvironment("foo") ? id1 : willBecomeNull;
+const int Function(int) partialInstantiation =
+const bool.fromEnvironment("foo") ? willBecomeNull : id1;
+
+const bool yBool = true;
+const bool zBool = !yBool;
+
+const maybeInt = bool.fromEnvironment("foo") ? 42 : true;
+const bool isItInt = maybeInt is int ? true : false;
+const maybeInt2 = zBool ? 42 : true;
+const bool isItInt2 = maybeInt2 is int ? true : false;
+const maybeInt3 = zBool ? 42 : null;
+const bool isItInt3 = maybeInt3 is int ? true : false;
+
+main() {
+  print(barFromEnv);
+  print(hasBarEnv);
+}
diff --git a/pkg/front_end/testcases/general/constants/various2.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/various2.dart.textual_outline.expect
new file mode 100644
index 0000000..f696546
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/various2.dart.textual_outline.expect
@@ -0,0 +1,143 @@
+const bool barFromEnv = const bool.fromEnvironment("bar");
+const bool hasBarEnv = const bool.hasEnvironment("bar");
+const bool barFromEnvOrNull = const bool.fromEnvironment("bar", defaultValue: null);
+const bool notBarFromEnvOrNull = !barFromEnvOrNull;
+const bool conditionalOnNull = barFromEnvOrNull ? true : false;
+const bool nullAwareOnNullTrue = barFromEnvOrNull ?? true;
+const bool nullAwareOnNullFalse = barFromEnvOrNull ?? false;
+const bool andOnFalse = nullAwareOnNullFalse && nullAwareOnNullTrue;
+const bool andOnFalse2 = nullAwareOnNullTrue && nullAwareOnNullFalse;
+const bool andOnNull = barFromEnvOrNull && true;
+const bool andOnNull2 = true && barFromEnvOrNull;
+const bool orOnNull = barFromEnvOrNull || true;
+const bool orOnNull2 = barFromEnvOrNull || false;
+const bool orOnNull3 = true || barFromEnvOrNull;
+const bool orOnNull4 = false || barFromEnvOrNull;
+const String barFromEnvString = const String.fromEnvironment("bar");
+const String barFromEnvOrNullString = const String.fromEnvironment("bar", defaultValue: null);
+const String barFromEnvOrActualString = const String.fromEnvironment("bar", defaultValue: "hello");
+const String nullFromEnvString = const String.fromEnvironment(barFromEnvOrNullString);
+const bool barFromEnvBool = const bool.fromEnvironment("bar");
+const bool barFromEnvOrNullBool = const bool.fromEnvironment("bar", defaultValue: null);
+const bool barFromEnvOrActualBool = const bool.fromEnvironment("bar", defaultValue: true);
+const bool nullFromEnvBool = const bool.fromEnvironment(barFromEnvOrNullString);
+const int barFromEnvInt = const int.fromEnvironment("bar");
+const int barFromEnvOrNullInt = const int.fromEnvironment("bar", defaultValue: null);
+const int barFromEnvOrActualInt = const int.fromEnvironment("bar", defaultValue: 42);
+const int nullFromEnvInt = const int.fromEnvironment(barFromEnvOrNullString);
+const bool bazFromEnv = const bool.fromEnvironment("baz");
+const bool hasBazEnv = const bool.hasEnvironment("baz");
+const int bazFromEnvAsInt = const int.fromEnvironment("baz");
+const String bazFromEnvAsString = const String.fromEnvironment("baz");
+const bool bazTrueFromEnv = const bool.fromEnvironment("bazTrue");
+const bool bazFalseFromEnv = const bool.fromEnvironment("bazFalse");
+const bool trueBool = true;
+const bool falseBool = false;
+const bool binaryOnBoolCaret = trueBool ^ falseBool;
+const bool binaryOnBoolAmpersand = trueBool & falseBool;
+const bool binaryOnBoolBar = trueBool | falseBool;
+const bool binaryOnBoolBar2 = falseBool | trueBool;
+const dynamic willBeDouble = const bool.fromEnvironment("foo") ? 42 : 42.42;
+const binaryOnDouble = willBeDouble << 2;
+const dynamic willBeInt = const bool.fromEnvironment("foo") ? 42.42 : 42;
+const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+const binaryOnIntWithDoubleOK = willBeInt + willBeDouble;
+const binaryOnIntWithString = willBeInt << "hello";
+const dynamic willBeString = const bool.fromEnvironment("foo") ? 42.42 : "hello";
+const binaryOnStringWithStringOK = willBeString + " world";
+const binaryOnStringWithInt = willBeString + willBeInt;
+const binaryOnStringWithStringBad = willBeString - " world";
+var x = 1;
+const x1 = --x;
+const x2 = ++x;
+const x3 = x--;
+const x4 = x++;
+const y = 1;
+const y1 = --y;
+const y2 = ++y;
+const y3 = y--;
+const y4 = y++;
+abstract class AbstractClass {}
+abstract class AbstractClassWithConstructor {
+  const AbstractClassWithConstructor();
+  int foo();
+}
+AbstractClassWithConstructor abstractClassWithConstructor = const AbstractClassWithConstructor();
+class NotAbstractClass {
+  @AbstractClass()
+  Object foo;
+  @AbstractClassWithConstructor()
+  Object bar;
+}
+class Foo {
+  final int x;
+  final int y;
+  const Foo(int x) : this.x = x, this.y = "hello".length;
+}
+class ExtendsFoo1 extends Foo {}
+const ExtendsFoo1 extendsFoo1 = const ExtendsFoo1();
+class ExtendsFoo2 extends Foo {
+  const ExtendsFoo2();
+}
+const ExtendsFoo2 extendsFoo2 = const ExtendsFoo2();
+const Foo foo1 = const Foo(42);
+const Foo foo2 = const Foo(42);
+const bool foosIdentical = identical(foo1, foo2);
+const bool foosEqual = foo1 == foo2;
+const Symbol barFoo = const Symbol("Foo");
+const Symbol barFooEqual = const Symbol("Foo=");
+const Symbol tripleShiftSymbol = const Symbol(">>>");
+const Symbol symbolWithDots = const Symbol("I.Have.Dots");
+const int circularity1 = circularity2;
+const int circularity2 = circularity3;
+const int circularity3 = circularity4;
+const int circularity4 = circularity1;
+const function_const = () {};
+var function_var = () {};
+class ConstClassWithFailingAssertWithEmptyMessage {
+  const ConstClassWithFailingAssertWithEmptyMessage() : assert(false, "");
+}
+ConstClassWithFailingAssertWithEmptyMessage failedAssertEmptyMessage = const ConstClassWithFailingAssertWithEmptyMessage();
+class ClassWithTypeArguments<E, F, G> {
+  const ClassWithTypeArguments(E e, F f, G g);
+}
+const ClassWithTypeArguments classWithTypeArguments1 = const ClassWithTypeArguments<int, int, int>(42, 42, 42);
+const ClassWithTypeArguments classWithTypeArguments2 = const ClassWithTypeArguments(42, 42, 42);
+const bool classWithTypeArgumentsIdentical = identical(classWithTypeArguments1, classWithTypeArguments2);
+class ClassWithNonEmptyConstConstructor {
+  const ClassWithNonEmptyConstConstructor() {}
+}
+ClassWithNonEmptyConstConstructor classWithNonEmptyConstConstructor = const ClassWithNonEmptyConstConstructor();
+class ConstClassWithFinalFields1 {
+  const ConstClassWithFinalFields1();
+  final x = 1;
+}
+class ConstClassWithFinalFields2 {
+  const ConstClassWithFinalFields2();
+  final y = 1;
+  final z1 = y;
+  final z2 = x;
+}
+ConstClassWithFinalFields2 constClassWithFinalFields = const ConstClassWithFinalFields2();
+const zeroPointZeroIdentical = identical(0.0, 0.0);
+const zeroPointZeroIdenticalToZero = identical(0.0, 0);
+const zeroIdenticalToZeroPointZero = identical(0, 0.0);
+const nanIdentical = identical(0 / 0, 0 / 0);
+const zeroPointZeroEqual = 0.0 == 0.0;
+const zeroPointZeroEqualToZero = 0.0 == 0;
+const zeroEqualToZeroPointZero = 0 == 0.0;
+const nanEqual = 0 / 0 == 0 / 0;
+T id1<T>(T t) => t;
+T id2<T>(T t) => t;
+const dynamic willBecomeNull = const bool.fromEnvironment("foo") ? id1 : null;
+const int Function(int) willBecomeNullToo = const bool.fromEnvironment("foo") ? id1 : willBecomeNull;
+const int Function(int) partialInstantiation = const bool.fromEnvironment("foo") ? willBecomeNull : id1;
+const bool yBool = true;
+const bool zBool = !yBool;
+const maybeInt = bool.fromEnvironment("foo") ? 42 : true;
+const bool isItInt = maybeInt is int ? true : false;
+const maybeInt2 = zBool ? 42 : true;
+const bool isItInt2 = maybeInt2 is int ? true : false;
+const maybeInt3 = zBool ? 42 : null;
+const bool isItInt3 = maybeInt3 is int ? true : false;
+main() {}
diff --git a/pkg/front_end/testcases/general/constants/various2.dart.weak.expect b/pkg/front_end/testcases/general/constants/various2.dart.weak.expect
new file mode 100644
index 0000000..dc0f5f6
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/various2.dart.weak.expect
@@ -0,0 +1,524 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/various2.dart:162:3: Error: A const constructor can't have a body.
+// Try removing either the 'const' keyword or the body.
+//   const ClassWithNonEmptyConstConstructor() {
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:76:14: Error: Not a constant expression.
+// const x1 = --x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:77:14: Error: Not a constant expression.
+// const x2 = ++x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:78:12: Error: Not a constant expression.
+// const x3 = x--;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:79:12: Error: Not a constant expression.
+// const x4 = x++;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:82:14: Error: Setter not found: 'y'.
+// const y1 = --y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:83:14: Error: Setter not found: 'y'.
+// const y2 = ++y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:84:12: Error: Setter not found: 'y'.
+// const y3 = y--;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:85:12: Error: Setter not found: 'y'.
+// const y4 = y++;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:140:24: Error: Not a constant expression.
+// const function_const = () {};
+//                        ^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:180:14: Error: Can't access 'this' in a field initializer to read 'y'.
+//   final z1 = y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+// const bool.fromEnvironment("bar", defaultValue: null);
+//                                                 ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:12:34: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNullTrue = barFromEnvOrNull ?? true;
+//                                  ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:13:35: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNullFalse = barFromEnvOrNull ?? false;
+//                                   ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+// const String.fromEnvironment("bar", defaultValue: null);
+//                                                   ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:33:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+// const bool.fromEnvironment("bar", defaultValue: null);
+//                                                 ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:40:48: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
+// const int.fromEnvironment("bar", defaultValue: null);
+//                                                ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+//   @AbstractClass()
+//    ^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+//   @AbstractClass()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+//   @AbstractClassWithConstructor()
+//    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+//   @AbstractClassWithConstructor()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.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();
+//                                       ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+//   const ExtendsFoo2();
+//         ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:180:14: Error: Not a constant expression.
+//   final z1 = y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:181:14: Error: Not a constant expression.
+//   final z2 = x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:96:7: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+// const AbstractClassWithConstructor();
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:96:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const AbstractClassWithConstructor();
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:168:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const ClassWithNonEmptyConstConstructor();
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:100:10: Error: Field 'foo' should be initialized because its type 'Object' doesn't allow null.
+//  - 'Object' is from 'dart:core'.
+//   Object foo;
+//          ^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:103:10: Error: Field 'bar' should be initialized because its type 'Object' doesn't allow null.
+//  - 'Object' is from 'dart:core'.
+//   Object bar;
+//          ^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:114:7: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+// class ExtendsFoo1 extends Foo {
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: Not a constant expression.
+//   @AbstractClass()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: Not a constant expression.
+//   @AbstractClassWithConstructor()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:64:37: Error: Constant evaluation error:
+// const binaryOnDouble = willBeDouble << 2;
+//                                     ^
+// pkg/front_end/testcases/general/constants/various2.dart:64:37: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// const binaryOnDouble = willBeDouble << 2;
+//                                     ^
+// pkg/front_end/testcases/general/constants/various2.dart:64:7: Context: While analyzing:
+// const binaryOnDouble = willBeDouble << 2;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:66:44: Error: Constant evaluation error:
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:66:44: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:66:7: Context: While analyzing:
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:68:41: Error: Constant evaluation error:
+// const binaryOnIntWithString = willBeInt << "hello";
+//                                         ^
+// pkg/front_end/testcases/general/constants/various2.dart:68:41: Context: Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.
+// const binaryOnIntWithString = willBeInt << "hello";
+//                                         ^
+// pkg/front_end/testcases/general/constants/various2.dart:68:7: Context: While analyzing:
+// const binaryOnIntWithString = willBeInt << "hello";
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:72:44: Error: Constant evaluation error:
+// const binaryOnStringWithInt = willBeString + willBeInt;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:72:44: Context: Binary operator '+' on '"hello"' requires operand of type 'String', but was of type 'int'.
+// const binaryOnStringWithInt = willBeString + willBeInt;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:72:7: Context: While analyzing:
+// const binaryOnStringWithInt = willBeString + willBeInt;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:73:50: Error: Constant evaluation error:
+// const binaryOnStringWithStringBad = willBeString - " world";
+//                                                  ^
+// pkg/front_end/testcases/general/constants/various2.dart:73:50: Context: The method '-' can't be invoked on '"hello"' in a constant expression.
+// const binaryOnStringWithStringBad = willBeString - " world";
+//                                                  ^
+// pkg/front_end/testcases/general/constants/various2.dart:73:7: Context: While analyzing:
+// const binaryOnStringWithStringBad = willBeString - " world";
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:78:13: Error: Constant evaluation error:
+// const x3 = x--;
+//             ^
+// pkg/front_end/testcases/general/constants/various2.dart:78:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// const x3 = x--;
+//            ^
+// pkg/front_end/testcases/general/constants/various2.dart:78:7: Context: While analyzing:
+// const x3 = x--;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:79:13: Error: Constant evaluation error:
+// const x4 = x++;
+//             ^
+// pkg/front_end/testcases/general/constants/various2.dart:79:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// const x4 = x++;
+//            ^
+// pkg/front_end/testcases/general/constants/various2.dart:79:7: Context: While analyzing:
+// const x4 = x++;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:129:29: Error: Constant evaluation error:
+// const bool foosEqual = foo1 == foo2;
+//                             ^
+// pkg/front_end/testcases/general/constants/various2.dart:129:29: Context: Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
+//  - 'Foo' is from 'pkg/front_end/testcases/general/constants/various2.dart'.
+// const bool foosEqual = foo1 == foo2;
+//                             ^
+// pkg/front_end/testcases/general/constants/various2.dart:129:12: Context: While analyzing:
+// const bool foosEqual = foo1 == foo2;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:135:26: Error: Constant evaluation error:
+// const int circularity1 = circularity2;
+//                          ^
+// pkg/front_end/testcases/general/constants/various2.dart:135:26: Context: Constant expression depends on itself.
+// const int circularity1 = circularity2;
+//                          ^
+// pkg/front_end/testcases/general/constants/various2.dart:135:11: Context: While analyzing:
+// const int circularity1 = circularity2;
+//           ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:148:7: Error: Constant evaluation error:
+// const ConstClassWithFailingAssertWithEmptyMessage();
+//       ^
+// pkg/front_end/testcases/general/constants/various2.dart:144:64: Context: This assertion failed with message: (empty)
+//   const ConstClassWithFailingAssertWithEmptyMessage() : assert(false, "");
+//                                                                ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:185:7: Error: Constant evaluation error:
+// const ConstClassWithFinalFields2();
+//       ^
+// pkg/front_end/testcases/general/constants/various2.dart:181:14: Context: The invocation of 'x' is not allowed in a constant expression.
+//   final z2 = x;
+//              ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:_internal" as _in;
+
+abstract class AbstractClass extends core::Object {
+  synthetic constructor •() → self::AbstractClass
+    : super core::Object::•()
+    ;
+}
+abstract class AbstractClassWithConstructor extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::AbstractClassWithConstructor
+    : super core::Object::•()
+    ;
+  abstract method foo() → core::int;
+}
+class NotAbstractClass extends core::Object {
+  @invalid-expression "Not a constant expression."
+  field core::Object foo = null;
+  @invalid-expression "Not a constant expression."
+  field core::Object bar = null;
+  synthetic constructor •() → self::NotAbstractClass
+    : super core::Object::•()
+    ;
+}
+class Foo extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  final field core::int y;
+  const constructor •(core::int x) → self::Foo
+    : self::Foo::x = x, self::Foo::y = "hello".{core::String::length}{core::int}, super core::Object::•()
+    ;
+}
+class ExtendsFoo1 extends self::Foo {
+  synthetic constructor •() → self::ExtendsFoo1
+    : invalid-initializer
+    ;
+}
+class ExtendsFoo2 extends self::Foo /*hasConstConstructor*/  {
+  const constructor •() → self::ExtendsFoo2
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+  const ExtendsFoo2();
+        ^^^^^^^^^^^"
+    ;
+}
+class ConstClassWithFailingAssertWithEmptyMessage extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::ConstClassWithFailingAssertWithEmptyMessage
+    : assert(false, ""), super core::Object::•()
+    ;
+}
+class ClassWithTypeArguments<E extends core::Object? = dynamic, F extends core::Object? = dynamic, G extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •(self::ClassWithTypeArguments::E% e, self::ClassWithTypeArguments::F% f, self::ClassWithTypeArguments::G% g) → self::ClassWithTypeArguments<self::ClassWithTypeArguments::E%, self::ClassWithTypeArguments::F%, self::ClassWithTypeArguments::G%>
+    : super core::Object::•()
+    ;
+}
+class ClassWithNonEmptyConstConstructor extends core::Object {
+  constructor •() → self::ClassWithNonEmptyConstConstructor
+    : super core::Object::•() {
+    core::print("hello");
+  }
+}
+class ConstClassWithFinalFields1 extends core::Object /*hasConstConstructor*/  {
+  final field core::int x = 1;
+  const constructor •() → self::ConstClassWithFinalFields1
+    : super core::Object::•()
+    ;
+}
+class ConstClassWithFinalFields2 extends core::Object /*hasConstConstructor*/  {
+  final field core::int y = 1;
+  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::•()
+    ;
+}
+static const field core::bool barFromEnv = #C1;
+static const field core::bool hasBarEnv = #C1;
+static const field core::bool barFromEnvOrNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool notBarFromEnvOrNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool conditionalOnNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool nullAwareOnNullTrue = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool nullAwareOnNullFalse = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnFalse = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnFalse2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnNull2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool orOnNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool orOnNull2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool orOnNull3 = #C2;
+static const field core::bool orOnNull4 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::String barFromEnvString = #C3;
+static const field core::String barFromEnvOrNullString = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::String barFromEnvOrActualString = #C4;
+static const field core::String nullFromEnvString = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::bool barFromEnvBool = #C1;
+static const field core::bool barFromEnvOrNullBool = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:33:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool barFromEnvOrActualBool = #C2;
+static const field core::bool nullFromEnvBool = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::int barFromEnvInt = #C5;
+static const field core::int barFromEnvOrNullInt = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:40:48: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
+const int.fromEnvironment(\"bar\", defaultValue: null);
+                                               ^";
+static const field core::int barFromEnvOrActualInt = #C6;
+static const field core::int nullFromEnvInt = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::bool bazFromEnv = #C1;
+static const field core::bool hasBazEnv = #C2;
+static const field core::int bazFromEnvAsInt = #C6;
+static const field core::String bazFromEnvAsString = #C7;
+static const field core::bool bazTrueFromEnv = #C2;
+static const field core::bool bazFalseFromEnv = #C1;
+static const field core::bool trueBool = #C2;
+static const field core::bool falseBool = #C1;
+static const field core::bool binaryOnBoolCaret = #C2;
+static const field core::bool binaryOnBoolAmpersand = #C1;
+static const field core::bool binaryOnBoolBar = #C2;
+static const field core::bool binaryOnBoolBar2 = #C2;
+static const field dynamic willBeDouble = #C8;
+static const field dynamic binaryOnDouble = invalid-expression "Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.";
+static const field dynamic willBeInt = #C6;
+static const field dynamic binaryOnIntWithDoubleBad = invalid-expression "Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.";
+static const field dynamic binaryOnIntWithDoubleOK = #C9;
+static const field dynamic binaryOnIntWithString = invalid-expression "Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.";
+static const field dynamic willBeString = #C4;
+static const field dynamic binaryOnStringWithStringOK = #C10;
+static const field dynamic binaryOnStringWithInt = invalid-expression "Binary operator '+' on '\"hello\"' requires operand of type 'String', but was of type 'int'.";
+static const field dynamic binaryOnStringWithStringBad = invalid-expression "The method '-' can't be invoked on '\"hello\"' in a constant expression.";
+static field core::int x = 1;
+static const field core::int x1 = invalid-expression "Not a constant expression.";
+static const field core::int x2 = invalid-expression "Not a constant expression.";
+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 = #C11;
+static const field invalid-type y1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:82:14: Error: Setter not found: 'y'.
+const y1 = --y;
+             ^";
+static const field invalid-type y2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.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/various2.dart:84:12: Error: Setter not found: 'y'.
+const y3 = y--;
+           ^";
+static const field core::int y4 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:85:12: Error: Setter not found: 'y'.
+const y4 = y++;
+           ^";
+static field self::AbstractClassWithConstructor abstractClassWithConstructor = throw invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:96:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+const AbstractClassWithConstructor();
+      ^";
+static const field self::ExtendsFoo1 extendsFoo1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.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();
+                                      ^^^^^^^^^^^";
+static const field self::ExtendsFoo2 extendsFoo2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+  const ExtendsFoo2();
+        ^^^^^^^^^^^";
+static const field self::Foo foo1 = #C13;
+static const field self::Foo foo2 = #C13;
+static const field core::bool foosIdentical = #C2;
+static const field core::bool foosEqual = invalid-expression "Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
+ - 'Foo' is from 'pkg/front_end/testcases/general/constants/various2.dart'.";
+static const field core::Symbol barFoo = #C14;
+static const field core::Symbol barFooEqual = #C15;
+static const field core::Symbol tripleShiftSymbol = #C16;
+static const field core::Symbol symbolWithDots = #C17;
+static const field core::int circularity1 = invalid-expression "Constant expression depends on itself.";
+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 invalid-type function_const = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:140:24: Error: Not a constant expression.
+const function_const = () {};
+                       ^^";
+static field () → Null function_var = () → Null {};
+static field self::ConstClassWithFailingAssertWithEmptyMessage failedAssertEmptyMessage = invalid-expression "This assertion failed with message: (empty)";
+static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic> classWithTypeArguments1 = #C18;
+static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic> classWithTypeArguments2 = #C19;
+static const field core::bool classWithTypeArgumentsIdentical = #C1;
+static field self::ClassWithNonEmptyConstConstructor classWithNonEmptyConstConstructor = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:168:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+const 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 = #C2;
+static const field core::bool zeroPointZeroIdenticalToZero = #C1;
+static const field core::bool zeroIdenticalToZeroPointZero = #C1;
+static const field core::bool nanIdentical = #C2;
+static const field core::bool zeroPointZeroEqual = #C2;
+static const field core::bool zeroPointZeroEqualToZero = #C2;
+static const field core::bool zeroEqualToZeroPointZero = #C2;
+static const field core::bool nanEqual = #C1;
+static const field dynamic willBecomeNull = #C20;
+static const field (core::int) → core::int willBecomeNullToo = #C20;
+static const field (core::int) → core::int partialInstantiation = #C22;
+static const field core::bool yBool = #C2;
+static const field core::bool zBool = #C1;
+static const field core::Object maybeInt = #C2;
+static const field core::bool isItInt = #C1;
+static const field core::Object maybeInt2 = #C2;
+static const field core::bool isItInt2 = #C1;
+static const field core::int? maybeInt3 = #C20;
+static const field core::bool isItInt3 = #C1;
+static method id1<T extends core::Object? = dynamic>(self::id1::T% t) → self::id1::T%
+  return t;
+static method id2<T extends core::Object? = dynamic>(self::id2::T% t) → self::id2::T%
+  return t;
+static method main() → dynamic {
+  core::print(#C1);
+  core::print(#C1);
+}
+
+constants  {
+  #C1 = false
+  #C2 = true
+  #C3 = ""
+  #C4 = "hello"
+  #C5 = 0
+  #C6 = 42
+  #C7 = "42"
+  #C8 = 42.42
+  #C9 = 84.42
+  #C10 = "hello world"
+  #C11 = 1
+  #C12 = 5
+  #C13 = self::Foo {x:#C6, y:#C12}
+  #C14 = #Foo
+  #C15 = #Foo=
+  #C16 = #>>>
+  #C17 = #I.Have.Dots
+  #C18 = self::ClassWithTypeArguments<core::int*, core::int*, core::int*> {}
+  #C19 = self::ClassWithTypeArguments<dynamic, dynamic, dynamic> {}
+  #C20 = null
+  #C21 = static-tearoff self::id1
+  #C22 = instantiation #C21 <core::int*>
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///various2.dart:
+- ExtendsFoo2. (from org-dartlang-testcase:///various2.dart:121:9)
+- Foo. (from org-dartlang-testcase:///various2.dart:109:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- ConstClassWithFailingAssertWithEmptyMessage. (from org-dartlang-testcase:///various2.dart:144:9)
+- ClassWithTypeArguments. (from org-dartlang-testcase:///various2.dart:151:9)
+- ConstClassWithFinalFields2. (from org-dartlang-testcase:///various2.dart:177:9)
diff --git a/pkg/front_end/testcases/general/constants/various2.dart.weak.modular.expect b/pkg/front_end/testcases/general/constants/various2.dart.weak.modular.expect
new file mode 100644
index 0000000..dc0f5f6
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/various2.dart.weak.modular.expect
@@ -0,0 +1,524 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/various2.dart:162:3: Error: A const constructor can't have a body.
+// Try removing either the 'const' keyword or the body.
+//   const ClassWithNonEmptyConstConstructor() {
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:76:14: Error: Not a constant expression.
+// const x1 = --x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:77:14: Error: Not a constant expression.
+// const x2 = ++x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:78:12: Error: Not a constant expression.
+// const x3 = x--;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:79:12: Error: Not a constant expression.
+// const x4 = x++;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:82:14: Error: Setter not found: 'y'.
+// const y1 = --y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:83:14: Error: Setter not found: 'y'.
+// const y2 = ++y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:84:12: Error: Setter not found: 'y'.
+// const y3 = y--;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:85:12: Error: Setter not found: 'y'.
+// const y4 = y++;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:140:24: Error: Not a constant expression.
+// const function_const = () {};
+//                        ^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:180:14: Error: Can't access 'this' in a field initializer to read 'y'.
+//   final z1 = y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+// const bool.fromEnvironment("bar", defaultValue: null);
+//                                                 ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:12:34: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNullTrue = barFromEnvOrNull ?? true;
+//                                  ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:13:35: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNullFalse = barFromEnvOrNull ?? false;
+//                                   ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+// const String.fromEnvironment("bar", defaultValue: null);
+//                                                   ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:33:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+// const bool.fromEnvironment("bar", defaultValue: null);
+//                                                 ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:40:48: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
+// const int.fromEnvironment("bar", defaultValue: null);
+//                                                ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+//   @AbstractClass()
+//    ^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+//   @AbstractClass()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+//   @AbstractClassWithConstructor()
+//    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+//   @AbstractClassWithConstructor()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.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();
+//                                       ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+//   const ExtendsFoo2();
+//         ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:180:14: Error: Not a constant expression.
+//   final z1 = y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:181:14: Error: Not a constant expression.
+//   final z2 = x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:96:7: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+// const AbstractClassWithConstructor();
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:96:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const AbstractClassWithConstructor();
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:168:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const ClassWithNonEmptyConstConstructor();
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:100:10: Error: Field 'foo' should be initialized because its type 'Object' doesn't allow null.
+//  - 'Object' is from 'dart:core'.
+//   Object foo;
+//          ^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:103:10: Error: Field 'bar' should be initialized because its type 'Object' doesn't allow null.
+//  - 'Object' is from 'dart:core'.
+//   Object bar;
+//          ^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:114:7: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+// class ExtendsFoo1 extends Foo {
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: Not a constant expression.
+//   @AbstractClass()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: Not a constant expression.
+//   @AbstractClassWithConstructor()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:64:37: Error: Constant evaluation error:
+// const binaryOnDouble = willBeDouble << 2;
+//                                     ^
+// pkg/front_end/testcases/general/constants/various2.dart:64:37: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// const binaryOnDouble = willBeDouble << 2;
+//                                     ^
+// pkg/front_end/testcases/general/constants/various2.dart:64:7: Context: While analyzing:
+// const binaryOnDouble = willBeDouble << 2;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:66:44: Error: Constant evaluation error:
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:66:44: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:66:7: Context: While analyzing:
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:68:41: Error: Constant evaluation error:
+// const binaryOnIntWithString = willBeInt << "hello";
+//                                         ^
+// pkg/front_end/testcases/general/constants/various2.dart:68:41: Context: Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.
+// const binaryOnIntWithString = willBeInt << "hello";
+//                                         ^
+// pkg/front_end/testcases/general/constants/various2.dart:68:7: Context: While analyzing:
+// const binaryOnIntWithString = willBeInt << "hello";
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:72:44: Error: Constant evaluation error:
+// const binaryOnStringWithInt = willBeString + willBeInt;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:72:44: Context: Binary operator '+' on '"hello"' requires operand of type 'String', but was of type 'int'.
+// const binaryOnStringWithInt = willBeString + willBeInt;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:72:7: Context: While analyzing:
+// const binaryOnStringWithInt = willBeString + willBeInt;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:73:50: Error: Constant evaluation error:
+// const binaryOnStringWithStringBad = willBeString - " world";
+//                                                  ^
+// pkg/front_end/testcases/general/constants/various2.dart:73:50: Context: The method '-' can't be invoked on '"hello"' in a constant expression.
+// const binaryOnStringWithStringBad = willBeString - " world";
+//                                                  ^
+// pkg/front_end/testcases/general/constants/various2.dart:73:7: Context: While analyzing:
+// const binaryOnStringWithStringBad = willBeString - " world";
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:78:13: Error: Constant evaluation error:
+// const x3 = x--;
+//             ^
+// pkg/front_end/testcases/general/constants/various2.dart:78:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// const x3 = x--;
+//            ^
+// pkg/front_end/testcases/general/constants/various2.dart:78:7: Context: While analyzing:
+// const x3 = x--;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:79:13: Error: Constant evaluation error:
+// const x4 = x++;
+//             ^
+// pkg/front_end/testcases/general/constants/various2.dart:79:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// const x4 = x++;
+//            ^
+// pkg/front_end/testcases/general/constants/various2.dart:79:7: Context: While analyzing:
+// const x4 = x++;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:129:29: Error: Constant evaluation error:
+// const bool foosEqual = foo1 == foo2;
+//                             ^
+// pkg/front_end/testcases/general/constants/various2.dart:129:29: Context: Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
+//  - 'Foo' is from 'pkg/front_end/testcases/general/constants/various2.dart'.
+// const bool foosEqual = foo1 == foo2;
+//                             ^
+// pkg/front_end/testcases/general/constants/various2.dart:129:12: Context: While analyzing:
+// const bool foosEqual = foo1 == foo2;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:135:26: Error: Constant evaluation error:
+// const int circularity1 = circularity2;
+//                          ^
+// pkg/front_end/testcases/general/constants/various2.dart:135:26: Context: Constant expression depends on itself.
+// const int circularity1 = circularity2;
+//                          ^
+// pkg/front_end/testcases/general/constants/various2.dart:135:11: Context: While analyzing:
+// const int circularity1 = circularity2;
+//           ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:148:7: Error: Constant evaluation error:
+// const ConstClassWithFailingAssertWithEmptyMessage();
+//       ^
+// pkg/front_end/testcases/general/constants/various2.dart:144:64: Context: This assertion failed with message: (empty)
+//   const ConstClassWithFailingAssertWithEmptyMessage() : assert(false, "");
+//                                                                ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:185:7: Error: Constant evaluation error:
+// const ConstClassWithFinalFields2();
+//       ^
+// pkg/front_end/testcases/general/constants/various2.dart:181:14: Context: The invocation of 'x' is not allowed in a constant expression.
+//   final z2 = x;
+//              ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:_internal" as _in;
+
+abstract class AbstractClass extends core::Object {
+  synthetic constructor •() → self::AbstractClass
+    : super core::Object::•()
+    ;
+}
+abstract class AbstractClassWithConstructor extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::AbstractClassWithConstructor
+    : super core::Object::•()
+    ;
+  abstract method foo() → core::int;
+}
+class NotAbstractClass extends core::Object {
+  @invalid-expression "Not a constant expression."
+  field core::Object foo = null;
+  @invalid-expression "Not a constant expression."
+  field core::Object bar = null;
+  synthetic constructor •() → self::NotAbstractClass
+    : super core::Object::•()
+    ;
+}
+class Foo extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  final field core::int y;
+  const constructor •(core::int x) → self::Foo
+    : self::Foo::x = x, self::Foo::y = "hello".{core::String::length}{core::int}, super core::Object::•()
+    ;
+}
+class ExtendsFoo1 extends self::Foo {
+  synthetic constructor •() → self::ExtendsFoo1
+    : invalid-initializer
+    ;
+}
+class ExtendsFoo2 extends self::Foo /*hasConstConstructor*/  {
+  const constructor •() → self::ExtendsFoo2
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+  const ExtendsFoo2();
+        ^^^^^^^^^^^"
+    ;
+}
+class ConstClassWithFailingAssertWithEmptyMessage extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::ConstClassWithFailingAssertWithEmptyMessage
+    : assert(false, ""), super core::Object::•()
+    ;
+}
+class ClassWithTypeArguments<E extends core::Object? = dynamic, F extends core::Object? = dynamic, G extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •(self::ClassWithTypeArguments::E% e, self::ClassWithTypeArguments::F% f, self::ClassWithTypeArguments::G% g) → self::ClassWithTypeArguments<self::ClassWithTypeArguments::E%, self::ClassWithTypeArguments::F%, self::ClassWithTypeArguments::G%>
+    : super core::Object::•()
+    ;
+}
+class ClassWithNonEmptyConstConstructor extends core::Object {
+  constructor •() → self::ClassWithNonEmptyConstConstructor
+    : super core::Object::•() {
+    core::print("hello");
+  }
+}
+class ConstClassWithFinalFields1 extends core::Object /*hasConstConstructor*/  {
+  final field core::int x = 1;
+  const constructor •() → self::ConstClassWithFinalFields1
+    : super core::Object::•()
+    ;
+}
+class ConstClassWithFinalFields2 extends core::Object /*hasConstConstructor*/  {
+  final field core::int y = 1;
+  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::•()
+    ;
+}
+static const field core::bool barFromEnv = #C1;
+static const field core::bool hasBarEnv = #C1;
+static const field core::bool barFromEnvOrNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool notBarFromEnvOrNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool conditionalOnNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool nullAwareOnNullTrue = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool nullAwareOnNullFalse = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnFalse = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnFalse2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnNull2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool orOnNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool orOnNull2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool orOnNull3 = #C2;
+static const field core::bool orOnNull4 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::String barFromEnvString = #C3;
+static const field core::String barFromEnvOrNullString = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::String barFromEnvOrActualString = #C4;
+static const field core::String nullFromEnvString = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::bool barFromEnvBool = #C1;
+static const field core::bool barFromEnvOrNullBool = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:33:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool barFromEnvOrActualBool = #C2;
+static const field core::bool nullFromEnvBool = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::int barFromEnvInt = #C5;
+static const field core::int barFromEnvOrNullInt = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:40:48: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
+const int.fromEnvironment(\"bar\", defaultValue: null);
+                                               ^";
+static const field core::int barFromEnvOrActualInt = #C6;
+static const field core::int nullFromEnvInt = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::bool bazFromEnv = #C1;
+static const field core::bool hasBazEnv = #C2;
+static const field core::int bazFromEnvAsInt = #C6;
+static const field core::String bazFromEnvAsString = #C7;
+static const field core::bool bazTrueFromEnv = #C2;
+static const field core::bool bazFalseFromEnv = #C1;
+static const field core::bool trueBool = #C2;
+static const field core::bool falseBool = #C1;
+static const field core::bool binaryOnBoolCaret = #C2;
+static const field core::bool binaryOnBoolAmpersand = #C1;
+static const field core::bool binaryOnBoolBar = #C2;
+static const field core::bool binaryOnBoolBar2 = #C2;
+static const field dynamic willBeDouble = #C8;
+static const field dynamic binaryOnDouble = invalid-expression "Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.";
+static const field dynamic willBeInt = #C6;
+static const field dynamic binaryOnIntWithDoubleBad = invalid-expression "Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.";
+static const field dynamic binaryOnIntWithDoubleOK = #C9;
+static const field dynamic binaryOnIntWithString = invalid-expression "Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.";
+static const field dynamic willBeString = #C4;
+static const field dynamic binaryOnStringWithStringOK = #C10;
+static const field dynamic binaryOnStringWithInt = invalid-expression "Binary operator '+' on '\"hello\"' requires operand of type 'String', but was of type 'int'.";
+static const field dynamic binaryOnStringWithStringBad = invalid-expression "The method '-' can't be invoked on '\"hello\"' in a constant expression.";
+static field core::int x = 1;
+static const field core::int x1 = invalid-expression "Not a constant expression.";
+static const field core::int x2 = invalid-expression "Not a constant expression.";
+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 = #C11;
+static const field invalid-type y1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:82:14: Error: Setter not found: 'y'.
+const y1 = --y;
+             ^";
+static const field invalid-type y2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.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/various2.dart:84:12: Error: Setter not found: 'y'.
+const y3 = y--;
+           ^";
+static const field core::int y4 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:85:12: Error: Setter not found: 'y'.
+const y4 = y++;
+           ^";
+static field self::AbstractClassWithConstructor abstractClassWithConstructor = throw invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:96:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+const AbstractClassWithConstructor();
+      ^";
+static const field self::ExtendsFoo1 extendsFoo1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.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();
+                                      ^^^^^^^^^^^";
+static const field self::ExtendsFoo2 extendsFoo2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+  const ExtendsFoo2();
+        ^^^^^^^^^^^";
+static const field self::Foo foo1 = #C13;
+static const field self::Foo foo2 = #C13;
+static const field core::bool foosIdentical = #C2;
+static const field core::bool foosEqual = invalid-expression "Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
+ - 'Foo' is from 'pkg/front_end/testcases/general/constants/various2.dart'.";
+static const field core::Symbol barFoo = #C14;
+static const field core::Symbol barFooEqual = #C15;
+static const field core::Symbol tripleShiftSymbol = #C16;
+static const field core::Symbol symbolWithDots = #C17;
+static const field core::int circularity1 = invalid-expression "Constant expression depends on itself.";
+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 invalid-type function_const = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:140:24: Error: Not a constant expression.
+const function_const = () {};
+                       ^^";
+static field () → Null function_var = () → Null {};
+static field self::ConstClassWithFailingAssertWithEmptyMessage failedAssertEmptyMessage = invalid-expression "This assertion failed with message: (empty)";
+static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic> classWithTypeArguments1 = #C18;
+static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic> classWithTypeArguments2 = #C19;
+static const field core::bool classWithTypeArgumentsIdentical = #C1;
+static field self::ClassWithNonEmptyConstConstructor classWithNonEmptyConstConstructor = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:168:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+const 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 = #C2;
+static const field core::bool zeroPointZeroIdenticalToZero = #C1;
+static const field core::bool zeroIdenticalToZeroPointZero = #C1;
+static const field core::bool nanIdentical = #C2;
+static const field core::bool zeroPointZeroEqual = #C2;
+static const field core::bool zeroPointZeroEqualToZero = #C2;
+static const field core::bool zeroEqualToZeroPointZero = #C2;
+static const field core::bool nanEqual = #C1;
+static const field dynamic willBecomeNull = #C20;
+static const field (core::int) → core::int willBecomeNullToo = #C20;
+static const field (core::int) → core::int partialInstantiation = #C22;
+static const field core::bool yBool = #C2;
+static const field core::bool zBool = #C1;
+static const field core::Object maybeInt = #C2;
+static const field core::bool isItInt = #C1;
+static const field core::Object maybeInt2 = #C2;
+static const field core::bool isItInt2 = #C1;
+static const field core::int? maybeInt3 = #C20;
+static const field core::bool isItInt3 = #C1;
+static method id1<T extends core::Object? = dynamic>(self::id1::T% t) → self::id1::T%
+  return t;
+static method id2<T extends core::Object? = dynamic>(self::id2::T% t) → self::id2::T%
+  return t;
+static method main() → dynamic {
+  core::print(#C1);
+  core::print(#C1);
+}
+
+constants  {
+  #C1 = false
+  #C2 = true
+  #C3 = ""
+  #C4 = "hello"
+  #C5 = 0
+  #C6 = 42
+  #C7 = "42"
+  #C8 = 42.42
+  #C9 = 84.42
+  #C10 = "hello world"
+  #C11 = 1
+  #C12 = 5
+  #C13 = self::Foo {x:#C6, y:#C12}
+  #C14 = #Foo
+  #C15 = #Foo=
+  #C16 = #>>>
+  #C17 = #I.Have.Dots
+  #C18 = self::ClassWithTypeArguments<core::int*, core::int*, core::int*> {}
+  #C19 = self::ClassWithTypeArguments<dynamic, dynamic, dynamic> {}
+  #C20 = null
+  #C21 = static-tearoff self::id1
+  #C22 = instantiation #C21 <core::int*>
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///various2.dart:
+- ExtendsFoo2. (from org-dartlang-testcase:///various2.dart:121:9)
+- Foo. (from org-dartlang-testcase:///various2.dart:109:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- ConstClassWithFailingAssertWithEmptyMessage. (from org-dartlang-testcase:///various2.dart:144:9)
+- ClassWithTypeArguments. (from org-dartlang-testcase:///various2.dart:151:9)
+- ConstClassWithFinalFields2. (from org-dartlang-testcase:///various2.dart:177:9)
diff --git a/pkg/front_end/testcases/general/constants/various2.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/various2.dart.weak.outline.expect
new file mode 100644
index 0000000..26de167
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/various2.dart.weak.outline.expect
@@ -0,0 +1,380 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/various2.dart:162:3: Error: A const constructor can't have a body.
+// Try removing either the 'const' keyword or the body.
+//   const ClassWithNonEmptyConstConstructor() {
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:76:14: Error: Not a constant expression.
+// const x1 = --x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:77:14: Error: Not a constant expression.
+// const x2 = ++x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:78:12: Error: Not a constant expression.
+// const x3 = x--;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:79:12: Error: Not a constant expression.
+// const x4 = x++;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:82:14: Error: Setter not found: 'y'.
+// const y1 = --y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:83:14: Error: Setter not found: 'y'.
+// const y2 = ++y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:84:12: Error: Setter not found: 'y'.
+// const y3 = y--;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:85:12: Error: Setter not found: 'y'.
+// const y4 = y++;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:140:24: Error: Not a constant expression.
+// const function_const = () {};
+//                        ^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:180:14: Error: Can't access 'this' in a field initializer to read 'y'.
+//   final z1 = y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+// const bool.fromEnvironment("bar", defaultValue: null);
+//                                                 ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:12:34: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNullTrue = barFromEnvOrNull ?? true;
+//                                  ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:13:35: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNullFalse = barFromEnvOrNull ?? false;
+//                                   ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+// const String.fromEnvironment("bar", defaultValue: null);
+//                                                   ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:33:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+// const bool.fromEnvironment("bar", defaultValue: null);
+//                                                 ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:40:48: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
+// const int.fromEnvironment("bar", defaultValue: null);
+//                                                ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+//   @AbstractClass()
+//    ^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+//   @AbstractClass()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+//   @AbstractClassWithConstructor()
+//    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+//   @AbstractClassWithConstructor()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.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();
+//                                       ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+//   const ExtendsFoo2();
+//         ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:180:14: Error: Not a constant expression.
+//   final z1 = y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:181:14: Error: Not a constant expression.
+//   final z2 = x;
+//              ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:_internal" as _in;
+
+abstract class AbstractClass extends core::Object {
+  synthetic constructor •() → self::AbstractClass
+    ;
+}
+abstract class AbstractClassWithConstructor extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::AbstractClassWithConstructor
+    : super core::Object::•()
+    ;
+  abstract method foo() → core::int;
+}
+class NotAbstractClass extends core::Object {
+  @throw invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+  @AbstractClass()
+   ^"
+  field core::Object foo;
+  @throw invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+  @AbstractClassWithConstructor()
+   ^"
+  field core::Object bar;
+  synthetic constructor •() → self::NotAbstractClass
+    ;
+}
+class Foo extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  final field core::int y;
+  const constructor •(core::int x) → self::Foo
+    : self::Foo::x = x, self::Foo::y = "hello".{core::String::length}{core::int}, super core::Object::•()
+    ;
+}
+class ExtendsFoo1 extends self::Foo {
+  synthetic constructor •() → self::ExtendsFoo1
+    ;
+}
+class ExtendsFoo2 extends self::Foo /*hasConstConstructor*/  {
+  const constructor •() → self::ExtendsFoo2
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+  const ExtendsFoo2();
+        ^^^^^^^^^^^"
+    ;
+}
+class ConstClassWithFailingAssertWithEmptyMessage extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::ConstClassWithFailingAssertWithEmptyMessage
+    : assert(false, ""), super core::Object::•()
+    ;
+}
+class ClassWithTypeArguments<E extends core::Object? = dynamic, F extends core::Object? = dynamic, G extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •(self::ClassWithTypeArguments::E% e, self::ClassWithTypeArguments::F% f, self::ClassWithTypeArguments::G% g) → self::ClassWithTypeArguments<self::ClassWithTypeArguments::E%, self::ClassWithTypeArguments::F%, self::ClassWithTypeArguments::G%>
+    : super core::Object::•()
+    ;
+}
+class ClassWithNonEmptyConstConstructor extends core::Object {
+  constructor •() → self::ClassWithNonEmptyConstConstructor
+    ;
+}
+class ConstClassWithFinalFields1 extends core::Object /*hasConstConstructor*/  {
+  final field core::int x = 1;
+  const constructor •() → self::ConstClassWithFinalFields1
+    : super core::Object::•()
+    ;
+}
+class ConstClassWithFinalFields2 extends core::Object /*hasConstConstructor*/  {
+  final field core::int y = 1;
+  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::•()
+    ;
+}
+static const field core::bool barFromEnv = const core::bool::fromEnvironment("bar");
+static const field core::bool hasBarEnv = const core::bool::hasEnvironment("bar");
+static const field core::bool barFromEnvOrNull = const core::bool::fromEnvironment("bar", defaultValue: invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^" in null as{TypeError,ForNonNullableByDefault} core::bool);
+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 nullAwareOnNullTrue = let final core::bool #t2 = self::barFromEnvOrNull in #t2 == null ?{core::bool} true : #t2;
+static const field core::bool nullAwareOnNullFalse = let final core::bool #t3 = self::barFromEnvOrNull in #t3 == null ?{core::bool} false : #t3;
+static const field core::bool andOnFalse = self::nullAwareOnNullFalse && self::nullAwareOnNullTrue;
+static const field core::bool andOnFalse2 = self::nullAwareOnNullTrue && self::nullAwareOnNullFalse;
+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::String barFromEnvString = const core::String::fromEnvironment("bar");
+static const field core::String barFromEnvOrNullString = const core::String::fromEnvironment("bar", defaultValue: invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^" in null as{TypeError,ForNonNullableByDefault} core::String);
+static const field core::String barFromEnvOrActualString = const core::String::fromEnvironment("bar", defaultValue: "hello");
+static const field core::String nullFromEnvString = const core::String::fromEnvironment(self::barFromEnvOrNullString);
+static const field core::bool barFromEnvBool = const core::bool::fromEnvironment("bar");
+static const field core::bool barFromEnvOrNullBool = const core::bool::fromEnvironment("bar", defaultValue: invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:33:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^" in null as{TypeError,ForNonNullableByDefault} core::bool);
+static const field core::bool barFromEnvOrActualBool = const core::bool::fromEnvironment("bar", defaultValue: true);
+static const field core::bool nullFromEnvBool = const core::bool::fromEnvironment(self::barFromEnvOrNullString);
+static const field core::int barFromEnvInt = const core::int::fromEnvironment("bar");
+static const field core::int barFromEnvOrNullInt = const core::int::fromEnvironment("bar", defaultValue: invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:40:48: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
+const int.fromEnvironment(\"bar\", defaultValue: null);
+                                               ^" in null as{TypeError,ForNonNullableByDefault} core::int);
+static const field core::int barFromEnvOrActualInt = const core::int::fromEnvironment("bar", defaultValue: 42);
+static const field core::int nullFromEnvInt = const core::int::fromEnvironment(self::barFromEnvOrNullString);
+static const field core::bool bazFromEnv = const core::bool::fromEnvironment("baz");
+static const field core::bool hasBazEnv = const core::bool::hasEnvironment("baz");
+static const field core::int bazFromEnvAsInt = const core::int::fromEnvironment("baz");
+static const field core::String bazFromEnvAsString = const core::String::fromEnvironment("baz");
+static const field core::bool bazTrueFromEnv = const core::bool::fromEnvironment("bazTrue");
+static const field core::bool bazFalseFromEnv = const core::bool::fromEnvironment("bazFalse");
+static const field core::bool trueBool = true;
+static const field core::bool falseBool = false;
+static const field core::bool binaryOnBoolCaret = self::trueBool.{core::bool::^}(self::falseBool){(core::bool) → core::bool};
+static const field core::bool binaryOnBoolAmpersand = self::trueBool.{core::bool::&}(self::falseBool){(core::bool) → core::bool};
+static const field core::bool binaryOnBoolBar = self::trueBool.{core::bool::|}(self::falseBool){(core::bool) → core::bool};
+static const field core::bool binaryOnBoolBar2 = self::falseBool.{core::bool::|}(self::trueBool){(core::bool) → core::bool};
+static const field dynamic willBeDouble = const core::bool::fromEnvironment("foo") ?{core::num} 42 : 42.42;
+static const field dynamic binaryOnDouble = self::willBeDouble{dynamic}.<<(2);
+static const field dynamic willBeInt = const core::bool::fromEnvironment("foo") ?{core::num} 42.42 : 42;
+static const field dynamic binaryOnIntWithDoubleBad = self::willBeInt{dynamic}.<<(self::willBeDouble);
+static const field dynamic binaryOnIntWithDoubleOK = self::willBeInt{dynamic}.+(self::willBeDouble);
+static const field dynamic binaryOnIntWithString = self::willBeInt{dynamic}.<<("hello");
+static const field dynamic willBeString = const core::bool::fromEnvironment("foo") ?{core::Object} 42.42 : "hello";
+static const field dynamic binaryOnStringWithStringOK = self::willBeString{dynamic}.+(" world");
+static const field dynamic binaryOnStringWithInt = self::willBeString{dynamic}.+(self::willBeInt);
+static const field dynamic binaryOnStringWithStringBad = self::willBeString{dynamic}.-(" world");
+static field core::int x;
+static const field core::int x1 = self::x = self::x.{core::num::-}(1){(core::num) → core::int};
+static const field core::int x2 = self::x = self::x.{core::num::+}(1){(core::num) → core::int};
+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 invalid-type y1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:82:14: Error: Setter not found: 'y'.
+const y1 = --y;
+             ^";
+static const field invalid-type y2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.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 invalid-type #t9 = invalid-expression "pkg/front_end/testcases/general/constants/various2.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 invalid-type #t11 = invalid-expression "pkg/front_end/testcases/general/constants/various2.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/various2.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();
+                                      ^^^^^^^^^^^";
+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);
+static const field core::bool foosIdentical = core::identical(self::foo1, self::foo2);
+static const field core::bool foosEqual = self::foo1 =={core::Object::==}{(core::Object) → core::bool} self::foo2;
+static const field core::Symbol barFoo = const _in::Symbol::•("Foo");
+static const field core::Symbol barFooEqual = const _in::Symbol::•("Foo=");
+static const field core::Symbol tripleShiftSymbol = const _in::Symbol::•(">>>");
+static const field core::Symbol symbolWithDots = const _in::Symbol::•("I.Have.Dots");
+static const field core::int circularity1 = self::circularity2;
+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 invalid-type function_const = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:140:24: Error: Not a constant expression.
+const function_const = () {};
+                       ^^";
+static field () → Null function_var;
+static field self::ConstClassWithFailingAssertWithEmptyMessage failedAssertEmptyMessage;
+static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic> classWithTypeArguments1 = const self::ClassWithTypeArguments::•<core::int, core::int, core::int>(42, 42, 42);
+static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic> classWithTypeArguments2 = const self::ClassWithTypeArguments::•<dynamic, dynamic, dynamic>(42, 42, 42);
+static const field core::bool classWithTypeArgumentsIdentical = core::identical(self::classWithTypeArguments1, self::classWithTypeArguments2);
+static field self::ClassWithNonEmptyConstConstructor classWithNonEmptyConstConstructor;
+static field self::ConstClassWithFinalFields2 constClassWithFinalFields;
+static const field core::bool zeroPointZeroIdentical = core::identical(0.0, 0.0);
+static const field core::bool zeroPointZeroIdenticalToZero = core::identical(0.0, 0);
+static const field core::bool zeroIdenticalToZeroPointZero = core::identical(0, 0.0);
+static const field core::bool nanIdentical = core::identical(0.{core::num::/}(0){(core::num) → core::double}, 0.{core::num::/}(0){(core::num) → core::double});
+static const field core::bool zeroPointZeroEqual = 0.0 =={core::num::==}{(core::Object) → core::bool} 0.0;
+static const field core::bool zeroPointZeroEqualToZero = 0.0 =={core::num::==}{(core::Object) → core::bool} 0;
+static const field core::bool zeroEqualToZeroPointZero = 0 =={core::num::==}{(core::Object) → core::bool} 0.0;
+static const field core::bool nanEqual = 0.{core::num::/}(0){(core::num) → core::double} =={core::num::==}{(core::Object) → core::bool} 0.{core::num::/}(0){(core::num) → core::double};
+static const field dynamic willBecomeNull = const core::bool::fromEnvironment("foo") ?{<T extends core::Object? = dynamic>(T%) →? T%} self::id1 : null;
+static const field (core::int) → core::int willBecomeNullToo = (const core::bool::fromEnvironment("foo") ?{dynamic} self::id1<core::int> : self::willBecomeNull) as{TypeError,ForDynamic,ForNonNullableByDefault} (core::int) → core::int;
+static const field (core::int) → core::int partialInstantiation = (const core::bool::fromEnvironment("foo") ?{dynamic} self::willBecomeNull : self::id1<core::int>) as{TypeError,ForDynamic,ForNonNullableByDefault} (core::int) → core::int;
+static const field core::bool yBool = true;
+static const field core::bool zBool = !self::yBool;
+static const field core::Object maybeInt = const core::bool::fromEnvironment("foo") ?{core::Object} 42 : true;
+static const field core::bool isItInt = self::maybeInt is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field core::Object maybeInt2 = self::zBool ?{core::Object} 42 : true;
+static const field core::bool isItInt2 = self::maybeInt2 is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field core::int? maybeInt3 = self::zBool ?{core::int?} 42 : null;
+static const field core::bool isItInt3 = self::maybeInt3 is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static method id1<T extends core::Object? = dynamic>(self::id1::T% t) → self::id1::T%
+  ;
+static method id2<T extends core::Object? = dynamic>(self::id2::T% t) → self::id2::T%
+  ;
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: InstanceGet @ org-dartlang-testcase:///various2.dart:111:26 -> IntConstant(5)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:6:31 -> BoolConstant(false)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:7:30 -> BoolConstant(false)
+Evaluated: LogicalExpression @ org-dartlang-testcase:///various2.dart:20:29 -> BoolConstant(true)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:23:39 -> StringConstant("")
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:27:7 -> StringConstant("hello")
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:31:35 -> BoolConstant(false)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:35:7 -> BoolConstant(true)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:38:33 -> IntConstant(0)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:42:7 -> IntConstant(42)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:46:31 -> BoolConstant(false)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:47:30 -> BoolConstant(true)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:48:35 -> IntConstant(42)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:49:41 -> StringConstant("42")
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:53:35 -> BoolConstant(true)
+Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///various2.dart:54:36 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various2.dart:58:41 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various2.dart:59:45 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various2.dart:60:39 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various2.dart:61:41 -> BoolConstant(true)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various2.dart:63:64 -> DoubleConstant(42.42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:64:24 -> DoubleConstant(42.42)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various2.dart:65:61 -> IntConstant(42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:66:34 -> IntConstant(42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:66:47 -> DoubleConstant(42.42)
+Evaluated: DynamicInvocation @ org-dartlang-testcase:///various2.dart:67:43 -> DoubleConstant(84.42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:68:31 -> IntConstant(42)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various2.dart:70:35 -> StringConstant("hello")
+Evaluated: DynamicInvocation @ org-dartlang-testcase:///various2.dart:71:49 -> StringConstant("hello world")
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:72:31 -> StringConstant("hello")
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:72:46 -> IntConstant(42)
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:73:37 -> StringConstant("hello")
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:84:12 -> IntConstant(1)
+Evaluated: VariableGet @ org-dartlang-testcase:///various2.dart:84:12 -> IntConstant(1)
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:85:12 -> IntConstant(1)
+Evaluated: VariableGet @ org-dartlang-testcase:///various2.dart:85:12 -> IntConstant(1)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various2.dart:126:24 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various2.dart:127:24 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various2.dart:128:28 -> BoolConstant(true)
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:129:24 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
+Evaluated: StaticGet @ org-dartlang-testcase:///various2.dart:129:32 -> InstanceConstant(const Foo{Foo.x: 42, Foo.y: 5})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various2.dart:130:29 -> SymbolConstant(#Foo)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various2.dart:131:34 -> SymbolConstant(#Foo=)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various2.dart:132:40 -> SymbolConstant(#>>>)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various2.dart:133:37 -> SymbolConstant(#I.Have.Dots)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various2.dart:155:7 -> InstanceConstant(const ClassWithTypeArguments<int*, int*, int*>{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various2.dart:157:7 -> InstanceConstant(const ClassWithTypeArguments<dynamic, dynamic, dynamic>{})
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various2.dart:159:1 -> BoolConstant(false)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various2.dart:187:32 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various2.dart:188:38 -> BoolConstant(false)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various2.dart:189:38 -> BoolConstant(false)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various2.dart:190:22 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various2.dart:192:32 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various2.dart:193:38 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various2.dart:194:36 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various2.dart:195:24 -> BoolConstant(false)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various2.dart:200:66 -> NullConstant(null)
+Evaluated: AsExpression @ org-dartlang-testcase:///various2.dart:203:35 -> NullConstant(null)
+Evaluated: AsExpression @ org-dartlang-testcase:///various2.dart:205:35 -> InstantiationConstant(id1<int*>)
+Evaluated: Not @ org-dartlang-testcase:///various2.dart:208:20 -> BoolConstant(false)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various2.dart:210:46 -> BoolConstant(true)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various2.dart:211:38 -> BoolConstant(false)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various2.dart:212:25 -> BoolConstant(true)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various2.dart:213:40 -> BoolConstant(false)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various2.dart:214:25 -> NullConstant(null)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various2.dart:215:40 -> BoolConstant(false)
+Extra constant evaluation: evaluated: 149, effectively constant: 66
diff --git a/pkg/front_end/testcases/general/constants/various2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/various2.dart.weak.transformed.expect
new file mode 100644
index 0000000..9a213d1
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/various2.dart.weak.transformed.expect
@@ -0,0 +1,528 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/various2.dart:162:3: Error: A const constructor can't have a body.
+// Try removing either the 'const' keyword or the body.
+//   const ClassWithNonEmptyConstConstructor() {
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:76:14: Error: Not a constant expression.
+// const x1 = --x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:77:14: Error: Not a constant expression.
+// const x2 = ++x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:78:12: Error: Not a constant expression.
+// const x3 = x--;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:79:12: Error: Not a constant expression.
+// const x4 = x++;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:82:14: Error: Setter not found: 'y'.
+// const y1 = --y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:83:14: Error: Setter not found: 'y'.
+// const y2 = ++y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:84:12: Error: Setter not found: 'y'.
+// const y3 = y--;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:85:12: Error: Setter not found: 'y'.
+// const y4 = y++;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:140:24: Error: Not a constant expression.
+// const function_const = () {};
+//                        ^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:180:14: Error: Can't access 'this' in a field initializer to read 'y'.
+//   final z1 = y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+// const bool.fromEnvironment("bar", defaultValue: null);
+//                                                 ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:12:34: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNullTrue = barFromEnvOrNull ?? true;
+//                                  ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:13:35: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNullFalse = barFromEnvOrNull ?? false;
+//                                   ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+// const String.fromEnvironment("bar", defaultValue: null);
+//                                                   ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:33:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+// const bool.fromEnvironment("bar", defaultValue: null);
+//                                                 ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:40:48: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
+// const int.fromEnvironment("bar", defaultValue: null);
+//                                                ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+//   @AbstractClass()
+//    ^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+//   @AbstractClass()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+//   @AbstractClassWithConstructor()
+//    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+//   @AbstractClassWithConstructor()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.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();
+//                                       ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+//   const ExtendsFoo2();
+//         ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:180:14: Error: Not a constant expression.
+//   final z1 = y;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:181:14: Error: Not a constant expression.
+//   final z2 = x;
+//              ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:96:7: Error: The class 'AbstractClassWithConstructor' is abstract and can't be instantiated.
+// const AbstractClassWithConstructor();
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:96:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const AbstractClassWithConstructor();
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:168:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const ClassWithNonEmptyConstConstructor();
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:100:10: Error: Field 'foo' should be initialized because its type 'Object' doesn't allow null.
+//  - 'Object' is from 'dart:core'.
+//   Object foo;
+//          ^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:103:10: Error: Field 'bar' should be initialized because its type 'Object' doesn't allow null.
+//  - 'Object' is from 'dart:core'.
+//   Object bar;
+//          ^^^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:114:7: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+// class ExtendsFoo1 extends Foo {
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:99:4: Error: Not a constant expression.
+//   @AbstractClass()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:102:4: Error: Not a constant expression.
+//   @AbstractClassWithConstructor()
+//    ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:64:37: Error: Constant evaluation error:
+// const binaryOnDouble = willBeDouble << 2;
+//                                     ^
+// pkg/front_end/testcases/general/constants/various2.dart:64:37: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// const binaryOnDouble = willBeDouble << 2;
+//                                     ^
+// pkg/front_end/testcases/general/constants/various2.dart:64:7: Context: While analyzing:
+// const binaryOnDouble = willBeDouble << 2;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:66:44: Error: Constant evaluation error:
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:66:44: Context: Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:66:7: Context: While analyzing:
+// const binaryOnIntWithDoubleBad = willBeInt << willBeDouble;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:68:41: Error: Constant evaluation error:
+// const binaryOnIntWithString = willBeInt << "hello";
+//                                         ^
+// pkg/front_end/testcases/general/constants/various2.dart:68:41: Context: Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.
+// const binaryOnIntWithString = willBeInt << "hello";
+//                                         ^
+// pkg/front_end/testcases/general/constants/various2.dart:68:7: Context: While analyzing:
+// const binaryOnIntWithString = willBeInt << "hello";
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:72:44: Error: Constant evaluation error:
+// const binaryOnStringWithInt = willBeString + willBeInt;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:72:44: Context: Binary operator '+' on '"hello"' requires operand of type 'String', but was of type 'int'.
+// const binaryOnStringWithInt = willBeString + willBeInt;
+//                                            ^
+// pkg/front_end/testcases/general/constants/various2.dart:72:7: Context: While analyzing:
+// const binaryOnStringWithInt = willBeString + willBeInt;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:73:50: Error: Constant evaluation error:
+// const binaryOnStringWithStringBad = willBeString - " world";
+//                                                  ^
+// pkg/front_end/testcases/general/constants/various2.dart:73:50: Context: The method '-' can't be invoked on '"hello"' in a constant expression.
+// const binaryOnStringWithStringBad = willBeString - " world";
+//                                                  ^
+// pkg/front_end/testcases/general/constants/various2.dart:73:7: Context: While analyzing:
+// const binaryOnStringWithStringBad = willBeString - " world";
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:78:13: Error: Constant evaluation error:
+// const x3 = x--;
+//             ^
+// pkg/front_end/testcases/general/constants/various2.dart:78:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// const x3 = x--;
+//            ^
+// pkg/front_end/testcases/general/constants/various2.dart:78:7: Context: While analyzing:
+// const x3 = x--;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:79:13: Error: Constant evaluation error:
+// const x4 = x++;
+//             ^
+// pkg/front_end/testcases/general/constants/various2.dart:79:12: Context: The invocation of 'x' is not allowed in a constant expression.
+// const x4 = x++;
+//            ^
+// pkg/front_end/testcases/general/constants/various2.dart:79:7: Context: While analyzing:
+// const x4 = x++;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:129:29: Error: Constant evaluation error:
+// const bool foosEqual = foo1 == foo2;
+//                             ^
+// pkg/front_end/testcases/general/constants/various2.dart:129:29: Context: Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
+//  - 'Foo' is from 'pkg/front_end/testcases/general/constants/various2.dart'.
+// const bool foosEqual = foo1 == foo2;
+//                             ^
+// pkg/front_end/testcases/general/constants/various2.dart:129:12: Context: While analyzing:
+// const bool foosEqual = foo1 == foo2;
+//            ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:135:26: Error: Constant evaluation error:
+// const int circularity1 = circularity2;
+//                          ^
+// pkg/front_end/testcases/general/constants/various2.dart:135:26: Context: Constant expression depends on itself.
+// const int circularity1 = circularity2;
+//                          ^
+// pkg/front_end/testcases/general/constants/various2.dart:135:11: Context: While analyzing:
+// const int circularity1 = circularity2;
+//           ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:148:7: Error: Constant evaluation error:
+// const ConstClassWithFailingAssertWithEmptyMessage();
+//       ^
+// pkg/front_end/testcases/general/constants/various2.dart:144:64: Context: This assertion failed with message: (empty)
+//   const ConstClassWithFailingAssertWithEmptyMessage() : assert(false, "");
+//                                                                ^
+//
+// pkg/front_end/testcases/general/constants/various2.dart:185:7: Error: Constant evaluation error:
+// const ConstClassWithFinalFields2();
+//       ^
+// pkg/front_end/testcases/general/constants/various2.dart:181:14: Context: The invocation of 'x' is not allowed in a constant expression.
+//   final z2 = x;
+//              ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:_internal" as _in;
+
+abstract class AbstractClass extends core::Object {
+  synthetic constructor •() → self::AbstractClass
+    : super core::Object::•()
+    ;
+}
+abstract class AbstractClassWithConstructor extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::AbstractClassWithConstructor
+    : super core::Object::•()
+    ;
+  abstract method foo() → core::int;
+}
+class NotAbstractClass extends core::Object {
+  @invalid-expression "Not a constant expression."
+  field core::Object foo = null;
+  @invalid-expression "Not a constant expression."
+  field core::Object bar = null;
+  synthetic constructor •() → self::NotAbstractClass
+    : super core::Object::•()
+    ;
+}
+class Foo extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  final field core::int y;
+  const constructor •(core::int x) → self::Foo
+    : self::Foo::x = x, self::Foo::y = "hello".{core::String::length}{core::int}, super core::Object::•()
+    ;
+}
+class ExtendsFoo1 extends self::Foo {
+  synthetic constructor •() → self::ExtendsFoo1
+    : invalid-initializer
+    ;
+}
+class ExtendsFoo2 extends self::Foo /*hasConstConstructor*/  {
+  const constructor •() → self::ExtendsFoo2
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+  const ExtendsFoo2();
+        ^^^^^^^^^^^"
+    ;
+}
+class ConstClassWithFailingAssertWithEmptyMessage extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::ConstClassWithFailingAssertWithEmptyMessage
+    : assert(false, ""), super core::Object::•()
+    ;
+}
+class ClassWithTypeArguments<E extends core::Object? = dynamic, F extends core::Object? = dynamic, G extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •(self::ClassWithTypeArguments::E% e, self::ClassWithTypeArguments::F% f, self::ClassWithTypeArguments::G% g) → self::ClassWithTypeArguments<self::ClassWithTypeArguments::E%, self::ClassWithTypeArguments::F%, self::ClassWithTypeArguments::G%>
+    : super core::Object::•()
+    ;
+}
+class ClassWithNonEmptyConstConstructor extends core::Object {
+  constructor •() → self::ClassWithNonEmptyConstConstructor
+    : super core::Object::•() {
+    core::print("hello");
+  }
+}
+class ConstClassWithFinalFields1 extends core::Object /*hasConstConstructor*/  {
+  final field core::int x = 1;
+  const constructor •() → self::ConstClassWithFinalFields1
+    : super core::Object::•()
+    ;
+}
+class ConstClassWithFinalFields2 extends core::Object /*hasConstConstructor*/  {
+  final field core::int y = 1;
+  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::•()
+    ;
+}
+static const field core::bool barFromEnv = #C1;
+static const field core::bool hasBarEnv = #C1;
+static const field core::bool barFromEnvOrNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool notBarFromEnvOrNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool conditionalOnNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool nullAwareOnNullTrue = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool nullAwareOnNullFalse = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnFalse = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnFalse2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool andOnNull2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool orOnNull = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool orOnNull2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool orOnNull3 = #C2;
+static const field core::bool orOnNull4 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:9:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::String barFromEnvString = #C3;
+static const field core::String barFromEnvOrNullString = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::String barFromEnvOrActualString = #C4;
+static const field core::String nullFromEnvString = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::bool barFromEnvBool = #C1;
+static const field core::bool barFromEnvOrNullBool = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:33:49: Error: The value 'null' can't be assigned to the parameter type 'bool' because 'bool' is not nullable.
+const bool.fromEnvironment(\"bar\", defaultValue: null);
+                                                ^";
+static const field core::bool barFromEnvOrActualBool = #C2;
+static const field core::bool nullFromEnvBool = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::int barFromEnvInt = #C5;
+static const field core::int barFromEnvOrNullInt = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:40:48: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
+const int.fromEnvironment(\"bar\", defaultValue: null);
+                                               ^";
+static const field core::int barFromEnvOrActualInt = #C6;
+static const field core::int nullFromEnvInt = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:25:51: Error: The value 'null' can't be assigned to the parameter type 'String' because 'String' is not nullable.
+const String.fromEnvironment(\"bar\", defaultValue: null);
+                                                  ^";
+static const field core::bool bazFromEnv = #C1;
+static const field core::bool hasBazEnv = #C2;
+static const field core::int bazFromEnvAsInt = #C6;
+static const field core::String bazFromEnvAsString = #C7;
+static const field core::bool bazTrueFromEnv = #C2;
+static const field core::bool bazFalseFromEnv = #C1;
+static const field core::bool trueBool = #C2;
+static const field core::bool falseBool = #C1;
+static const field core::bool binaryOnBoolCaret = #C2;
+static const field core::bool binaryOnBoolAmpersand = #C1;
+static const field core::bool binaryOnBoolBar = #C2;
+static const field core::bool binaryOnBoolBar2 = #C2;
+static const field dynamic willBeDouble = #C8;
+static const field dynamic binaryOnDouble = invalid-expression "Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.";
+static const field dynamic willBeInt = #C6;
+static const field dynamic binaryOnIntWithDoubleBad = invalid-expression "Binary operator '<<' on '42.42' requires operand of type 'int', but was of type 'double'.";
+static const field dynamic binaryOnIntWithDoubleOK = #C9;
+static const field dynamic binaryOnIntWithString = invalid-expression "Binary operator '<<' on '42' requires operand of type 'num', but was of type 'String'.";
+static const field dynamic willBeString = #C4;
+static const field dynamic binaryOnStringWithStringOK = #C10;
+static const field dynamic binaryOnStringWithInt = invalid-expression "Binary operator '+' on '\"hello\"' requires operand of type 'String', but was of type 'int'.";
+static const field dynamic binaryOnStringWithStringBad = invalid-expression "The method '-' can't be invoked on '\"hello\"' in a constant expression.";
+static field core::int x = 1;
+static const field core::int x1 = invalid-expression "Not a constant expression.";
+static const field core::int x2 = invalid-expression "Not a constant expression.";
+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 = #C11;
+static const field invalid-type y1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:82:14: Error: Setter not found: 'y'.
+const y1 = --y;
+             ^";
+static const field invalid-type y2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.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/various2.dart:84:12: Error: Setter not found: 'y'.
+const y3 = y--;
+           ^";
+static const field core::int y4 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:85:12: Error: Setter not found: 'y'.
+const y4 = y++;
+           ^";
+static field self::AbstractClassWithConstructor abstractClassWithConstructor = throw invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:96:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+const AbstractClassWithConstructor();
+      ^";
+static const field self::ExtendsFoo1 extendsFoo1 = invalid-expression "pkg/front_end/testcases/general/constants/various2.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();
+                                      ^^^^^^^^^^^";
+static const field self::ExtendsFoo2 extendsFoo2 = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:121:9: Error: The superclass, 'Foo', has no unnamed constructor that takes no arguments.
+  const ExtendsFoo2();
+        ^^^^^^^^^^^";
+static const field self::Foo foo1 = #C13;
+static const field self::Foo foo2 = #C13;
+static const field core::bool foosIdentical = #C2;
+static const field core::bool foosEqual = invalid-expression "Binary operator '==' requires receiver constant 'Foo {x: 42, y: 5}' of type 'Null', 'bool', 'int', 'double', or 'String', but was of type 'Foo'.
+ - 'Foo' is from 'pkg/front_end/testcases/general/constants/various2.dart'.";
+static const field core::Symbol barFoo = #C14;
+static const field core::Symbol barFooEqual = #C15;
+static const field core::Symbol tripleShiftSymbol = #C16;
+static const field core::Symbol symbolWithDots = #C17;
+static const field core::int circularity1 = invalid-expression "Constant expression depends on itself.";
+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 invalid-type function_const = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:140:24: Error: Not a constant expression.
+const function_const = () {};
+                       ^^";
+static field () → Null function_var = () → Null {};
+static field self::ConstClassWithFailingAssertWithEmptyMessage failedAssertEmptyMessage = invalid-expression "This assertion failed with message: (empty)";
+static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic> classWithTypeArguments1 = #C18;
+static const field self::ClassWithTypeArguments<dynamic, dynamic, dynamic> classWithTypeArguments2 = #C19;
+static const field core::bool classWithTypeArgumentsIdentical = #C1;
+static field self::ClassWithNonEmptyConstConstructor classWithNonEmptyConstConstructor = invalid-expression "pkg/front_end/testcases/general/constants/various2.dart:168:7: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+const 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 = #C2;
+static const field core::bool zeroPointZeroIdenticalToZero = #C1;
+static const field core::bool zeroIdenticalToZeroPointZero = #C1;
+static const field core::bool nanIdentical = #C2;
+static const field core::bool zeroPointZeroEqual = #C2;
+static const field core::bool zeroPointZeroEqualToZero = #C2;
+static const field core::bool zeroEqualToZeroPointZero = #C2;
+static const field core::bool nanEqual = #C1;
+static const field dynamic willBecomeNull = #C20;
+static const field (core::int) → core::int willBecomeNullToo = #C20;
+static const field (core::int) → core::int partialInstantiation = #C22;
+static const field core::bool yBool = #C2;
+static const field core::bool zBool = #C1;
+static const field core::Object maybeInt = #C2;
+static const field core::bool isItInt = #C1;
+static const field core::Object maybeInt2 = #C2;
+static const field core::bool isItInt2 = #C1;
+static const field core::int? maybeInt3 = #C20;
+static const field core::bool isItInt3 = #C1;
+static method id1<T extends core::Object? = dynamic>(self::id1::T% t) → self::id1::T%
+  return t;
+static method id2<T extends core::Object? = dynamic>(self::id2::T% t) → self::id2::T%
+  return t;
+static method main() → dynamic {
+  core::print(#C1);
+  core::print(#C1);
+}
+
+constants  {
+  #C1 = false
+  #C2 = true
+  #C3 = ""
+  #C4 = "hello"
+  #C5 = 0
+  #C6 = 42
+  #C7 = "42"
+  #C8 = 42.42
+  #C9 = 84.42
+  #C10 = "hello world"
+  #C11 = 1
+  #C12 = 5
+  #C13 = self::Foo {x:#C6, y:#C12}
+  #C14 = #Foo
+  #C15 = #Foo=
+  #C16 = #>>>
+  #C17 = #I.Have.Dots
+  #C18 = self::ClassWithTypeArguments<core::int*, core::int*, core::int*> {}
+  #C19 = self::ClassWithTypeArguments<dynamic, dynamic, dynamic> {}
+  #C20 = null
+  #C21 = static-tearoff self::id1
+  #C22 = instantiation #C21 <core::int*>
+}
+
+Extra constant evaluation status:
+Evaluated: InstanceGet @ org-dartlang-testcase:///various2.dart:111:26 -> IntConstant(5)
+Extra constant evaluation: evaluated: 12, effectively constant: 1
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///various2.dart:
+- ExtendsFoo2. (from org-dartlang-testcase:///various2.dart:121:9)
+- Foo. (from org-dartlang-testcase:///various2.dart:109:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- ConstClassWithFailingAssertWithEmptyMessage. (from org-dartlang-testcase:///various2.dart:144:9)
+- ClassWithTypeArguments. (from org-dartlang-testcase:///various2.dart:151:9)
+- ConstClassWithFinalFields2. (from org-dartlang-testcase:///various2.dart:177:9)
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart b/pkg/front_end/testcases/general/error_locations/error_location_01.dart
index 63ea655..84034a1 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'error_location_01_lib1.dart';
 import 'error_location_01_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline.expect
index 8e25c093..5332212 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'error_location_01_lib1.dart';
 import 'error_location_01_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline_modelled.expect
index 8e25c093..5332212 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'error_location_01_lib1.dart';
 import 'error_location_01_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.expect
index a1e0f80..ea7891c 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_01_lib1.dart" as err;
 import "error_location_01_lib2.dart" as err2;
@@ -11,30 +11,20 @@
   err2::bar();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.modular.expect
index a1e0f80..ea7891c 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_01_lib1.dart" as err;
 import "error_location_01_lib2.dart" as err2;
@@ -11,30 +11,20 @@
   err2::bar();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.outline.expect
index 77b03f4..6d0f25c 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///error_location_01_lib1.dart";
@@ -7,29 +7,19 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → self2::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → self2::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self3;
 
 import "org-dartlang-testcase:///error_location_01_lib1.dart";
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.transformed.expect
index a1e0f80..ea7891c 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_01_lib1.dart" as err;
 import "error_location_01_lib2.dart" as err2;
@@ -11,30 +11,20 @@
   err2::bar();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_01_lib1.dart
index b8e8190..5ebb8ff 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 class Foo {
   const Foo(int i) : assert(i > 0);
 }
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01_lib2.dart b/pkg/front_end/testcases/general/error_locations/error_location_01_lib2.dart
index 3ed04eb..e35bf9e 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01_lib2.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'error_location_01_lib1.dart';
 
 bar() {
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart b/pkg/front_end/testcases/general/error_locations/error_location_02.dart
index f860c2b..938b958 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'error_location_02_lib1.dart';
 import 'error_location_02_lib2.dart';
 import 'error_location_02_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline.expect
index 7de78f0f..0bb920e 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'error_location_02_lib1.dart';
 import 'error_location_02_lib2.dart';
 import 'error_location_02_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline_modelled.expect
index 7de78f0f..0bb920e 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'error_location_02_lib1.dart';
 import 'error_location_02_lib2.dart';
 import 'error_location_02_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.expect
index 4b68f2c..0b14e9c 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_02_lib1.dart" as err;
 import "dart:core" as core;
@@ -12,30 +12,20 @@
   core::print(invalid-expression "This assertion failed.");
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -54,9 +44,9 @@
 
 import "org-dartlang-testcase:///error_location_02_lib1.dart";
 
-static const field err::Foo* fooField = invalid-expression "This assertion failed.";
+static const field err::Foo fooField = invalid-expression "This assertion failed.";
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -75,7 +65,7 @@
 
 import "org-dartlang-testcase:///error_location_02_lib2.dart";
 
-static const field err::Foo* fooField2 = invalid-expression "This assertion failed.";
+static const field err::Foo fooField2 = invalid-expression "This assertion failed.";
 
 
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.modular.expect
index 4b68f2c..0b14e9c 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_02_lib1.dart" as err;
 import "dart:core" as core;
@@ -12,30 +12,20 @@
   core::print(invalid-expression "This assertion failed.");
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -54,9 +44,9 @@
 
 import "org-dartlang-testcase:///error_location_02_lib1.dart";
 
-static const field err::Foo* fooField = invalid-expression "This assertion failed.";
+static const field err::Foo fooField = invalid-expression "This assertion failed.";
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -75,7 +65,7 @@
 
 import "org-dartlang-testcase:///error_location_02_lib2.dart";
 
-static const field err::Foo* fooField2 = invalid-expression "This assertion failed.";
+static const field err::Foo fooField2 = invalid-expression "This assertion failed.";
 
 
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.outline.expect
index b534db4..d409d76 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///error_location_02_lib1.dart";
@@ -8,41 +8,31 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → self2::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → self2::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self3;
 import "error_location_02_lib1.dart" as self2;
 
 import "org-dartlang-testcase:///error_location_02_lib1.dart";
 
-static const field self2::Foo* fooField = const self2::Foo::•(0);
+static const field self2::Foo fooField = const self2::Foo::•(0);
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self4;
 import "error_location_02_lib1.dart" as self2;
 import "error_location_02_lib2.dart" as self3;
 
 import "org-dartlang-testcase:///error_location_02_lib2.dart";
 
-static const field self2::Foo* fooField2 = self3::fooField;
+static const field self2::Foo fooField2 = self3::fooField;
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.transformed.expect
index 4b68f2c..0b14e9c 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_02_lib1.dart" as err;
 import "dart:core" as core;
@@ -12,30 +12,20 @@
   core::print(invalid-expression "This assertion failed.");
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -54,9 +44,9 @@
 
 import "org-dartlang-testcase:///error_location_02_lib1.dart";
 
-static const field err::Foo* fooField = invalid-expression "This assertion failed.";
+static const field err::Foo fooField = invalid-expression "This assertion failed.";
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -75,7 +65,7 @@
 
 import "org-dartlang-testcase:///error_location_02_lib2.dart";
 
-static const field err::Foo* fooField2 = invalid-expression "This assertion failed.";
+static const field err::Foo fooField2 = invalid-expression "This assertion failed.";
 
 
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_02_lib1.dart
index b8e8190..5ebb8ff 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 class Foo {
   const Foo(int i) : assert(i > 0);
 }
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02_lib2.dart b/pkg/front_end/testcases/general/error_locations/error_location_02_lib2.dart
index 8369f4f..d526e38 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02_lib2.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'error_location_02_lib1.dart';
 
 const fooField = const Foo(0);
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02_lib3.dart b/pkg/front_end/testcases/general/error_locations/error_location_02_lib3.dart
index 6039c84..7123ffc 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02_lib3.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02_lib3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'error_location_02_lib2.dart';
 
 const fooField2 = fooField;
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart b/pkg/front_end/testcases/general/error_locations/error_location_03.dart
index cb14c398..47bffaf 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'error_location_03_lib1.dart';
 import 'error_location_03_lib2.dart';
 import 'error_location_03_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline.expect
index 4dc4182..6ee4f4b 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'error_location_03_lib1.dart';
 import 'error_location_03_lib2.dart';
 import 'error_location_03_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline_modelled.expect
index 4dc4182..6ee4f4b 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'error_location_03_lib1.dart';
 import 'error_location_03_lib2.dart';
 import 'error_location_03_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.expect
index a11cbcd..654b898 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_03_lib1.dart" as err;
 import "dart:core" as core;
@@ -13,30 +13,20 @@
   core::print(invalid-expression "This assertion failed.");
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -55,9 +45,9 @@
 
 import "org-dartlang-testcase:///error_location_03_lib1.dart";
 
-static const field err::Foo* fooField = invalid-expression "This assertion failed.";
+static const field err::Foo fooField = invalid-expression "This assertion failed.";
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -76,7 +66,7 @@
 
 import "org-dartlang-testcase:///error_location_03_lib1.dart";
 
-static const field err::Foo* fooField2 = invalid-expression "This assertion failed.";
+static const field err::Foo fooField2 = invalid-expression "This assertion failed.";
 
 
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.modular.expect
index a11cbcd..654b898 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_03_lib1.dart" as err;
 import "dart:core" as core;
@@ -13,30 +13,20 @@
   core::print(invalid-expression "This assertion failed.");
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -55,9 +45,9 @@
 
 import "org-dartlang-testcase:///error_location_03_lib1.dart";
 
-static const field err::Foo* fooField = invalid-expression "This assertion failed.";
+static const field err::Foo fooField = invalid-expression "This assertion failed.";
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -76,7 +66,7 @@
 
 import "org-dartlang-testcase:///error_location_03_lib1.dart";
 
-static const field err::Foo* fooField2 = invalid-expression "This assertion failed.";
+static const field err::Foo fooField2 = invalid-expression "This assertion failed.";
 
 
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.outline.expect
index 86c9613..e1cdb6c 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///error_location_03_lib1.dart";
@@ -8,40 +8,30 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → self2::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → self2::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self3;
 import "error_location_03_lib1.dart" as self2;
 
 import "org-dartlang-testcase:///error_location_03_lib1.dart";
 
-static const field self2::Foo* fooField = const self2::Foo::•(0);
+static const field self2::Foo fooField = const self2::Foo::•(0);
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self4;
 import "error_location_03_lib1.dart" as self2;
 
 import "org-dartlang-testcase:///error_location_03_lib1.dart";
 
-static const field self2::Foo* fooField2 = const self2::Foo::•(0);
+static const field self2::Foo fooField2 = const self2::Foo::•(0);
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.transformed.expect
index a11cbcd..654b898 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_03_lib1.dart" as err;
 import "dart:core" as core;
@@ -13,30 +13,20 @@
   core::print(invalid-expression "This assertion failed.");
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -55,9 +45,9 @@
 
 import "org-dartlang-testcase:///error_location_03_lib1.dart";
 
-static const field err::Foo* fooField = invalid-expression "This assertion failed.";
+static const field err::Foo fooField = invalid-expression "This assertion failed.";
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -76,7 +66,7 @@
 
 import "org-dartlang-testcase:///error_location_03_lib1.dart";
 
-static const field err::Foo* fooField2 = invalid-expression "This assertion failed.";
+static const field err::Foo fooField2 = invalid-expression "This assertion failed.";
 
 
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_03_lib1.dart
index b8e8190..5ebb8ff 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 class Foo {
   const Foo(int i) : assert(i > 0);
 }
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03_lib2.dart b/pkg/front_end/testcases/general/error_locations/error_location_03_lib2.dart
index aa0d530..a889a34 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03_lib2.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'error_location_03_lib1.dart';
 
 const fooField = const Foo(0);
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03_lib3.dart b/pkg/front_end/testcases/general/error_locations/error_location_03_lib3.dart
index 508afd4..09a8a3b 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03_lib3.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03_lib3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'error_location_03_lib1.dart';
 
 const fooField2 = const Foo(0);
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart b/pkg/front_end/testcases/general/error_locations/error_location_04.dart
index b45d3b8..353cc90 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'error_location_04_lib1.dart';
 import 'error_location_04_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline.expect
index 3cd6bc2..9dce0c1 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'error_location_04_lib1.dart';
 import 'error_location_04_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline_modelled.expect
index 3cd6bc2..9dce0c1 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'error_location_04_lib1.dart';
 import 'error_location_04_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.expect
index 32f4daa..db92d3a 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_04_lib1.dart" as err;
 import "error_location_04_lib2.dart" as err2;
@@ -11,30 +11,20 @@
   err2::bar();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -52,20 +42,10 @@
 import "org-dartlang-testcase:///error_location_04_lib1.dart";
 
 class Bar extends core::Object /*hasConstConstructor*/  {
-  final field err::Foo* x;
-  const constructor •() → err2::Bar*
+  final field err::Foo x;
+  const constructor •() → err2::Bar
     : err2::Bar::x = invalid-expression "This assertion failed.", super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method bar() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.modular.expect
index 32f4daa..db92d3a 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_04_lib1.dart" as err;
 import "error_location_04_lib2.dart" as err2;
@@ -11,30 +11,20 @@
   err2::bar();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -52,20 +42,10 @@
 import "org-dartlang-testcase:///error_location_04_lib1.dart";
 
 class Bar extends core::Object /*hasConstConstructor*/  {
-  final field err::Foo* x;
-  const constructor •() → err2::Bar*
+  final field err::Foo x;
+  const constructor •() → err2::Bar
     : err2::Bar::x = invalid-expression "This assertion failed.", super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method bar() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.outline.expect
index c18e587..87da5b2 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///error_location_04_lib1.dart";
@@ -7,29 +7,19 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → self2::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → self2::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self3;
 import "dart:core" as core;
 import "error_location_04_lib1.dart" as self2;
@@ -37,20 +27,10 @@
 import "org-dartlang-testcase:///error_location_04_lib1.dart";
 
 class Bar extends core::Object /*hasConstConstructor*/  {
-  final field self2::Foo* x;
-  const constructor •() → self3::Bar*
+  final field self2::Foo x;
+  const constructor •() → self3::Bar
     : self3::Bar::x = const self2::Foo::•(0), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method bar() → dynamic
   ;
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.transformed.expect
index 32f4daa..db92d3a 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "error_location_04_lib1.dart" as err;
 import "error_location_04_lib2.dart" as err2;
@@ -11,30 +11,20 @@
   err2::bar();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as err;
 import "dart:core" as core;
 
 class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), super core::Object::•()
+  const constructor •(core::int i) → err::Foo
+    : assert(i.{core::num::>}(0){(core::num) → core::bool}), super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method foo() → dynamic {
   new err::Foo::•(0);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -52,20 +42,10 @@
 import "org-dartlang-testcase:///error_location_04_lib1.dart";
 
 class Bar extends core::Object /*hasConstConstructor*/  {
-  final field err::Foo* x;
-  const constructor •() → err2::Bar*
+  final field err::Foo x;
+  const constructor •() → err2::Bar
     : err2::Bar::x = invalid-expression "This assertion failed.", super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method bar() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_04_lib1.dart
index b8e8190..5ebb8ff 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 class Foo {
   const Foo(int i) : assert(i > 0);
 }
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04_lib2.dart b/pkg/front_end/testcases/general/error_locations/error_location_04_lib2.dart
index 5328be8..24de171 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04_lib2.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'error_location_04_lib1.dart';
 
 class Bar {
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart b/pkg/front_end/testcases/general/error_locations/error_location_05.dart
index 8296347..98a013d 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 library error_location_05;
 
 part 'error_location_05_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline.expect
index d3401d0..3097149 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 library error_location_05;
 
 part 'error_location_05_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline_modelled.expect
index d3401d0..3097149 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 library error_location_05;
 
 part 'error_location_05_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.expect
index c53238d..a94e266 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.expect
@@ -1,4 +1,4 @@
-library error_location_05;
+library error_location_05 /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.modular.expect
index c53238d..a94e266 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library error_location_05;
+library error_location_05 /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.outline.expect
index ee7a72e..208ada4 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library error_location_05;
+library error_location_05 /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.transformed.expect
index c53238d..a94e266 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library error_location_05;
+library error_location_05 /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_05_lib1.dart
index 2a27e0a..f896142 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 part of error_location_05;
 
 x1(z, {z}) {}
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart b/pkg/front_end/testcases/general/error_locations/error_location_06.dart
index 89e7501..b97ac23 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 library error_location_06;
 
 part 'error_location_06_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline.expect
index 89189db..3f290d4 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 library error_location_06;
 
 part 'error_location_06_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline_modelled.expect
index 89189db..3f290d4 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 library error_location_06;
 
 part 'error_location_06_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.expect
index de18361..92245b3 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.expect
@@ -1,4 +1,4 @@
-library error_location_06;
+library error_location_06 /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.modular.expect
index de18361..92245b3 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library error_location_06;
+library error_location_06 /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.outline.expect
index 6f0dc86..99cc45b 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library error_location_06;
+library error_location_06 /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.transformed.expect
index de18361..92245b3 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library error_location_06;
+library error_location_06 /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_06_lib1.dart
index 88d8d5d..47a8883 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // Lots of comment lines that pushes the length of this file beyond that of
 // error_location_06. This in turn causes the (first) 'z' in 'x2' to get an
 // offset that is larger than the largest valid offset in error_location_06.
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart b/pkg/front_end/testcases/general/error_recovery/annotations.dart
index de9241d..0356083 100644
--- a/pkg/front_end/testcases/general/error_recovery/annotations.dart
+++ b/pkg/front_end/testcases/general/error_recovery/annotations.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 const annotation = null;
 
 class Annotation {
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/annotations.dart.textual_outline.expect
index e3a2446..2894307 100644
--- a/pkg/front_end/testcases/general/error_recovery/annotations.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/annotations.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 const annotation = null;
 class Annotation {
   final String message;
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.expect
index c6d3c9f..fbb7111 100644
--- a/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,52 +14,22 @@
 import "dart:core" as core;
 
 class Annotation extends core::Object /*hasConstConstructor*/  {
-  final field core::String* message;
-  const constructor •(core::String* message) → self::Annotation*
+  final field core::String message;
+  const constructor •(core::String message) → self::Annotation
     : self::Annotation::message = message, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-class A<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::E*>*
+class A<E extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::A<self::A::E%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method m() → dynamic
-    return new self::A::•<self::C*>();
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+    return new self::A::•<self::C>();
 }
 static const field dynamic annotation = #C1;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.modular.expect
index c6d3c9f..fbb7111 100644
--- a/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,52 +14,22 @@
 import "dart:core" as core;
 
 class Annotation extends core::Object /*hasConstConstructor*/  {
-  final field core::String* message;
-  const constructor •(core::String* message) → self::Annotation*
+  final field core::String message;
+  const constructor •(core::String message) → self::Annotation
     : self::Annotation::message = message, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-class A<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::E*>*
+class A<E extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::A<self::A::E%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method m() → dynamic
-    return new self::A::•<self::C*>();
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+    return new self::A::•<self::C>();
 }
 static const field dynamic annotation = #C1;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.outline.expect
index c66c0f8..0177d58 100644
--- a/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,50 +14,20 @@
 import "dart:core" as core;
 
 class Annotation extends core::Object /*hasConstConstructor*/  {
-  final field core::String* message;
-  const constructor •(core::String* message) → self::Annotation*
+  final field core::String message;
+  const constructor •(core::String message) → self::Annotation
     : self::Annotation::message = message, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-class A<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::E*>*
+class A<E extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::A<self::A::E%>
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
   method m() → dynamic
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static const field dynamic annotation = null;
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.transformed.expect
index c6d3c9f..fbb7111 100644
--- a/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -14,52 +14,22 @@
 import "dart:core" as core;
 
 class Annotation extends core::Object /*hasConstConstructor*/  {
-  final field core::String* message;
-  const constructor •(core::String* message) → self::Annotation*
+  final field core::String message;
+  const constructor •(core::String message) → self::Annotation
     : self::Annotation::message = message, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
-class A<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::E*>*
+class A<E extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::A<self::A::E%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class C extends core::Object {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super core::Object::•()
     ;
   method m() → dynamic
-    return new self::A::•<self::C*>();
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+    return new self::A::•<self::C>();
 }
 static const field dynamic annotation = #C1;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart
index add537e..fb84c75 100644
--- a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart
+++ b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart
@@ -1,5 +1,5 @@
 Future<void> f() => Future.value();
-// @dart=2.9
+
 void g() {
   await f();
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart
index 9e6311e..5921c10 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart
@@ -1,4 +1,3 @@
-// @dart=2.9
 class Foo {
   get Foo() {
     // Not OK.
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.textual_outline.expect
index d6b8a46..2dd5d4c 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 class Foo {
   get Foo() {}
   get Foo() : initializer = true {}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.expect
index eea597e..8a94da4 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.expect
@@ -1,49 +1,49 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:10: Error: A getter can't have formal parameters.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:10: Error: A getter can't have formal parameters.
 // Try removing '(...)'.
 //   get Foo() {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:7: Error: A class member can't have the same name as the enclosing class.
 // Try renaming the member.
 //   get Foo() {
 //       ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:10: Error: A getter can't have formal parameters.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:10: Error: A getter can't have formal parameters.
 // Try removing '(...)'.
 //   get Foo() : initializer = true {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo.x() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo.x() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:7: Error: 'Foo.x' is already declared in this scope.
 //   get Foo.x() : initializer = true {
 //       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:7: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:7: Context: Previous declaration of 'Foo.x'.
 //   get Foo.x() {
 //       ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:15: Error: 'initializer' isn't an instance field of this class.
 //   get Foo() : initializer = true {
 //               ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:17: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:17: Error: 'initializer' isn't an instance field of this class.
 //   get Foo.x() : initializer = true {
 //                 ^^^^^^^^^^^
 //
@@ -51,21 +51,11 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+  constructor •() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:15: Error: 'initializer' isn't an instance field of this class.
   get Foo() : initializer = true {
               ^^^^^^^^^^^" {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
   get Foo() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.modular.expect
index eea597e..8a94da4 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.modular.expect
@@ -1,49 +1,49 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:10: Error: A getter can't have formal parameters.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:10: Error: A getter can't have formal parameters.
 // Try removing '(...)'.
 //   get Foo() {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:7: Error: A class member can't have the same name as the enclosing class.
 // Try renaming the member.
 //   get Foo() {
 //       ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:10: Error: A getter can't have formal parameters.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:10: Error: A getter can't have formal parameters.
 // Try removing '(...)'.
 //   get Foo() : initializer = true {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo.x() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo.x() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:7: Error: 'Foo.x' is already declared in this scope.
 //   get Foo.x() : initializer = true {
 //       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:7: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:7: Context: Previous declaration of 'Foo.x'.
 //   get Foo.x() {
 //       ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:15: Error: 'initializer' isn't an instance field of this class.
 //   get Foo() : initializer = true {
 //               ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:17: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:17: Error: 'initializer' isn't an instance field of this class.
 //   get Foo.x() : initializer = true {
 //                 ^^^^^^^^^^^
 //
@@ -51,21 +51,11 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+  constructor •() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:15: Error: 'initializer' isn't an instance field of this class.
   get Foo() : initializer = true {
               ^^^^^^^^^^^" {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
   get Foo() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.outline.expect
index 771ed79..41c3dd4 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.outline.expect
@@ -1,41 +1,41 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:10: Error: A getter can't have formal parameters.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:10: Error: A getter can't have formal parameters.
 // Try removing '(...)'.
 //   get Foo() {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:7: Error: A class member can't have the same name as the enclosing class.
 // Try renaming the member.
 //   get Foo() {
 //       ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:10: Error: A getter can't have formal parameters.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:10: Error: A getter can't have formal parameters.
 // Try removing '(...)'.
 //   get Foo() : initializer = true {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo.x() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo.x() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:7: Error: 'Foo.x' is already declared in this scope.
 //   get Foo.x() : initializer = true {
 //       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:7: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:7: Context: Previous declaration of 'Foo.x'.
 //   get Foo.x() {
 //       ^^^^^
 //
@@ -43,20 +43,10 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     ;
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     ;
   get Foo() → dynamic
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.transformed.expect
index eea597e..8a94da4 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.transformed.expect
@@ -1,49 +1,49 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:10: Error: A getter can't have formal parameters.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:10: Error: A getter can't have formal parameters.
 // Try removing '(...)'.
 //   get Foo() {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:7: Error: A class member can't have the same name as the enclosing class.
 // Try renaming the member.
 //   get Foo() {
 //       ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:10: Error: A getter can't have formal parameters.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:10: Error: A getter can't have formal parameters.
 // Try removing '(...)'.
 //   get Foo() : initializer = true {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo.x() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:3: Error: Constructors can't be a getter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:3: Error: Constructors can't be a getter.
 // Try removing 'get'.
 //   get Foo.x() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:7: Error: 'Foo.x' is already declared in this scope.
 //   get Foo.x() : initializer = true {
 //       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:7: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:7: Context: Previous declaration of 'Foo.x'.
 //   get Foo.x() {
 //       ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:15: Error: 'initializer' isn't an instance field of this class.
 //   get Foo() : initializer = true {
 //               ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:17: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:17: Error: 'initializer' isn't an instance field of this class.
 //   get Foo.x() : initializer = true {
 //                 ^^^^^^^^^^^
 //
@@ -51,21 +51,11 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+  constructor •() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:15: Error: 'initializer' isn't an instance field of this class.
   get Foo() : initializer = true {
               ^^^^^^^^^^^" {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
   get Foo() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart
index d865bc7..6a532a0 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart
@@ -1,4 +1,3 @@
-// @dart=2.9
 class Foo {
   Foo() {
     // OK.
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline.expect
index 63048301..2318374 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 class Foo {
   Foo() {}
   Foo() : initializer = true {}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline_modelled.expect
index 5bd409d..f87cd03 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 class Foo {
   Foo() : initializer = true {}
   Foo() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.expect
index 92284b0..1052c44 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.expect
@@ -1,26 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:3: Error: 'Foo' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:3: Error: 'Foo' is already declared in this scope.
 //   Foo() : initializer = true {
 //   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:3:3: Context: Previous declaration of 'Foo'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:2:3: Context: Previous declaration of 'Foo'.
 //   Foo() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:3: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:3: Error: 'Foo.x' is already declared in this scope.
 //   Foo.x() : initializer = true {
 //   ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:9:3: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:8:3: Context: Previous declaration of 'Foo.x'.
 //   Foo.x() {
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:11: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:11: Error: 'initializer' isn't an instance field of this class.
 //   Foo() : initializer = true {
 //           ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:13: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:13: Error: 'initializer' isn't an instance field of this class.
 //   Foo.x() : initializer = true {
 //             ^^^^^^^^^^^
 //
@@ -28,18 +28,8 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     : super core::Object::•() {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.modular.expect
index 92284b0..1052c44 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.modular.expect
@@ -1,26 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:3: Error: 'Foo' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:3: Error: 'Foo' is already declared in this scope.
 //   Foo() : initializer = true {
 //   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:3:3: Context: Previous declaration of 'Foo'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:2:3: Context: Previous declaration of 'Foo'.
 //   Foo() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:3: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:3: Error: 'Foo.x' is already declared in this scope.
 //   Foo.x() : initializer = true {
 //   ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:9:3: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:8:3: Context: Previous declaration of 'Foo.x'.
 //   Foo.x() {
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:11: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:11: Error: 'initializer' isn't an instance field of this class.
 //   Foo() : initializer = true {
 //           ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:13: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:13: Error: 'initializer' isn't an instance field of this class.
 //   Foo.x() : initializer = true {
 //             ^^^^^^^^^^^
 //
@@ -28,18 +28,8 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     : super core::Object::•() {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.outline.expect
index 8c35187..1df5521 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.outline.expect
@@ -1,18 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:3: Error: 'Foo' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:3: Error: 'Foo' is already declared in this scope.
 //   Foo() : initializer = true {
 //   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:3:3: Context: Previous declaration of 'Foo'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:2:3: Context: Previous declaration of 'Foo'.
 //   Foo() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:3: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:3: Error: 'Foo.x' is already declared in this scope.
 //   Foo.x() : initializer = true {
 //   ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:9:3: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:8:3: Context: Previous declaration of 'Foo.x'.
 //   Foo.x() {
 //   ^^^^^
 //
@@ -20,18 +20,8 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     ;
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.transformed.expect
index 92284b0..1052c44 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.transformed.expect
@@ -1,26 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:3: Error: 'Foo' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:3: Error: 'Foo' is already declared in this scope.
 //   Foo() : initializer = true {
 //   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:3:3: Context: Previous declaration of 'Foo'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:2:3: Context: Previous declaration of 'Foo'.
 //   Foo() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:3: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:3: Error: 'Foo.x' is already declared in this scope.
 //   Foo.x() : initializer = true {
 //   ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:9:3: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:8:3: Context: Previous declaration of 'Foo.x'.
 //   Foo.x() {
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:11: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:11: Error: 'initializer' isn't an instance field of this class.
 //   Foo() : initializer = true {
 //           ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:13: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:13: Error: 'initializer' isn't an instance field of this class.
 //   Foo.x() : initializer = true {
 //             ^^^^^^^^^^^
 //
@@ -28,18 +28,8 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     : super core::Object::•() {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart
index 404a33d..fd9a67c 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart
@@ -1,4 +1,3 @@
-// @dart=2.9
 class Foo {
   void Foo() {
     // Not OK.
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.textual_outline.expect
index 915667b..694a36de 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 class Foo {
   void Foo() {}
   void Foo() : initializer = true {}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.expect
index b038f45e2..4ccc13f 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.expect
@@ -1,46 +1,46 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo() {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo() : initializer = true {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:8: Error: 'Foo' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:8: Error: 'Foo' is already declared in this scope.
 //   void Foo() : initializer = true {
 //        ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:8: Context: Previous declaration of 'Foo'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:8: Context: Previous declaration of 'Foo'.
 //   void Foo() {
 //        ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo.x() {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo.x() : initializer = true {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:8: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:8: Error: 'Foo.x' is already declared in this scope.
 //   void Foo.x() : initializer = true {
 //        ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:8: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:8: Context: Previous declaration of 'Foo.x'.
 //   void Foo.x() {
 //        ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:16: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:16: Error: 'initializer' isn't an instance field of this class.
 //   void Foo() : initializer = true {
 //                ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:18: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:18: Error: 'initializer' isn't an instance field of this class.
 //   void Foo.x() : initializer = true {
 //                  ^^^^^^^^^^^
 //
@@ -48,18 +48,8 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     : super core::Object::•() {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.modular.expect
index b038f45e2..4ccc13f 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.modular.expect
@@ -1,46 +1,46 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo() {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo() : initializer = true {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:8: Error: 'Foo' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:8: Error: 'Foo' is already declared in this scope.
 //   void Foo() : initializer = true {
 //        ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:8: Context: Previous declaration of 'Foo'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:8: Context: Previous declaration of 'Foo'.
 //   void Foo() {
 //        ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo.x() {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo.x() : initializer = true {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:8: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:8: Error: 'Foo.x' is already declared in this scope.
 //   void Foo.x() : initializer = true {
 //        ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:8: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:8: Context: Previous declaration of 'Foo.x'.
 //   void Foo.x() {
 //        ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:16: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:16: Error: 'initializer' isn't an instance field of this class.
 //   void Foo() : initializer = true {
 //                ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:18: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:18: Error: 'initializer' isn't an instance field of this class.
 //   void Foo.x() : initializer = true {
 //                  ^^^^^^^^^^^
 //
@@ -48,18 +48,8 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     : super core::Object::•() {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.outline.expect
index ccf5064..f646a32 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.outline.expect
@@ -1,38 +1,38 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo() {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo() : initializer = true {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:8: Error: 'Foo' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:8: Error: 'Foo' is already declared in this scope.
 //   void Foo() : initializer = true {
 //        ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:8: Context: Previous declaration of 'Foo'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:8: Context: Previous declaration of 'Foo'.
 //   void Foo() {
 //        ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo.x() {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo.x() : initializer = true {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:8: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:8: Error: 'Foo.x' is already declared in this scope.
 //   void Foo.x() : initializer = true {
 //        ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:8: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:8: Context: Previous declaration of 'Foo.x'.
 //   void Foo.x() {
 //        ^^^^^
 //
@@ -40,18 +40,8 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     ;
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.transformed.expect
index b038f45e2..4ccc13f 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.transformed.expect
@@ -1,46 +1,46 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo() {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo() : initializer = true {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:8: Error: 'Foo' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:8: Error: 'Foo' is already declared in this scope.
 //   void Foo() : initializer = true {
 //        ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:8: Context: Previous declaration of 'Foo'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:8: Context: Previous declaration of 'Foo'.
 //   void Foo() {
 //        ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo.x() {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:3: Error: Constructors can't have a return type.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:3: Error: Constructors can't have a return type.
 // Try removing the return type.
 //   void Foo.x() : initializer = true {
 //   ^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:8: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:8: Error: 'Foo.x' is already declared in this scope.
 //   void Foo.x() : initializer = true {
 //        ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:8: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:8: Context: Previous declaration of 'Foo.x'.
 //   void Foo.x() {
 //        ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:16: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:16: Error: 'initializer' isn't an instance field of this class.
 //   void Foo() : initializer = true {
 //                ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:18: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:18: Error: 'initializer' isn't an instance field of this class.
 //   void Foo.x() : initializer = true {
 //                  ^^^^^^^^^^^
 //
@@ -48,18 +48,8 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     : super core::Object::•() {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart
index 9ca2f40..6f5b73e 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart
@@ -1,4 +1,3 @@
-// @dart=2.9
 class Foo {
   set Foo() {
     // Not OK.
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.textual_outline.expect
index 6ded932..2548477 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 class Foo {
   set Foo() {}
   set Foo() : initializer = true {}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.expect
index b3eba22..90fd787 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.expect
@@ -1,43 +1,43 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:7: Error: A class member can't have the same name as the enclosing class.
 // Try renaming the member.
 //   set Foo() {
 //       ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo.x() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo.x() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:7: Error: 'Foo.x' is already declared in this scope.
 //   set Foo.x() : initializer = true {
 //       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:7: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:7: Context: Previous declaration of 'Foo.x'.
 //   set Foo.x() {
 //       ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:10: Error: A setter should have exactly one formal parameter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:10: Error: A setter should have exactly one formal parameter.
 //   set Foo() {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:15: Error: 'initializer' isn't an instance field of this class.
 //   set Foo() : initializer = true {
 //               ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:17: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:17: Error: 'initializer' isn't an instance field of this class.
 //   set Foo.x() : initializer = true {
 //                 ^^^^^^^^^^^
 //
@@ -45,26 +45,16 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+  constructor •() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:15: Error: 'initializer' isn't an instance field of this class.
   set Foo() : initializer = true {
               ^^^^^^^^^^^" {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
   set Foo(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:10: Error: A setter should have exactly one formal parameter.
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:10: Error: A setter should have exactly one formal parameter.
   set Foo() {
          ^";
     {}
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.modular.expect
index b3eba22..90fd787 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.modular.expect
@@ -1,43 +1,43 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:7: Error: A class member can't have the same name as the enclosing class.
 // Try renaming the member.
 //   set Foo() {
 //       ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo.x() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo.x() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:7: Error: 'Foo.x' is already declared in this scope.
 //   set Foo.x() : initializer = true {
 //       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:7: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:7: Context: Previous declaration of 'Foo.x'.
 //   set Foo.x() {
 //       ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:10: Error: A setter should have exactly one formal parameter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:10: Error: A setter should have exactly one formal parameter.
 //   set Foo() {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:15: Error: 'initializer' isn't an instance field of this class.
 //   set Foo() : initializer = true {
 //               ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:17: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:17: Error: 'initializer' isn't an instance field of this class.
 //   set Foo.x() : initializer = true {
 //                 ^^^^^^^^^^^
 //
@@ -45,26 +45,16 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+  constructor •() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:15: Error: 'initializer' isn't an instance field of this class.
   set Foo() : initializer = true {
               ^^^^^^^^^^^" {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
   set Foo(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:10: Error: A setter should have exactly one formal parameter.
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:10: Error: A setter should have exactly one formal parameter.
   set Foo() {
          ^";
     {}
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.outline.expect
index d80e16c..b130d84 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.outline.expect
@@ -1,31 +1,31 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:7: Error: A class member can't have the same name as the enclosing class.
 // Try renaming the member.
 //   set Foo() {
 //       ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo.x() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo.x() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:7: Error: 'Foo.x' is already declared in this scope.
 //   set Foo.x() : initializer = true {
 //       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:7: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:7: Context: Previous declaration of 'Foo.x'.
 //   set Foo.x() {
 //       ^^^^^
 //
@@ -33,20 +33,10 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
+  constructor •() → self::Foo
     ;
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     ;
   set Foo(dynamic #synthetic) → void
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.transformed.expect
index b3eba22..90fd787 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.transformed.expect
@@ -1,43 +1,43 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:7: Error: A class member can't have the same name as the enclosing class.
 // Try renaming the member.
 //   set Foo() {
 //       ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo.x() {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:3: Error: Constructors can't be a setter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:3: Error: Constructors can't be a setter.
 // Try removing 'set'.
 //   set Foo.x() : initializer = true {
 //   ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:7: Error: 'Foo.x' is already declared in this scope.
 //   set Foo.x() : initializer = true {
 //       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:7: Context: Previous declaration of 'Foo.x'.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:7: Context: Previous declaration of 'Foo.x'.
 //   set Foo.x() {
 //       ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:10: Error: A setter should have exactly one formal parameter.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:10: Error: A setter should have exactly one formal parameter.
 //   set Foo() {
 //          ^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:15: Error: 'initializer' isn't an instance field of this class.
 //   set Foo() : initializer = true {
 //               ^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:17: Error: 'initializer' isn't an instance field of this class.
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:17: Error: 'initializer' isn't an instance field of this class.
 //   set Foo.x() : initializer = true {
 //                 ^^^^^^^^^^^
 //
@@ -45,26 +45,16 @@
 import "dart:core" as core;
 
 class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+  constructor •() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:15: Error: 'initializer' isn't an instance field of this class.
   set Foo() : initializer = true {
               ^^^^^^^^^^^" {}
-  constructor x() → self::Foo*
+  constructor x() → self::Foo
     : super core::Object::•() {}
   set Foo(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:10: Error: A setter should have exactly one formal parameter.
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:10: Error: A setter should have exactly one formal parameter.
   set Foo() {
          ^";
     {}
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart
index b292be3..19771e9 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart
@@ -1,4 +1,3 @@
-// @dart=2.9
 main() async {
   await for () {}
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline.expect
index ff8d120..386f405 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 main() async {}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline_modelled.expect
index ff8d120..386f405 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 main() async {}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.expect
index ef2f7e9..7c506e3 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.expect
@@ -1,23 +1,23 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: Expected an identifier, but got ')'.
+// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: Expected an identifier, but got ')'.
 // Try inserting an identifier before ')'.
 //   await for () {}
 //              ^
 //
-// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: Expected 'in' before this.
+// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: Expected 'in' before this.
 //   await for () {}
 //              ^
 //
 import self as self;
 
 static method main() → dynamic async {
-  await for (final dynamic #t1 in invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
+  await for (final dynamic #t1 in invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: This couldn't be parsed.
   await for () {}
              ^") {
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: This couldn't be parsed.
   await for () {}
              ^";
   }
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.modular.expect
index ef2f7e9..7c506e3 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.modular.expect
@@ -1,23 +1,23 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: Expected an identifier, but got ')'.
+// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: Expected an identifier, but got ')'.
 // Try inserting an identifier before ')'.
 //   await for () {}
 //              ^
 //
-// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: Expected 'in' before this.
+// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: Expected 'in' before this.
 //   await for () {}
 //              ^
 //
 import self as self;
 
 static method main() → dynamic async {
-  await for (final dynamic #t1 in invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
+  await for (final dynamic #t1 in invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: This couldn't be parsed.
   await for () {}
              ^") {
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: This couldn't be parsed.
   await for () {}
              ^";
   }
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.outline.expect
index b3304ef..074fe5d 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic async 
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
index e4e75cc..2ee9b69 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
@@ -1,13 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: Expected an identifier, but got ')'.
+// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: Expected an identifier, but got ')'.
 // Try inserting an identifier before ')'.
 //   await for () {}
 //              ^
 //
-// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: Expected 'in' before this.
+// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: Expected 'in' before this.
 //   await for () {}
 //              ^
 //
@@ -17,12 +17,12 @@
 import "dart:_internal" as _in;
 
 static method main() → dynamic /* originally async */ {
-  final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+  final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
   core::bool* :is_sync = false;
   dynamic :return_value;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :await_jump_var = 0;
+  (dynamic) → dynamic :async_op_then;
+  (core::Object, core::StackTrace) → dynamic :async_op_error;
+  core::int :await_jump_var = 0;
   dynamic :await_ctx_var;
   dynamic :saved_try_context_var0;
   dynamic :saved_try_context_var1;
@@ -33,10 +33,10 @@
       #L1:
       {
         {
-          Never :stream = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
+          Never :stream = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: This couldn't be parsed.
   await for () {}
              ^";
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
+          asy::_StreamIterator<dynamic>? :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
           try
             #L2:
             while (true) {
@@ -45,7 +45,7 @@
               if(_in::unsafeCast<core::bool>(:result_or_exception)) {
                 final dynamic #t3 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
                 {
-                  invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
+                  invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: This couldn't be parsed.
   await for () {}
              ^";
                 }
@@ -63,12 +63,12 @@
       asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
       return;
     }
-    on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+    on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
       asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
     }
   :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
   :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_op(null, null){() →* dynamic};
+  :async_op(null, null){() → dynamic};
   :is_sync = true;
   return :async_future;
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart b/pkg/front_end/testcases/general/error_recovery/empty_for.dart
index 63f5b79..3c33ee5 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart
@@ -1,4 +1,3 @@
-// @dart=2.9
 main() {
   for () {}
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline_modelled.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.expect
index 35aa6ca..2205f09 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.expect
@@ -1,22 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: Expected an identifier, but got ')'.
+// pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: Expected an identifier, but got ')'.
 // Try inserting an identifier before ')'.
 //   for () {}
 //        ^
 //
-// pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:7: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:7: Error: Expected ';' after this.
 //   for () {}
 //       ^
 //
 import self as self;
 
 static method main() → dynamic {
-  for (final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: This couldn't be parsed.
+  for (final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: This couldn't be parsed.
   for () {}
-       ^"; invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: This couldn't be parsed.
+       ^"; invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: This couldn't be parsed.
   for () {}
        ^"; ) {
   }
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.modular.expect
index 35aa6ca..2205f09 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.modular.expect
@@ -1,22 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: Expected an identifier, but got ')'.
+// pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: Expected an identifier, but got ')'.
 // Try inserting an identifier before ')'.
 //   for () {}
 //        ^
 //
-// pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:7: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:7: Error: Expected ';' after this.
 //   for () {}
 //       ^
 //
 import self as self;
 
 static method main() → dynamic {
-  for (final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: This couldn't be parsed.
+  for (final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: This couldn't be parsed.
   for () {}
-       ^"; invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: This couldn't be parsed.
+       ^"; invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: This couldn't be parsed.
   for () {}
        ^"; ) {
   }
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.transformed.expect
index 35aa6ca..2205f09 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.transformed.expect
@@ -1,22 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: Expected an identifier, but got ')'.
+// pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: Expected an identifier, but got ')'.
 // Try inserting an identifier before ')'.
 //   for () {}
 //        ^
 //
-// pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:7: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:7: Error: Expected ';' after this.
 //   for () {}
 //       ^
 //
 import self as self;
 
 static method main() → dynamic {
-  for (final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: This couldn't be parsed.
+  for (final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: This couldn't be parsed.
   for () {}
-       ^"; invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: This couldn't be parsed.
+       ^"; invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: This couldn't be parsed.
   for () {}
        ^"; ) {
   }
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart
index 0e1486c..41b92d1 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 main() {
   for(int i : [1, 2, 3]) {
     print(i);
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline_modelled.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.expect
index 9124332..5635481 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,7 +11,7 @@
 import "dart:core" as core;
 
 static method main() → dynamic {
-  for (core::int* i in <core::int*>[1, 2, 3]) {
+  for (core::int i in <core::int>[1, 2, 3]) {
     core::print(i);
   }
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.modular.expect
index 9124332..5635481 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -11,7 +11,7 @@
 import "dart:core" as core;
 
 static method main() → dynamic {
-  for (core::int* i in <core::int*>[1, 2, 3]) {
+  for (core::int i in <core::int>[1, 2, 3]) {
     core::print(i);
   }
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.transformed.expect
index 32ce646..ed61129 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -12,9 +12,9 @@
 
 static method main() → dynamic {
   {
-    core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+    core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal3<core::int>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
+      core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
       {
         core::print(i);
       }
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart
index 3aabb26..c1b9282 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart
@@ -1,5 +1,5 @@
 class A { }
-// @dart=2.9
+
 class B { }
 
 class Foo extends A, B {
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart
index 3946f39..ed07e7e 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 abstract class Key {
   int get a => runtimeType.hashCode xor null.hashCode;
   int get b => runtimeType.hashCode ^ null.hashCode;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline.expect
index e659d27..7cc788c 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 abstract class Key {
   int get a => runtimeType.hashCode ^ null.hashCode;
   int get b => runtimeType.hashCode ^ null.hashCode;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline_modelled.expect
index 1d34e89..25de27c7 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 abstract class Key {
   Key(int x, int y)
       : foo = x ^ y,
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.expect
index fa47aba..1b13053 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -76,77 +76,67 @@
 import "dart:core" as core;
 
 abstract class Key extends core::Object {
-  field core::int* foo;
-  field core::int* bar;
-  constructor •(core::int* x, core::int* y) → self::Key*
-    : self::Key::foo = x.{core::int::^}(y){(core::int*) →* core::int*}, self::Key::bar = x.{core::int::^}(y){(core::int*) →* core::int*}, super core::Object::•() {
-    core::print("hello ${x.{core::int::^}(y){(core::int*) →* core::int*}}");
+  field core::int foo;
+  field core::int bar;
+  constructor •(core::int x, core::int y) → self::Key
+    : self::Key::foo = x.{core::int::^}(y){(core::int) → core::int}, self::Key::bar = x.{core::int::^}(y){(core::int) → core::int}, super core::Object::•() {
+    core::print("hello ${x.{core::int::^}(y){(core::int) → core::int}}");
   }
-  constructor NotDuplicate(core::int* x, core::int* y) → self::Key*
-    : self::Key::foo = x.{core::int::^}(y){(core::int*) →* core::int*}, self::Key::bar = x.{core::int::^}(y){(core::int*) →* core::int*}, super core::Object::•() {
-    core::print("hello ${x.{core::int::^}(y){(core::int*) →* core::int*}}");
+  constructor NotDuplicate(core::int x, core::int y) → self::Key
+    : self::Key::foo = x.{core::int::^}(y){(core::int) → core::int}, self::Key::bar = x.{core::int::^}(y){(core::int) → core::int}, super core::Object::•() {
+    core::print("hello ${x.{core::int::^}(y){(core::int) → core::int}}");
   }
-  get a() → core::int*
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
-  get b() → core::int*
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
-  get c() → core::int* {
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
+  get a() → core::int
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
+  get b() → core::int
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
+  get c() → core::int {
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
   }
-  get d() → core::int* {
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
+  get d() → core::int {
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
   }
-  get e() → core::int*
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  get f() → core::int*
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  get g() → core::int* {
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  get e() → core::int
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  get f() → core::int
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  get g() → core::int {
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  get h() → core::int* {
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  get h() → core::int {
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  method i(core::int* x, core::int* y) → core::int*
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
-  method j(core::int* x, core::int* y) → core::int*
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
-  method k(core::int* x, core::int* y) → core::int* {
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
+  method i(core::int x, core::int y) → core::int
+    return x.{core::int::^}(y){(core::int) → core::int};
+  method j(core::int x, core::int y) → core::int
+    return x.{core::int::^}(y){(core::int) → core::int};
+  method k(core::int x, core::int y) → core::int {
+    return x.{core::int::^}(y){(core::int) → core::int};
   }
-  method l(core::int* x, core::int* y) → core::int* {
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
+  method l(core::int x, core::int y) → core::int {
+    return x.{core::int::^}(y){(core::int) → core::int};
   }
-  method m(core::int* x, core::int* y) → core::int* {
-    core::int* z = x.{core::int::^}(y){(core::int*) →* core::int*};
+  method m(core::int x, core::int y) → core::int {
+    core::int z = x.{core::int::^}(y){(core::int) → core::int};
     return z;
   }
-  method n(core::int* x, core::int* y) → core::int* {
-    core::int* z = x.{core::int::^}(y){(core::int*) →* core::int*};
+  method n(core::int x, core::int y) → core::int {
+    core::int z = x.{core::int::^}(y){(core::int) → core::int};
     return z;
   }
-  method o(core::int* x, core::int* y) → core::int*
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  method p(core::int* x, core::int* y) → core::int*
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  method q(core::int* x, core::int* y) → core::int* {
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  method o(core::int x, core::int y) → core::int
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  method p(core::int x, core::int y) → core::int
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  method q(core::int x, core::int y) → core::int {
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  method r(core::int* x, core::int* y) → core::int* {
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  method r(core::int x, core::int y) → core::int {
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  method s(core::int* x, core::int* y) → dynamic {
-    this.{self::Key::s}(x.{core::int::^}(y){(core::int*) →* core::int*}, x.{core::int::^}(y){(core::int*) →* core::int*}){(core::int*, core::int*) →* dynamic};
-    this.{self::Key::s}(x.{core::int::^}(y){(core::int*) →* core::int*}, x.{core::int::^}(y){(core::int*) →* core::int*}){(core::int*, core::int*) →* dynamic};
+  method s(core::int x, core::int y) → dynamic {
+    this.{self::Key::s}(x.{core::int::^}(y){(core::int) → core::int}, x.{core::int::^}(y){(core::int) → core::int}){(core::int, core::int) → dynamic};
+    this.{self::Key::s}(x.{core::int::^}(y){(core::int) → core::int}, x.{core::int::^}(y){(core::int) → core::int}){(core::int, core::int) → dynamic};
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.modular.expect
index fa47aba..1b13053 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -76,77 +76,67 @@
 import "dart:core" as core;
 
 abstract class Key extends core::Object {
-  field core::int* foo;
-  field core::int* bar;
-  constructor •(core::int* x, core::int* y) → self::Key*
-    : self::Key::foo = x.{core::int::^}(y){(core::int*) →* core::int*}, self::Key::bar = x.{core::int::^}(y){(core::int*) →* core::int*}, super core::Object::•() {
-    core::print("hello ${x.{core::int::^}(y){(core::int*) →* core::int*}}");
+  field core::int foo;
+  field core::int bar;
+  constructor •(core::int x, core::int y) → self::Key
+    : self::Key::foo = x.{core::int::^}(y){(core::int) → core::int}, self::Key::bar = x.{core::int::^}(y){(core::int) → core::int}, super core::Object::•() {
+    core::print("hello ${x.{core::int::^}(y){(core::int) → core::int}}");
   }
-  constructor NotDuplicate(core::int* x, core::int* y) → self::Key*
-    : self::Key::foo = x.{core::int::^}(y){(core::int*) →* core::int*}, self::Key::bar = x.{core::int::^}(y){(core::int*) →* core::int*}, super core::Object::•() {
-    core::print("hello ${x.{core::int::^}(y){(core::int*) →* core::int*}}");
+  constructor NotDuplicate(core::int x, core::int y) → self::Key
+    : self::Key::foo = x.{core::int::^}(y){(core::int) → core::int}, self::Key::bar = x.{core::int::^}(y){(core::int) → core::int}, super core::Object::•() {
+    core::print("hello ${x.{core::int::^}(y){(core::int) → core::int}}");
   }
-  get a() → core::int*
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
-  get b() → core::int*
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
-  get c() → core::int* {
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
+  get a() → core::int
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
+  get b() → core::int
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
+  get c() → core::int {
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
   }
-  get d() → core::int* {
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
+  get d() → core::int {
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
   }
-  get e() → core::int*
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  get f() → core::int*
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  get g() → core::int* {
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  get e() → core::int
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  get f() → core::int
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  get g() → core::int {
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  get h() → core::int* {
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  get h() → core::int {
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  method i(core::int* x, core::int* y) → core::int*
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
-  method j(core::int* x, core::int* y) → core::int*
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
-  method k(core::int* x, core::int* y) → core::int* {
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
+  method i(core::int x, core::int y) → core::int
+    return x.{core::int::^}(y){(core::int) → core::int};
+  method j(core::int x, core::int y) → core::int
+    return x.{core::int::^}(y){(core::int) → core::int};
+  method k(core::int x, core::int y) → core::int {
+    return x.{core::int::^}(y){(core::int) → core::int};
   }
-  method l(core::int* x, core::int* y) → core::int* {
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
+  method l(core::int x, core::int y) → core::int {
+    return x.{core::int::^}(y){(core::int) → core::int};
   }
-  method m(core::int* x, core::int* y) → core::int* {
-    core::int* z = x.{core::int::^}(y){(core::int*) →* core::int*};
+  method m(core::int x, core::int y) → core::int {
+    core::int z = x.{core::int::^}(y){(core::int) → core::int};
     return z;
   }
-  method n(core::int* x, core::int* y) → core::int* {
-    core::int* z = x.{core::int::^}(y){(core::int*) →* core::int*};
+  method n(core::int x, core::int y) → core::int {
+    core::int z = x.{core::int::^}(y){(core::int) → core::int};
     return z;
   }
-  method o(core::int* x, core::int* y) → core::int*
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  method p(core::int* x, core::int* y) → core::int*
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  method q(core::int* x, core::int* y) → core::int* {
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  method o(core::int x, core::int y) → core::int
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  method p(core::int x, core::int y) → core::int
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  method q(core::int x, core::int y) → core::int {
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  method r(core::int* x, core::int* y) → core::int* {
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  method r(core::int x, core::int y) → core::int {
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  method s(core::int* x, core::int* y) → dynamic {
-    this.{self::Key::s}(x.{core::int::^}(y){(core::int*) →* core::int*}, x.{core::int::^}(y){(core::int*) →* core::int*}){(core::int*, core::int*) →* dynamic};
-    this.{self::Key::s}(x.{core::int::^}(y){(core::int*) →* core::int*}, x.{core::int::^}(y){(core::int*) →* core::int*}){(core::int*, core::int*) →* dynamic};
+  method s(core::int x, core::int y) → dynamic {
+    this.{self::Key::s}(x.{core::int::^}(y){(core::int) → core::int}, x.{core::int::^}(y){(core::int) → core::int}){(core::int, core::int) → dynamic};
+    this.{self::Key::s}(x.{core::int::^}(y){(core::int) → core::int}, x.{core::int::^}(y){(core::int) → core::int}){(core::int, core::int) → dynamic};
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.outline.expect
index 3e4746b..803bce2 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -36,60 +36,50 @@
 import "dart:core" as core;
 
 abstract class Key extends core::Object {
-  field core::int* foo;
-  field core::int* bar;
-  constructor •(core::int* x, core::int* y) → self::Key*
+  field core::int foo;
+  field core::int bar;
+  constructor •(core::int x, core::int y) → self::Key
     ;
-  constructor NotDuplicate(core::int* x, core::int* y) → self::Key*
+  constructor NotDuplicate(core::int x, core::int y) → self::Key
     ;
-  get a() → core::int*
+  get a() → core::int
     ;
-  get b() → core::int*
+  get b() → core::int
     ;
-  get c() → core::int*
+  get c() → core::int
     ;
-  get d() → core::int*
+  get d() → core::int
     ;
-  get e() → core::int*
+  get e() → core::int
     ;
-  get f() → core::int*
+  get f() → core::int
     ;
-  get g() → core::int*
+  get g() → core::int
     ;
-  get h() → core::int*
+  get h() → core::int
     ;
-  method i(core::int* x, core::int* y) → core::int*
+  method i(core::int x, core::int y) → core::int
     ;
-  method j(core::int* x, core::int* y) → core::int*
+  method j(core::int x, core::int y) → core::int
     ;
-  method k(core::int* x, core::int* y) → core::int*
+  method k(core::int x, core::int y) → core::int
     ;
-  method l(core::int* x, core::int* y) → core::int*
+  method l(core::int x, core::int y) → core::int
     ;
-  method m(core::int* x, core::int* y) → core::int*
+  method m(core::int x, core::int y) → core::int
     ;
-  method n(core::int* x, core::int* y) → core::int*
+  method n(core::int x, core::int y) → core::int
     ;
-  method o(core::int* x, core::int* y) → core::int*
+  method o(core::int x, core::int y) → core::int
     ;
-  method p(core::int* x, core::int* y) → core::int*
+  method p(core::int x, core::int y) → core::int
     ;
-  method q(core::int* x, core::int* y) → core::int*
+  method q(core::int x, core::int y) → core::int
     ;
-  method r(core::int* x, core::int* y) → core::int*
+  method r(core::int x, core::int y) → core::int
     ;
-  method s(core::int* x, core::int* y) → dynamic
+  method s(core::int x, core::int y) → dynamic
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.transformed.expect
index fa47aba..1b13053 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -76,77 +76,67 @@
 import "dart:core" as core;
 
 abstract class Key extends core::Object {
-  field core::int* foo;
-  field core::int* bar;
-  constructor •(core::int* x, core::int* y) → self::Key*
-    : self::Key::foo = x.{core::int::^}(y){(core::int*) →* core::int*}, self::Key::bar = x.{core::int::^}(y){(core::int*) →* core::int*}, super core::Object::•() {
-    core::print("hello ${x.{core::int::^}(y){(core::int*) →* core::int*}}");
+  field core::int foo;
+  field core::int bar;
+  constructor •(core::int x, core::int y) → self::Key
+    : self::Key::foo = x.{core::int::^}(y){(core::int) → core::int}, self::Key::bar = x.{core::int::^}(y){(core::int) → core::int}, super core::Object::•() {
+    core::print("hello ${x.{core::int::^}(y){(core::int) → core::int}}");
   }
-  constructor NotDuplicate(core::int* x, core::int* y) → self::Key*
-    : self::Key::foo = x.{core::int::^}(y){(core::int*) →* core::int*}, self::Key::bar = x.{core::int::^}(y){(core::int*) →* core::int*}, super core::Object::•() {
-    core::print("hello ${x.{core::int::^}(y){(core::int*) →* core::int*}}");
+  constructor NotDuplicate(core::int x, core::int y) → self::Key
+    : self::Key::foo = x.{core::int::^}(y){(core::int) → core::int}, self::Key::bar = x.{core::int::^}(y){(core::int) → core::int}, super core::Object::•() {
+    core::print("hello ${x.{core::int::^}(y){(core::int) → core::int}}");
   }
-  get a() → core::int*
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
-  get b() → core::int*
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
-  get c() → core::int* {
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
+  get a() → core::int
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
+  get b() → core::int
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
+  get c() → core::int {
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
   }
-  get d() → core::int* {
-    return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
+  get d() → core::int {
+    return this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}){(core::int) → core::int};
   }
-  get e() → core::int*
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  get f() → core::int*
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  get g() → core::int* {
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  get e() → core::int
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  get f() → core::int
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  get g() → core::int {
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  get h() → core::int* {
-    return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  get h() → core::int {
+    return 1.{core::num::+}(this.{core::Object::runtimeType}{core::Type}.{core::Type::hashCode}{core::int}){(core::num) → core::int}.{core::int::^}(null.{core::Object::hashCode}{core::int}.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  method i(core::int* x, core::int* y) → core::int*
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
-  method j(core::int* x, core::int* y) → core::int*
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
-  method k(core::int* x, core::int* y) → core::int* {
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
+  method i(core::int x, core::int y) → core::int
+    return x.{core::int::^}(y){(core::int) → core::int};
+  method j(core::int x, core::int y) → core::int
+    return x.{core::int::^}(y){(core::int) → core::int};
+  method k(core::int x, core::int y) → core::int {
+    return x.{core::int::^}(y){(core::int) → core::int};
   }
-  method l(core::int* x, core::int* y) → core::int* {
-    return x.{core::int::^}(y){(core::int*) →* core::int*};
+  method l(core::int x, core::int y) → core::int {
+    return x.{core::int::^}(y){(core::int) → core::int};
   }
-  method m(core::int* x, core::int* y) → core::int* {
-    core::int* z = x.{core::int::^}(y){(core::int*) →* core::int*};
+  method m(core::int x, core::int y) → core::int {
+    core::int z = x.{core::int::^}(y){(core::int) → core::int};
     return z;
   }
-  method n(core::int* x, core::int* y) → core::int* {
-    core::int* z = x.{core::int::^}(y){(core::int*) →* core::int*};
+  method n(core::int x, core::int y) → core::int {
+    core::int z = x.{core::int::^}(y){(core::int) → core::int};
     return z;
   }
-  method o(core::int* x, core::int* y) → core::int*
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  method p(core::int* x, core::int* y) → core::int*
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
-  method q(core::int* x, core::int* y) → core::int* {
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  method o(core::int x, core::int y) → core::int
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  method p(core::int x, core::int y) → core::int
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
+  method q(core::int x, core::int y) → core::int {
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  method r(core::int* x, core::int* y) → core::int* {
-    return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
+  method r(core::int x, core::int y) → core::int {
+    return 1.{core::num::+}(x){(core::num) → core::int}.{core::int::^}(y.{core::num::+}(3){(core::num) → core::int}){(core::int) → core::int};
   }
-  method s(core::int* x, core::int* y) → dynamic {
-    this.{self::Key::s}(x.{core::int::^}(y){(core::int*) →* core::int*}, x.{core::int::^}(y){(core::int*) →* core::int*}){(core::int*, core::int*) →* dynamic};
-    this.{self::Key::s}(x.{core::int::^}(y){(core::int*) →* core::int*}, x.{core::int::^}(y){(core::int*) →* core::int*}){(core::int*, core::int*) →* dynamic};
+  method s(core::int x, core::int y) → dynamic {
+    this.{self::Key::s}(x.{core::int::^}(y){(core::int) → core::int}, x.{core::int::^}(y){(core::int) → core::int}){(core::int, core::int) → dynamic};
+    this.{self::Key::s}(x.{core::int::^}(y){(core::int) → core::int}, x.{core::int::^}(y){(core::int) → core::int}){(core::int, core::int) → dynamic};
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart
index 0c2621f..b8fb0cdb 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart
@@ -1,4 +1,3 @@
-// @dart=2.9
 main() {
   {s A<}>
 }
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline_modelled.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect
index 2504ef6..04a457a 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect
@@ -1,28 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:4: Error: 's' isn't a type.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:4: Error: 's' isn't a type.
 //   {s A<}>
 //    ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:6: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:6: Error: Expected ';' after this.
 //   {s A<}>
 //      ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:8: Error: Expected a type, but got '}'.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:8: Error: Expected a type, but got '}'.
 //   {s A<}>
 //        ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:8: Error: This couldn't be parsed.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:8: Error: This couldn't be parsed.
 //   {s A<}>
 //        ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:4:1: Error: Expected '[' before this.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:1: Error: Expected '[' before this.
 // }
 // ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:9: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:9: Error: Expected ';' after this.
 //   {s A<}>
 //         ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.modular.expect
index 2504ef6..04a457a 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.modular.expect
@@ -1,28 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:4: Error: 's' isn't a type.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:4: Error: 's' isn't a type.
 //   {s A<}>
 //    ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:6: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:6: Error: Expected ';' after this.
 //   {s A<}>
 //      ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:8: Error: Expected a type, but got '}'.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:8: Error: Expected a type, but got '}'.
 //   {s A<}>
 //        ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:8: Error: This couldn't be parsed.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:8: Error: This couldn't be parsed.
 //   {s A<}>
 //        ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:4:1: Error: Expected '[' before this.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:1: Error: Expected '[' before this.
 // }
 // ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:9: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:9: Error: Expected ';' after this.
 //   {s A<}>
 //         ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect
index 3684ba3..ed12cce 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect
@@ -1,28 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:4: Error: 's' isn't a type.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:4: Error: 's' isn't a type.
 //   {s A<}>
 //    ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:6: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:6: Error: Expected ';' after this.
 //   {s A<}>
 //      ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:8: Error: Expected a type, but got '}'.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:8: Error: Expected a type, but got '}'.
 //   {s A<}>
 //        ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:8: Error: This couldn't be parsed.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:8: Error: This couldn't be parsed.
 //   {s A<}>
 //        ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:4:1: Error: Expected '[' before this.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:1: Error: Expected '[' before this.
 // }
 // ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:9: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:9: Error: Expected ';' after this.
 //   {s A<}>
 //         ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart
index 10c2996..8bde84a 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart
@@ -1,2 +1 @@
-// @dart=2.9
 void<int> f() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.textual_outline.expect
index a076dc6..b747ed5 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 void<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.expect
index 0b3c58e..aa7b23d 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:2:5: Error: Type 'void' can't have type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:1:5: Error: Type 'void' can't have type arguments.
 // Try removing the type arguments.
 // void<int> f() {}
 //     ^
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.modular.expect
index 0b3c58e..aa7b23d 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.modular.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:2:5: Error: Type 'void' can't have type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:1:5: Error: Type 'void' can't have type arguments.
 // Try removing the type arguments.
 // void<int> f() {}
 //     ^
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.outline.expect
index 0a83309..559fd9d 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.outline.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:2:5: Error: Type 'void' can't have type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:1:5: Error: Type 'void' can't have type arguments.
 // Try removing the type arguments.
 // void<int> f() {}
 //     ^
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.transformed.expect
index 0b3c58e..aa7b23d 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.transformed.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:2:5: Error: Type 'void' can't have type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:1:5: Error: Type 'void' can't have type arguments.
 // Try removing the type arguments.
 // void<int> f() {}
 //     ^
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart
index b8175f8..58b5740 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart
@@ -1,2 +1 @@
-// @dart=2.9
 dynamic<int> f() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline.expect
index c662bd8..f03cd81 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 dynamic<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline_modelled.expect
index c662bd8..f03cd81 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 dynamic<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.expect
index f4c6611..25b9642 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:1:1: Error: Expected 0 type arguments.
 // dynamic<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.modular.expect
index f4c6611..25b9642 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.modular.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:1:1: Error: Expected 0 type arguments.
 // dynamic<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.outline.expect
index fe7f977..a025710 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.outline.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:1:1: Error: Expected 0 type arguments.
 // dynamic<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.transformed.expect
index f4c6611..25b9642 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.transformed.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:1:1: Error: Expected 0 type arguments.
 // dynamic<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart
index 5fd90be..1a13723 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart
@@ -1,2 +1 @@
-// @dart=2.9
 int<int> f() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline.expect
index c0ee669..26e95ee 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 int<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline_modelled.expect
index c0ee669..26e95ee 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 int<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.expect
index 46d364b..4340016 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:1:1: Error: Expected 0 type arguments.
 // int<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.modular.expect
index 46d364b..4340016 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.modular.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:1:1: Error: Expected 0 type arguments.
 // int<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.outline.expect
index 1c02eaa..8548c0d 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.outline.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:1:1: Error: Expected 0 type arguments.
 // int<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.transformed.expect
index 46d364b..4340016 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.transformed.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:1:1: Error: Expected 0 type arguments.
 // int<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart
index 9ff8598..1a373f5 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart
@@ -1,2 +1 @@
-// @dart=2.9
 Foo<int> f() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline.expect
index 4236150..78a05ec 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 Foo<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline_modelled.expect
index 4236150..78a05ec 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
 Foo<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.expect
index b829820..1d42619 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Type 'Foo' not found.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Type 'Foo' not found.
 // Foo<int> f() {}
 // ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Expected 0 type arguments.
 // Foo<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.modular.expect
index b829820..1d42619 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.modular.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Type 'Foo' not found.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Type 'Foo' not found.
 // Foo<int> f() {}
 // ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Expected 0 type arguments.
 // Foo<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.outline.expect
index 2c17245..cca6d79 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.outline.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Type 'Foo' not found.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Type 'Foo' not found.
 // Foo<int> f() {}
 // ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Expected 0 type arguments.
 // Foo<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.transformed.expect
index b829820..1d42619 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.transformed.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Type 'Foo' not found.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Type 'Foo' not found.
 // Foo<int> f() {}
 // ^^^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Expected 0 type arguments.
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Expected 0 type arguments.
 // Foo<int> f() {}
 // ^
 //
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart
index 8cae069..b32cd47 100644
--- a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart
+++ b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart
@@ -1,5 +1,4 @@
 Future<int> f() => Future.value(7);
-// @dart=2.9
 List<int> g() {
   yield f();
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.expect
index c923736..6292ac0 100644
--- a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.expect
@@ -2,11 +2,11 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
+// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
 //   yield f();
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
+// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:2:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
 //  - 'List' is from 'dart:core'.
 // List<int> g() {
 //           ^
@@ -18,10 +18,10 @@
 static method f() → asy::Future<core::int>
   return asy::Future::value<core::int>(7);
 static method g() → core::List<core::int> {
-  invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
+  invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
   yield f();
   ^";
-  return invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
+  return invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:2:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
  - 'List' is from 'dart:core'.
 List<int> g() {
           ^" in null;
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.modular.expect
index c923736..6292ac0 100644
--- a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.modular.expect
@@ -2,11 +2,11 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
+// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
 //   yield f();
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
+// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:2:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
 //  - 'List' is from 'dart:core'.
 // List<int> g() {
 //           ^
@@ -18,10 +18,10 @@
 static method f() → asy::Future<core::int>
   return asy::Future::value<core::int>(7);
 static method g() → core::List<core::int> {
-  invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
+  invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
   yield f();
   ^";
-  return invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
+  return invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:2:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
  - 'List' is from 'dart:core'.
 List<int> g() {
           ^" in null;
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.transformed.expect
index c923736..6292ac0 100644
--- a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.transformed.expect
@@ -2,11 +2,11 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
+// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
 //   yield f();
 //   ^^^^^
 //
-// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
+// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:2:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
 //  - 'List' is from 'dart:core'.
 // List<int> g() {
 //           ^
@@ -18,10 +18,10 @@
 static method f() → asy::Future<core::int>
   return asy::Future::value<core::int>(7);
 static method g() → core::List<core::int> {
-  invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
+  invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
   yield f();
   ^";
-  return invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
+  return invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:2:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
  - 'List' is from 'dart:core'.
 List<int> g() {
           ^" in null;
diff --git a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/unversioned_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/unversioned_lib.dart
index 5653a37..d57287d 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/unversioned_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/unversioned_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 int? versionedAllowedPackage; // ok
diff --git a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_10_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_10_lib.dart
index 1000b07..d432653 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_10_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_10_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // @dart=2.10
 
 int? versioned_2_10_AllowedPackage; // ok
diff --git a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart
index f8d4466..b3c0c6d 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // @dart=2.8
 
 int? versioned_2_8_AllowedPackage; // error
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_9_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_9_lib.dart
index 2c5bf44..2bf988c 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_9_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_9_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // @dart=2.9
 
 int? versionedAllowedPackage; // ok
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart b/pkg/front_end/testcases/general/experiment_release_version/main.dart
index 76c745e..40552ae 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'package:allowed_package/unversioned_lib.dart';
 import 'package:allowed_package/versioned_2_8_lib.dart';
 import 'package:allowed_package/versioned_2_9_lib.dart';
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline.expect
index 3d652f5..d918938 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'package:allowed_package/unversioned_lib.dart';
 import 'package:allowed_package/versioned_2_8_lib.dart';
 import 'package:allowed_package/versioned_2_9_lib.dart';
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline_modelled.expect
index 093f395..9733a7a 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'package:allowed_package/unversioned_lib.dart';
 import 'package:allowed_package/versioned_2_10_lib.dart';
 import 'package:allowed_package/versioned_2_8_lib.dart';
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect
index b77b7a9..53be886 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect
@@ -1,39 +1,36 @@
 //
 // Problems outside component:
 //
+// pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.9 or higher.
+// int? versioned_2_8_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
+// ^^^^^^^^^^^^
+//
 // pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the package language version or setting the language version to 2.10 or higher.
 // int? versionedUnallowedPackage; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
-// ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_8_AllowedPackage; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_9_AllowedPackage; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
 // // @dart=2.9
 // ^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
-// int? versionedAllowedPackage; // error
-//    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
-// ^^^^^^^^^^^^
-//
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "package:allowed_package/unversioned_lib.dart";
@@ -51,18 +48,7 @@
 
 static method main() → dynamic {}
 
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
-// int? unversionedLibrary; // error
-//    ^
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
-// ^^^^^^^^^^^^
-//
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
@@ -76,8 +62,8 @@
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_8_Library; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
 // ^^^^^^^^^^^^
 //
 import self as self3;
@@ -93,7 +79,7 @@
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_9_Library; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
 // // @dart=2.9
 // ^^^^^^^^^^^^
 //
@@ -106,7 +92,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:8:4: Error: Null safety features are disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_10_Library; // error
 //    ^
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.modular.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.modular.expect
index b77b7a9..53be886 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.modular.expect
@@ -1,39 +1,36 @@
 //
 // Problems outside component:
 //
+// pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.9 or higher.
+// int? versioned_2_8_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
+// ^^^^^^^^^^^^
+//
 // pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the package language version or setting the language version to 2.10 or higher.
 // int? versionedUnallowedPackage; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
-// ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_8_AllowedPackage; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_9_AllowedPackage; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
 // // @dart=2.9
 // ^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
-// int? versionedAllowedPackage; // error
-//    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
-// ^^^^^^^^^^^^
-//
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "package:allowed_package/unversioned_lib.dart";
@@ -51,18 +48,7 @@
 
 static method main() → dynamic {}
 
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
-// int? unversionedLibrary; // error
-//    ^
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
-// ^^^^^^^^^^^^
-//
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
@@ -76,8 +62,8 @@
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_8_Library; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
 // ^^^^^^^^^^^^
 //
 import self as self3;
@@ -93,7 +79,7 @@
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_9_Library; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
 // // @dart=2.9
 // ^^^^^^^^^^^^
 //
@@ -106,7 +92,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:8:4: Error: Null safety features are disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_10_Library; // error
 //    ^
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect
index c3f6a3e..3f5e587 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect
@@ -1,39 +1,36 @@
 //
 // Problems outside component:
 //
+// pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.9 or higher.
+// int? versioned_2_8_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
+// ^^^^^^^^^^^^
+//
 // pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the package language version or setting the language version to 2.10 or higher.
 // int? versionedUnallowedPackage; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
-// ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_8_AllowedPackage; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_9_AllowedPackage; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
 // // @dart=2.9
 // ^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
-// int? versionedAllowedPackage; // error
-//    ^
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
-// ^^^^^^^^^^^^
-//
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "package:allowed_package/unversioned_lib.dart";
@@ -52,18 +49,7 @@
 static method main() → dynamic
   ;
 
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
-// int? unversionedLibrary; // error
-//    ^
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
-// ^^^^^^^^^^^^
-//
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
@@ -77,8 +63,8 @@
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_8_Library; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
 // ^^^^^^^^^^^^
 //
 import self as self3;
@@ -94,7 +80,7 @@
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_9_Library; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
 // // @dart=2.9
 // ^^^^^^^^^^^^
 //
@@ -107,7 +93,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:8:4: Error: Null safety features are disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_10_Library; // error
 //    ^
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect
index ab52108..4d91921 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "package:allowed_package/unversioned_lib.dart";
@@ -16,18 +16,7 @@
 
 static method main() → dynamic {}
 
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
-// int? unversionedLibrary; // error
-//    ^
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
-// ^^^^^^^^^^^^
-//
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
@@ -41,8 +30,8 @@
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_8_Library; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.9
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
 // ^^^^^^^^^^^^
 //
 import self as self3;
@@ -58,7 +47,7 @@
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_9_Library; // error
 //    ^
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
 // // @dart=2.9
 // ^^^^^^^^^^^^
 //
@@ -71,7 +60,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:8:4: Error: Null safety features are disabled for this library.
 // Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_10_Library; // error
 //    ^
diff --git a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart
index 102ec22..10bfda8 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 int? versionedUnallowedPackage; // error
diff --git a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart
index 81ee1c8..ee923a2 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // @dart=2.10
 
 int? versionedAllowedPackage; // error
diff --git a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart
index f8d4466..b3c0c6d 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // @dart=2.8
 
 int? versioned_2_8_AllowedPackage; // error
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart
index 46053fa..ff693f6 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // @dart=2.9
 
 int? versioned_2_9_AllowedPackage; // error
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart
index 280282c..c2b3d3e 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 int? unversionedLibrary; // error
diff --git a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart
index a14c6da..364c0af 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart
@@ -4,4 +4,5 @@
 // @dart=2.9
 // @dart=2.10
 
+
 int? versioned_2_10_Library; // error
diff --git a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart
index 0f72066..83fa3c6 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // @dart=2.8
 
 int? versioned_2_8_Library; // error
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart
index c44e5b8..7a9a3ee 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // @dart=2.9
 
 int? versioned_2_9_Library; // error
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart b/pkg/front_end/testcases/general/issue41210b/issue41210.dart
index eb5a4ef..08bd4e4 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.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 'issue41210_lib.dart';
 
 class C with A, B {} // error
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline.expect
index f023db9..8c473d0 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class C with A, B {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline_modelled.expect
index f023db9..8c473d0 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class C with A, B {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.expect
index bb04fa2..78f61b7 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.expect
@@ -1,14 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/issue41210b/issue41210.dart:9:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
+// pkg/front_end/testcases/general/issue41210b/issue41210.dart:7:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
 // class C with A, B {} // error
 //       ^
-// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:20:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
+// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
 //   String method(num i);
 //          ^
-// pkg/front_end/testcases/general/issue41210b/issue41210.dart:9:7: Context: This is the overridden method ('method').
+// pkg/front_end/testcases/general/issue41210b/issue41210.dart:7:7: Context: This is the overridden method ('method').
 // class C with A, B {} // error
 //       ^
 //
@@ -19,189 +19,99 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _C&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A*
+  const synthetic constructor •() → self::_C&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _C&Object&A&B = self::_C&Object&A with iss::B /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A&B*
+  const synthetic constructor •() → self::_C&Object&A&B
     : super self::_C&Object&A::•()
     ;
-  abstract mixin-stub method method(core::num* i) → core::String*; -> iss::B::method
+  abstract mixin-stub method method(core::num i) → core::String; -> iss::B::method
 }
 class C extends self::_C&Object&A&B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::_C&Object&A&B::•()
     ;
 }
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::_E&Object&A&D::•()
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     : super self::_G&Object&A&F::•()
     ;
 }
 static method main() → dynamic {
-  core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num*) →* core::String*});
+  core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num) → core::String});
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     : super core::Object::•()
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
+  method method(core::num i, {core::String s = #C1}) → core::String
     return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.modular.expect
index d12bb3b..075d118 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.modular.expect
@@ -1,14 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/issue41210b/issue41210.dart:9:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
+// pkg/front_end/testcases/general/issue41210b/issue41210.dart:7:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
 // class C with A, B {} // error
 //       ^
-// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:20:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
+// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
 //   String method(num i);
 //          ^
-// pkg/front_end/testcases/general/issue41210b/issue41210.dart:9:7: Context: This is the overridden method ('method').
+// pkg/front_end/testcases/general/issue41210b/issue41210.dart:7:7: Context: This is the overridden method ('method').
 // class C with A, B {} // error
 //       ^
 //
@@ -19,91 +19,61 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _C&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A*
+  const synthetic constructor •() → self::_C&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _C&Object&A&B = self::_C&Object&A with iss::B /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A&B*
+  const synthetic constructor •() → self::_C&Object&A&B
     : super self::_C&Object&A::•()
     ;
-  abstract mixin-stub method method(core::num* i) → core::String*; -> iss::B::method
+  abstract mixin-stub method method(core::num i) → core::String; -> iss::B::method
 }
 class C extends self::_C&Object&A&B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::_C&Object&A&B::•()
     ;
 }
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::_E&Object&A&D::•()
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     : super self::_G&Object&A&F::•()
     ;
 }
 static method main() → dynamic {
-  core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num*) →* core::String*});
+  core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num) → core::String});
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.outline.expect
index 3657882..b1a2e3a 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.outline.expect
@@ -1,14 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/issue41210b/issue41210.dart:9:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
+// pkg/front_end/testcases/general/issue41210b/issue41210.dart:7:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
 // class C with A, B {} // error
 //       ^
-// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:20:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
+// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
 //   String method(num i);
 //          ^
-// pkg/front_end/testcases/general/issue41210b/issue41210.dart:9:7: Context: This is the overridden method ('method').
+// pkg/front_end/testcases/general/issue41210b/issue41210.dart:7:7: Context: This is the overridden method ('method').
 // class C with A, B {} // error
 //       ^
 //
@@ -19,180 +19,90 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _C&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A*
+  const synthetic constructor •() → self::_C&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _C&Object&A&B = self::_C&Object&A with iss::B /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A&B*
+  const synthetic constructor •() → self::_C&Object&A&B
     : super self::_C&Object&A::•()
     ;
-  abstract mixin-stub method method(core::num* i) → core::String*; -> iss::B::method
+  abstract mixin-stub method method(core::num i) → core::String; -> iss::B::method
 }
 class C extends self::_C&Object&A&B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
 }
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     ;
 }
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
+  method method(core::num i, {core::String s = #C1}) → core::String
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart
index 78d8a27..08bd4e4 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'issue41210_lib.dart';
 
 class C with A, B {} // error
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline.expect
index f023db9..8c473d0 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class C with A, B {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline_modelled.expect
index f023db9..8c473d0 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class C with A, B {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.expect
index 038d724..5fecb3a 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
 // pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart:7:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
 // class C with A, B {} // error
 //       ^
-// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:20:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
+// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
 //   String method(num i);
 //          ^
 // pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart:7:7: Context: This is the overridden method ('method').
@@ -19,189 +19,99 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _C&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A*
+  const synthetic constructor •() → self::_C&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _C&Object&A&B = self::_C&Object&A with iss::B /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A&B*
+  const synthetic constructor •() → self::_C&Object&A&B
     : super self::_C&Object&A::•()
     ;
-  abstract mixin-stub method method(core::num* i) → core::String*; -> iss::B::method
+  abstract mixin-stub method method(core::num i) → core::String; -> iss::B::method
 }
 class C extends self::_C&Object&A&B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::_C&Object&A&B::•()
     ;
 }
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::_E&Object&A&D::•()
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     : super self::_G&Object&A&F::•()
     ;
 }
 static method main() → dynamic {
-  core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num*) →* core::String*});
+  core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num) → core::String});
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     : super core::Object::•()
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
+  method method(core::num i, {core::String s = #C1}) → core::String
     return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     : super core::Object::•()
     ;
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.modular.expect
index 038d724..5fecb3a 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.modular.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
 // pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart:7:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
 // class C with A, B {} // error
 //       ^
-// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:20:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
+// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
 //   String method(num i);
 //          ^
 // pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart:7:7: Context: This is the overridden method ('method').
@@ -19,189 +19,99 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _C&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A*
+  const synthetic constructor •() → self::_C&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _C&Object&A&B = self::_C&Object&A with iss::B /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A&B*
+  const synthetic constructor •() → self::_C&Object&A&B
     : super self::_C&Object&A::•()
     ;
-  abstract mixin-stub method method(core::num* i) → core::String*; -> iss::B::method
+  abstract mixin-stub method method(core::num i) → core::String; -> iss::B::method
 }
 class C extends self::_C&Object&A&B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     : super self::_C&Object&A&B::•()
     ;
 }
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::_E&Object&A&D::•()
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     : super self::_G&Object&A&F::•()
     ;
 }
 static method main() → dynamic {
-  core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num*) →* core::String*});
+  core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num) → core::String});
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     : super core::Object::•()
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
+  method method(core::num i, {core::String s = #C1}) → core::String
     return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     : super core::Object::•()
     ;
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.outline.expect
index 1f7c974..8eb69ab 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.outline.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
 // pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart:7:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
 // class C with A, B {} // error
 //       ^
-// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:20:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
+// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
 //   String method(num i);
 //          ^
 // pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart:7:7: Context: This is the overridden method ('method').
@@ -19,178 +19,88 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _C&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A*
+  const synthetic constructor •() → self::_C&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _C&Object&A&B = self::_C&Object&A with iss::B /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A&B*
+  const synthetic constructor •() → self::_C&Object&A&B
     : super self::_C&Object&A::•()
     ;
-  abstract mixin-stub method method(core::num* i) → core::String*; -> iss::B::method
+  abstract mixin-stub method method(core::num i) → core::String; -> iss::B::method
 }
 class C extends self::_C&Object&A&B {
-  synthetic constructor •() → self::C*
+  synthetic constructor •() → self::C
     ;
 }
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     ;
 }
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = "hello"}) → core::String*
+  method method(core::num i, {core::String s = "hello"}) → core::String
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     ;
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart b/pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart
index 04f13b4..a209b30 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_lib.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
-
 abstract class Interface {
   String method(num i);
 }
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart
index ccafb03..6251793 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.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 'issue41210_lib.dart';
 
 class E with A, D {} // ok
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.textual_outline.expect
index 7d7c3ca..c7e36dd 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class E with A, D {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.textual_outline_modelled.expect
index 7d7c3ca..c7e36dd 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class E with A, D {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.expect
index 9691295..209ae3c 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "issue41210_lib.dart" as iss;
@@ -6,159 +6,79 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::_E&Object&A&D::•()
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     : super self::_G&Object&A&F::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     : super core::Object::•()
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
+  method method(core::num i, {core::String s = #C1}) → core::String
     return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.modular.expect
index 20cd047..ada1c5a 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "issue41210_lib.dart" as iss;
@@ -6,58 +6,38 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::_E&Object&A&D::•()
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     : super self::_G&Object&A&F::•()
     ;
 }
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.outline.expect
index 90aecca..27dd1bc 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "issue41210_lib.dart" as iss;
@@ -6,153 +6,73 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s}) → core::String
     return super.{iss::A::method}(i, s: s);
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     ;
 }
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
+  method method(core::num i, {core::String s = #C1}) → core::String
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.transformed.expect
index 8aae15b..0b715cf 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "issue41210_lib.dart" as iss;
@@ -6,159 +6,79 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _E&Object&A extends core::Object implements iss::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  method /* from org-dartlang-testcase:///issue41210_lib.dart */ method(core::num* i, {core::String* s = #C1}) → core::String*
+  method /* from org-dartlang-testcase:///issue41210_lib.dart */ method(core::num i, {core::String s = #C1}) → core::String
     return s;
 }
 abstract class _E&Object&A&D extends self::_E&Object&A implements iss::D /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::_E&Object&A&D::•()
     ;
 }
 abstract class _G&Object&A extends core::Object implements iss::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  method /* from org-dartlang-testcase:///issue41210_lib.dart */ method(core::num* i, {core::String* s = #C1}) → core::String*
+  method /* from org-dartlang-testcase:///issue41210_lib.dart */ method(core::num i, {core::String s = #C1}) → core::String
     return s;
 }
 abstract class _G&Object&A&F extends self::_G&Object&A implements iss::F /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     : super self::_G&Object&A&F::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     : super core::Object::•()
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
+  method method(core::num i, {core::String s = #C1}) → core::String
     return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart
index ccafb03..6251793 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.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 'issue41210_lib.dart';
 
 class E with A, D {} // ok
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.textual_outline.expect
index 7d7c3ca..c7e36dd 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class E with A, D {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.textual_outline_modelled.expect
index 7d7c3ca..c7e36dd 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class E with A, D {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.expect
index cf99014..209ae3c 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "issue41210_lib.dart" as iss;
@@ -6,159 +6,79 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::_E&Object&A&D::•()
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     : super self::_G&Object&A&F::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     : super core::Object::•()
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
+  method method(core::num i, {core::String s = #C1}) → core::String
     return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     : super core::Object::•()
     ;
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.modular.expect
index cf99014..209ae3c 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "issue41210_lib.dart" as iss;
@@ -6,159 +6,79 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::_E&Object&A&D::•()
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     : super self::_G&Object&A&F::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     : super core::Object::•()
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
+  method method(core::num i, {core::String s = #C1}) → core::String
     return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     : super core::Object::•()
     ;
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.outline.expect
index ac90189..1488b8d 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "issue41210_lib.dart" as iss;
@@ -6,151 +6,71 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _E&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _E&Object&A&D = self::_E&Object&A with iss::D /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     ;
 }
 abstract class _G&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+  mixin-super-stub method method(core::num i, {core::String s}) → core::String
     return super.{iss::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _G&Object&A&F = self::_G&Object&A with iss::F /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     ;
 }
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = "hello"}) → core::String*
+  method method(core::num i, {core::String s = "hello"}) → core::String
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     ;
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.transformed.expect
index 079856d..0b715cf 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_no_error.no_link.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:core" as core;
 import "issue41210_lib.dart" as iss;
@@ -6,159 +6,79 @@
 import "org-dartlang-testcase:///issue41210_lib.dart";
 
 abstract class _E&Object&A extends core::Object implements iss::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
+  const synthetic constructor •() → self::_E&Object&A
     : super core::Object::•()
     ;
-  method /* from org-dartlang-testcase:///issue41210_lib.dart */ method(core::num* i, {core::String* s = #C1}) → core::String*
+  method /* from org-dartlang-testcase:///issue41210_lib.dart */ method(core::num i, {core::String s = #C1}) → core::String
     return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _E&Object&A&D extends self::_E&Object&A implements iss::D /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
+  const synthetic constructor •() → self::_E&Object&A&D
     : super self::_E&Object&A::•()
     ;
-  forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+  forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
     return super.{self::_E&Object&A::method}(i, s: s);
 }
 class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
+  synthetic constructor •() → self::E
     : super self::_E&Object&A&D::•()
     ;
 }
 abstract class _G&Object&A extends core::Object implements iss::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A*
+  const synthetic constructor •() → self::_G&Object&A
     : super core::Object::•()
     ;
-  method /* from org-dartlang-testcase:///issue41210_lib.dart */ method(core::num* i, {core::String* s = #C1}) → core::String*
+  method /* from org-dartlang-testcase:///issue41210_lib.dart */ method(core::num i, {core::String s = #C1}) → core::String
     return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _G&Object&A&F extends self::_G&Object&A implements iss::F /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_G&Object&A&F*
+  const synthetic constructor •() → self::_G&Object&A&F
     : super self::_G&Object&A::•()
     ;
 }
 class G extends self::_G&Object&A&F {
-  synthetic constructor •() → self::G*
+  synthetic constructor •() → self::G
     : super self::_G&Object&A&F::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as iss;
 import "dart:core" as core;
 
 abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
+  synthetic constructor •() → iss::Interface
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
+  synthetic constructor •() → iss::Interface2
     : super core::Object::•()
     ;
-  abstract method method(covariant-by-declaration core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(covariant-by-declaration core::int i) → core::String;
 }
 abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
+  method method(core::num i, {core::String s = #C1}) → core::String
     return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
+  synthetic constructor •() → iss::B
     : super core::Object::•()
     ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method method(core::num i) → core::String;
 }
 abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
+  synthetic constructor •() → iss::D
     : super core::Object::•()
     ;
-  abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
 }
 abstract class F extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::F*
+  synthetic constructor •() → iss::F
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue45101/main.dart b/pkg/front_end/testcases/general/issue45101/main.dart
index 171b59b..d1ac63e 100644
--- a/pkg/front_end/testcases/general/issue45101/main.dart
+++ b/pkg/front_end/testcases/general/issue45101/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/issue45101/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue45101/main.dart.textual_outline.expect
index 9ededd9..3c9c90e 100644
--- a/pkg/front_end/testcases/general/issue45101/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue45101/main.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/issue45101/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue45101/main.dart.textual_outline_modelled.expect
index 9ededd9..3c9c90e 100644
--- a/pkg/front_end/testcases/general/issue45101/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue45101/main.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/issue45101/main.dart.weak.expect b/pkg/front_end/testcases/general/issue45101/main.dart.weak.expect
index d517647..c62cfe1 100644
--- a/pkg/front_end/testcases/general/issue45101/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue45101/main.dart.weak.expect
@@ -1,50 +1,30 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:test";
 
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
 import "dart:_internal";
 
-class _ArraySize<T extends core::Object* = dynamic> extends core::Object implements self2::Array<self2::_ArraySize::T*> /*hasConstConstructor*/  { // from org-dartlang-testcase:///patch_lib.dart
-  final field core::int* foo;
-  const constructor •(core::int* foo) → self2::_ArraySize<self2::_ArraySize::T*>*
+class _ArraySize<T extends core::Object? = dynamic> extends core::Object implements self2::Array<self2::_ArraySize::T%> /*hasConstConstructor*/  { // from org-dartlang-testcase:///patch_lib.dart
+  final field core::int foo;
+  const constructor •(core::int foo) → self2::_ArraySize<self2::_ArraySize::T%>
     : self2::_ArraySize::foo = foo, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 @#C1
 @#C4
-class Array<T extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C5];
+class Array<T extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[#C5]/*isLegacy*/;
   @#C1
-  static factory /* from org-dartlang-testcase:///patch_lib.dart */ •<T extends core::Object* = dynamic>(core::int* foo) → self2::Array<self2::Array::•::T*>*
-    return new self2::_ArraySize::•<self2::Array::•::T*>(foo);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  static factory /* from org-dartlang-testcase:///patch_lib.dart */ •<T extends core::Object? = dynamic>(core::int foo) → self2::Array<self2::Array::•::T%>
+    return new self2::_ArraySize::•<self2::Array::•::T%>(foo);
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue45101/main.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue45101/main.dart.weak.modular.expect
index d517647..c62cfe1 100644
--- a/pkg/front_end/testcases/general/issue45101/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue45101/main.dart.weak.modular.expect
@@ -1,50 +1,30 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:test";
 
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
 import "dart:_internal";
 
-class _ArraySize<T extends core::Object* = dynamic> extends core::Object implements self2::Array<self2::_ArraySize::T*> /*hasConstConstructor*/  { // from org-dartlang-testcase:///patch_lib.dart
-  final field core::int* foo;
-  const constructor •(core::int* foo) → self2::_ArraySize<self2::_ArraySize::T*>*
+class _ArraySize<T extends core::Object? = dynamic> extends core::Object implements self2::Array<self2::_ArraySize::T%> /*hasConstConstructor*/  { // from org-dartlang-testcase:///patch_lib.dart
+  final field core::int foo;
+  const constructor •(core::int foo) → self2::_ArraySize<self2::_ArraySize::T%>
     : self2::_ArraySize::foo = foo, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 @#C1
 @#C4
-class Array<T extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C5];
+class Array<T extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[#C5]/*isLegacy*/;
   @#C1
-  static factory /* from org-dartlang-testcase:///patch_lib.dart */ •<T extends core::Object* = dynamic>(core::int* foo) → self2::Array<self2::Array::•::T*>*
-    return new self2::_ArraySize::•<self2::Array::•::T*>(foo);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  static factory /* from org-dartlang-testcase:///patch_lib.dart */ •<T extends core::Object? = dynamic>(core::int foo) → self2::Array<self2::Array::•::T%>
+    return new self2::_ArraySize::•<self2::Array::•::T%>(foo);
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue45101/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue45101/main.dart.weak.outline.expect
index f06670d..4f32ae7 100644
--- a/pkg/front_end/testcases/general/issue45101/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue45101/main.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:test";
@@ -6,52 +6,32 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
 import "dart:_internal";
 
-class _ArraySize<T extends core::Object* = dynamic> extends core::Object implements self2::Array<self2::_ArraySize::T*> /*hasConstConstructor*/  { // from org-dartlang-testcase:///patch_lib.dart
-  final field core::int* foo;
-  const constructor •(core::int* foo) → self2::_ArraySize<self2::_ArraySize::T*>*
+class _ArraySize<T extends core::Object? = dynamic> extends core::Object implements self2::Array<self2::_ArraySize::T%> /*hasConstConstructor*/  { // from org-dartlang-testcase:///patch_lib.dart
+  final field core::int foo;
+  const constructor •(core::int foo) → self2::_ArraySize<self2::_ArraySize::T%>
     : self2::_ArraySize::foo = foo, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 @_in::patch
 @core::pragma::_("vm:entry-point")
-class Array<T extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[self2::Array::•];
+class Array<T extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[self2::Array::•]/*isLegacy*/;
   @_in::patch
-  static factory /* from org-dartlang-testcase:///patch_lib.dart */ •<T extends core::Object* = dynamic>(core::int* foo) → self2::Array<self2::Array::•::T*>*
-    return new self2::_ArraySize::•<self2::Array::•::T*>(foo);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  static factory /* from org-dartlang-testcase:///patch_lib.dart */ •<T extends core::Object? = dynamic>(core::int foo) → self2::Array<self2::Array::•::T%>
+    return new self2::_ArraySize::•<self2::Array::•::T%>(foo);
 }
 
 
 Extra constant evaluation status:
-Evaluated: StaticGet @ org-dartlang-testcase:///origin_lib.dart:10:1 -> InstanceConstant(const _Patch{})
+Evaluated: StaticGet @ (unknown position in org-dartlang-testcase:///origin_lib.dart) -> InstanceConstant(const _Patch{})
 Evaluated: ConstructorInvocation @ (unknown position in org-dartlang-testcase:///origin_lib.dart) -> InstanceConstant(const pragma{pragma.name: "vm:entry-point", pragma.options: null})
 Evaluated: StaticGet @ org-dartlang-testcase:///patch_lib.dart:14:17 -> InstanceConstant(const _Patch{})
-Evaluated: ConstructorTearOff @ org-dartlang-testcase:///origin_lib.dart:6:7 -> ConstructorTearOffConstant(Array.)
+Evaluated: ConstructorTearOff @ org-dartlang-testcase:///origin_lib.dart:5:7 -> ConstructorTearOffConstant(Array.)
 Extra constant evaluation: evaluated: 8, effectively constant: 4
diff --git a/pkg/front_end/testcases/general/issue45101/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue45101/main.dart.weak.transformed.expect
index d517647..c62cfe1 100644
--- a/pkg/front_end/testcases/general/issue45101/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue45101/main.dart.weak.transformed.expect
@@ -1,50 +1,30 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:test";
 
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 import "dart:_internal" as _in;
 
 import "dart:_internal";
 
-class _ArraySize<T extends core::Object* = dynamic> extends core::Object implements self2::Array<self2::_ArraySize::T*> /*hasConstConstructor*/  { // from org-dartlang-testcase:///patch_lib.dart
-  final field core::int* foo;
-  const constructor •(core::int* foo) → self2::_ArraySize<self2::_ArraySize::T*>*
+class _ArraySize<T extends core::Object? = dynamic> extends core::Object implements self2::Array<self2::_ArraySize::T%> /*hasConstConstructor*/  { // from org-dartlang-testcase:///patch_lib.dart
+  final field core::int foo;
+  const constructor •(core::int foo) → self2::_ArraySize<self2::_ArraySize::T%>
     : self2::_ArraySize::foo = foo, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 @#C1
 @#C4
-class Array<T extends core::Object* = dynamic> extends core::Object {
-  static final field dynamic _redirecting# = <dynamic>[#C5];
+class Array<T extends core::Object? = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[#C5]/*isLegacy*/;
   @#C1
-  static factory /* from org-dartlang-testcase:///patch_lib.dart */ •<T extends core::Object* = dynamic>(core::int* foo) → self2::Array<self2::Array::•::T*>*
-    return new self2::_ArraySize::•<self2::Array::•::T*>(foo);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  static factory /* from org-dartlang-testcase:///patch_lib.dart */ •<T extends core::Object? = dynamic>(core::int foo) → self2::Array<self2::Array::•::T%>
+    return new self2::_ArraySize::•<self2::Array::•::T%>(foo);
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/issue45101/origin_lib.dart b/pkg/front_end/testcases/general/issue45101/origin_lib.dart
index 2aabe5a..d5c2f46 100644
--- a/pkg/front_end/testcases/general/issue45101/origin_lib.dart
+++ b/pkg/front_end/testcases/general/issue45101/origin_lib.dart
@@ -1,7 +1,6 @@
 // Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
 
 class Array<T> {
   external const factory Array(int foo);
diff --git a/pkg/front_end/testcases/general/issue45101/patch_lib.dart b/pkg/front_end/testcases/general/issue45101/patch_lib.dart
index b5a1fd5..c8a6e85 100644
--- a/pkg/front_end/testcases/general/issue45101/patch_lib.dart
+++ b/pkg/front_end/testcases/general/issue45101/patch_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // ignore: import_internal_library
 import 'dart:_internal';
 
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart b/pkg/front_end/testcases/general/mixin_from_patch/main.dart
index 70c5990..9a64949 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'dart:test';
 
 main() {
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline.expect
index 9ededd9..3c9c90e 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline_modelled.expect
index 9ededd9..3c9c90e 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.expect
index 964cf88..05b2295 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:test" as test;
 
@@ -11,7 +11,7 @@
   new test::SubClass::unpatched();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -27,60 +27,40 @@
 
 @#C1
 class Class extends core::Object {
-  constructor _internal({core::bool* value = #C2}) → test::Class*
+  constructor _internal({core::bool value = #C2}) → test::Class
     : super core::Object::•()
     ;
   @#C1
-  constructor patched() → test::Class*
+  constructor patched() → test::Class
     : this test::Class::_internal()
     ;
-  constructor unpatched() → test::Class*
+  constructor unpatched() → test::Class
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _SubClass&Class&Mixin = test::Class with test::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor patched() → test::_SubClass&Class&Mixin*
+  synthetic constructor patched() → test::_SubClass&Class&Mixin
     : super test::Class::patched()
     ;
-  synthetic constructor unpatched() → test::_SubClass&Class&Mixin*
+  synthetic constructor unpatched() → test::_SubClass&Class&Mixin
     : super test::Class::unpatched()
     ;
-  synthetic constructor _internal({core::bool* value = #C2}) → test::_SubClass&Class&Mixin*
+  synthetic constructor _internal({core::bool value = #C2}) → test::_SubClass&Class&Mixin
     : super test::Class::_internal(value: value)
     ;
 }
 @#C1
 class SubClass extends test::_SubClass&Class&Mixin {
-  constructor _internal() → test::SubClass*
+  constructor _internal() → test::SubClass
     : super test::_SubClass&Class&Mixin::_internal(value: true)
     ;
   @#C1
-  constructor patched() → test::SubClass*
+  constructor patched() → test::SubClass
     : this test::SubClass::_internal()
     ;
-  constructor unpatched() → test::SubClass*
+  constructor unpatched() → test::SubClass
     : super test::_SubClass&Class&Mixin::unpatched()
     ;
 }
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.modular.expect
index 964cf88..05b2295 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:test" as test;
 
@@ -11,7 +11,7 @@
   new test::SubClass::unpatched();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -27,60 +27,40 @@
 
 @#C1
 class Class extends core::Object {
-  constructor _internal({core::bool* value = #C2}) → test::Class*
+  constructor _internal({core::bool value = #C2}) → test::Class
     : super core::Object::•()
     ;
   @#C1
-  constructor patched() → test::Class*
+  constructor patched() → test::Class
     : this test::Class::_internal()
     ;
-  constructor unpatched() → test::Class*
+  constructor unpatched() → test::Class
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _SubClass&Class&Mixin = test::Class with test::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor patched() → test::_SubClass&Class&Mixin*
+  synthetic constructor patched() → test::_SubClass&Class&Mixin
     : super test::Class::patched()
     ;
-  synthetic constructor unpatched() → test::_SubClass&Class&Mixin*
+  synthetic constructor unpatched() → test::_SubClass&Class&Mixin
     : super test::Class::unpatched()
     ;
-  synthetic constructor _internal({core::bool* value = #C2}) → test::_SubClass&Class&Mixin*
+  synthetic constructor _internal({core::bool value = #C2}) → test::_SubClass&Class&Mixin
     : super test::Class::_internal(value: value)
     ;
 }
 @#C1
 class SubClass extends test::_SubClass&Class&Mixin {
-  constructor _internal() → test::SubClass*
+  constructor _internal() → test::SubClass
     : super test::_SubClass&Class&Mixin::_internal(value: true)
     ;
   @#C1
-  constructor patched() → test::SubClass*
+  constructor patched() → test::SubClass
     : this test::SubClass::_internal()
     ;
-  constructor unpatched() → test::SubClass*
+  constructor unpatched() → test::SubClass
     : super test::_SubClass&Class&Mixin::unpatched()
     ;
 }
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.outline.expect
index bffd38a..3673867 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:test";
@@ -6,7 +6,7 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:_internal" as _in;
 import "dart:core" as core;
@@ -15,55 +15,35 @@
 
 @_in::patch
 class Class extends core::Object {
-  constructor _internal({core::bool* value = false}) → self2::Class*
+  constructor _internal({core::bool value = false}) → self2::Class
     ;
   @_in::patch
-  external constructor patched() → self2::Class*
+  external constructor patched() → self2::Class
     ;
-  constructor unpatched() → self2::Class*
+  constructor unpatched() → self2::Class
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _SubClass&Class&Mixin = self2::Class with self2::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor patched() → self2::_SubClass&Class&Mixin*
+  synthetic constructor patched() → self2::_SubClass&Class&Mixin
     : super self2::Class::patched()
     ;
-  synthetic constructor unpatched() → self2::_SubClass&Class&Mixin*
+  synthetic constructor unpatched() → self2::_SubClass&Class&Mixin
     : super self2::Class::unpatched()
     ;
-  synthetic constructor _internal({core::bool* value = false}) → self2::_SubClass&Class&Mixin*
+  synthetic constructor _internal({core::bool value = false}) → self2::_SubClass&Class&Mixin
     : super self2::Class::_internal(value: value)
     ;
 }
 @_in::patch
 class SubClass extends self2::_SubClass&Class&Mixin {
-  constructor _internal() → self2::SubClass*
+  constructor _internal() → self2::SubClass
     ;
   @_in::patch
-  external constructor patched() → self2::SubClass*
+  external constructor patched() → self2::SubClass
     ;
-  constructor unpatched() → self2::SubClass*
+  constructor unpatched() → self2::SubClass
     ;
 }
 
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.transformed.expect
index 354d733..a940761 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:test" as test;
 
@@ -11,7 +11,7 @@
   new test::SubClass::unpatched();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -27,60 +27,40 @@
 
 @#C1
 class Class extends core::Object {
-  constructor _internal({core::bool* value = #C2}) → test::Class*
+  constructor _internal({core::bool value = #C2}) → test::Class
     : super core::Object::•()
     ;
   @#C1
-  constructor patched() → test::Class*
+  constructor patched() → test::Class
     : this test::Class::_internal()
     ;
-  constructor unpatched() → test::Class*
+  constructor unpatched() → test::Class
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _SubClass&Class&Mixin extends test::Class implements test::Mixin /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor patched() → test::_SubClass&Class&Mixin*
+  synthetic constructor patched() → test::_SubClass&Class&Mixin
     : super test::Class::patched()
     ;
-  synthetic constructor unpatched() → test::_SubClass&Class&Mixin*
+  synthetic constructor unpatched() → test::_SubClass&Class&Mixin
     : super test::Class::unpatched()
     ;
-  synthetic constructor _internal({core::bool* value = #C2}) → test::_SubClass&Class&Mixin*
+  synthetic constructor _internal({core::bool value = #C2}) → test::_SubClass&Class&Mixin
     : super test::Class::_internal(value: value)
     ;
 }
 @#C1
 class SubClass extends test::_SubClass&Class&Mixin {
-  constructor _internal() → test::SubClass*
+  constructor _internal() → test::SubClass
     : super test::_SubClass&Class&Mixin::_internal(value: true)
     ;
   @#C1
-  constructor patched() → test::SubClass*
+  constructor patched() → test::SubClass
     : this test::SubClass::_internal()
     ;
-  constructor unpatched() → test::SubClass*
+  constructor unpatched() → test::SubClass
     : super test::_SubClass&Class&Mixin::unpatched()
     ;
 }
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart b/pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart
index e8e141d..3a9ea31 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart
+++ b/pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 class Class {
   external Class.patched();
 
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/patch_lib.dart b/pkg/front_end/testcases/general/mixin_from_patch/patch_lib.dart
index 8e32303..5eb5e41 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/patch_lib.dart
+++ b/pkg/front_end/testcases/general/mixin_from_patch/patch_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // ignore: import_internal_library
 import 'dart:_internal';
 
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart
index 050382d..6e0cb95 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'dart:test';
 
 main() {
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline.expect
index 9ededd9..3c9c90e 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline_modelled.expect
index 9ededd9..3c9c90e 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.expect
index fa5d4ba..9d1966a 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:test" as test;
 
@@ -8,7 +8,7 @@
   new test::Class::•();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -44,19 +44,9 @@
 
 @#C1
 class Class extends core::Object {
-  synthetic constructor •() → test::Class*
+  synthetic constructor •() → test::Class
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 library /*isNonNullableByDefault*/;
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.modular.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.modular.expect
index fa5d4ba..9d1966a 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:test" as test;
 
@@ -8,7 +8,7 @@
   new test::Class::•();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -44,19 +44,9 @@
 
 @#C1
 class Class extends core::Object {
-  synthetic constructor •() → test::Class*
+  synthetic constructor •() → test::Class
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 library /*isNonNullableByDefault*/;
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.outline.expect
index 8724812..0f22267 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "dart:test";
@@ -6,7 +6,7 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -42,18 +42,8 @@
 
 @_in::patch
 class Class extends core::Object {
-  synthetic constructor •() → self2::Class*
+  synthetic constructor •() → self2::Class
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 library /*isNonNullableByDefault*/;
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.transformed.expect
index fa5d4ba..9d1966a 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "dart:test" as test;
 
@@ -8,7 +8,7 @@
   new test::Class::•();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -44,19 +44,9 @@
 
 @#C1
 class Class extends core::Object {
-  synthetic constructor •() → test::Class*
+  synthetic constructor •() → test::Class
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
 library /*isNonNullableByDefault*/;
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart b/pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart
index a2cf6ba..5db6a48 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import ':a';
 export ':b';
 
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart b/pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart
index c293bdf..b898ab1 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 // ignore: import_internal_library
 import 'dart:_internal';
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart
index 2332f9c..37e1db0 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'main_lib.dart';
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline.expect
index ca22c81..085740d 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'main_lib.dart';
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline_modelled.expect
index ca22c81..085740d 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'main_lib.dart';
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.expect
index 252b247..cb2c7ff 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.expect
@@ -1,35 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "main_lib.dart" as mai;
 
 import "org-dartlang-testcase:///main_lib.dart";
 
 class B extends mai::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super mai::A::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mai;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → mai::A*
+  synthetic constructor •() → mai::A
     : super core::Object::•()
     ;
   @#C1
-  abstract method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method noSuchMethod(core::Invocation invocation) → dynamic;
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.modular.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.modular.expect
index f1e3ba3..af0f39a 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.modular.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "main_lib.dart" as mai;
 
 import "org-dartlang-testcase:///main_lib.dart";
 
 class B extends mai::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super mai::A::•()
     ;
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.outline.expect
index f520722..3818b16 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.outline.expect
@@ -1,34 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "main_lib.dart" as mai;
 
 import "org-dartlang-testcase:///main_lib.dart";
 
 class B extends mai::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     ;
 }
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mai;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → mai::A*
+  synthetic constructor •() → mai::A
     ;
   @#C1
-  abstract method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method noSuchMethod(core::Invocation invocation) → dynamic;
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.transformed.expect
index 252b247..cb2c7ff 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.transformed.expect
@@ -1,35 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "main_lib.dart" as mai;
 
 import "org-dartlang-testcase:///main_lib.dart";
 
 class B extends mai::A {
-  synthetic constructor •() → self::B*
+  synthetic constructor •() → self::B
     : super mai::A::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mai;
 import "dart:core" as core;
 
 class A extends core::Object {
-  synthetic constructor •() → mai::A*
+  synthetic constructor •() → mai::A
     : super core::Object::•()
     ;
   @#C1
-  abstract method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method noSuchMethod(core::Invocation invocation) → dynamic;
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main_lib.dart b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main_lib.dart
index 3b4fe56..f02f058 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 class A {
   @override
   noSuchMethod(Invocation invocation);
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart
index 40c340f..f678004 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'extension_from_dill_lib.dart';
 
 main() {
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline.expect
index 480afbd..76f9b18 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'extension_from_dill_lib.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline_modelled.expect
index 480afbd..76f9b18 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'extension_from_dill_lib.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.expect
index aa7decf..c577819 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "extension_from_dill_lib2.dart" as ext;
 
@@ -8,7 +8,7 @@
   ext::Extension|foo("");
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "extension_from_dill_lib2.dart" as ext;
 additionalExports = (ext::Extension)
@@ -16,15 +16,15 @@
 export "org-dartlang-testcase:///extension_from_dill_lib2.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 import self as ext;
 import "dart:core" as core;
 
-extension Extension on core::String* {
+extension Extension on core::String {
   method foo = ext::Extension|foo;
   tearoff foo = ext::Extension|get#foo;
 }
-static method Extension|foo(lowered final core::String* #this) → dynamic
+static method Extension|foo(lowered final core::String #this) → dynamic
   return 42;
-static method Extension|get#foo(lowered final core::String* #this) → () →* dynamic
+static method Extension|get#foo(lowered final core::String #this) → () → dynamic
   return () → dynamic => ext::Extension|foo(#this);
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.modular.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.modular.expect
index 85f323d..b863b85 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "extension_from_dill_lib2.dart" as ext;
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.outline.expect
index 3c9cb35..7067eb7 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///extension_from_dill_lib.dart";
@@ -6,7 +6,7 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "extension_from_dill_lib2.dart" as ext;
 additionalExports = (ext::Extension)
@@ -14,15 +14,15 @@
 export "org-dartlang-testcase:///extension_from_dill_lib2.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 import self as ext;
 import "dart:core" as core;
 
-extension Extension on core::String* {
+extension Extension on core::String {
   method foo = ext::Extension|foo;
   tearoff foo = ext::Extension|get#foo;
 }
-static method Extension|foo(lowered final core::String* #this) → dynamic
+static method Extension|foo(lowered final core::String #this) → dynamic
   ;
-static method Extension|get#foo(lowered final core::String* #this) → () →* dynamic
+static method Extension|get#foo(lowered final core::String #this) → () → dynamic
   return () → dynamic => ext::Extension|foo(#this);
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.transformed.expect
index aa7decf..c577819 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "extension_from_dill_lib2.dart" as ext;
 
@@ -8,7 +8,7 @@
   ext::Extension|foo("");
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "extension_from_dill_lib2.dart" as ext;
 additionalExports = (ext::Extension)
@@ -16,15 +16,15 @@
 export "org-dartlang-testcase:///extension_from_dill_lib2.dart";
 
 
-library;
+library /*isNonNullableByDefault*/;
 import self as ext;
 import "dart:core" as core;
 
-extension Extension on core::String* {
+extension Extension on core::String {
   method foo = ext::Extension|foo;
   tearoff foo = ext::Extension|get#foo;
 }
-static method Extension|foo(lowered final core::String* #this) → dynamic
+static method Extension|foo(lowered final core::String #this) → dynamic
   return 42;
-static method Extension|get#foo(lowered final core::String* #this) → () →* dynamic
+static method Extension|get#foo(lowered final core::String #this) → () → dynamic
   return () → dynamic => ext::Extension|foo(#this);
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib.dart b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib.dart
index 3703720..8d058b3 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 export 'extension_from_dill_lib2.dart';
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib2.dart b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib2.dart
index b0e671a..baf81eb 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib2.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 extension Extension on String {
   foo() => 42;
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/const_lib.dart b/pkg/front_end/testcases/general/with_dependencies/issue43538/const_lib.dart
index d66d12c..f1dbca9 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/const_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/const_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 abstract class A {
   const A({
     this.d = 3.14,
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart
index a821a38..a73de4b 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'const_lib.dart';
 
 const crossModule = B();
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline.expect
index a012e33..d57e7dc 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'const_lib.dart';
 
 const crossModule = B();
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline_modelled.expect
index ab711ec..63f830f 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'const_lib.dart';
 
 const crossModule = B();
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.expect
index aa18aac..bb96ac5 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.expect
@@ -1,49 +1,39 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "const_lib.dart" as con;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///const_lib.dart";
 
-static const field con::B* crossModule = #C3;
+static const field con::B crossModule = #C3;
 static method main() → dynamic {
-  self::expect(2.71, #C3.{con::A::d}{core::double*});
-  self::expect("default", #C3.{con::A::s}{core::String*});
+  self::expect(2.71, #C3.{con::A::d}{core::double});
+  self::expect("default", #C3.{con::A::s}{core::String});
 }
 static method expect(dynamic expected, dynamic actual) → dynamic {
-  if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+  if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
     throw "Expected ${expected}, actual ${actual}";
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con;
 import "dart:core" as core;
 
 abstract class A extends core::Object /*hasConstConstructor*/  {
-  final field core::double* d;
-  final field core::String* s;
-  const constructor •({core::double* d = #C4, core::String* s = #C2}) → con::A*
+  final field core::double d;
+  final field core::String s;
+  const constructor •({core::double d = #C4, core::String s = #C2}) → con::A
     : con::A::d = d, con::A::s = s, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _B&A&M extends con::A implements con::M /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •({core::double* d = #C4, core::String* s = #C2}) → con::_B&A&M*
+  const synthetic constructor •({core::double d = #C4, core::String s = #C2}) → con::_B&A&M
     : super con::A::•(d: d, s: s)
     ;
   method m1() → dynamic {}
 }
 class B extends con::_B&A&M /*hasConstConstructor*/  {
-  const constructor •({core::double* d = #C1}) → con::B*
+  const constructor •({core::double d = #C1}) → con::B
     : super con::_B&A&M::•(d: d)
     ;
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.modular.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.modular.expect
index c6ae209..ba5a448 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.modular.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "const_lib.dart" as con;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///const_lib.dart";
 
-static const field con::B* crossModule = #C3;
+static const field con::B crossModule = #C3;
 static method main() → dynamic {
-  self::expect(2.71, #C3.{con::A::d}{core::double*});
-  self::expect("default", #C3.{con::A::s}{core::String*});
+  self::expect(2.71, #C3.{con::A::d}{core::double});
+  self::expect("default", #C3.{con::A::s}{core::String});
 }
 static method expect(dynamic expected, dynamic actual) → dynamic {
-  if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+  if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
     throw "Expected ${expected}, actual ${actual}";
 }
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.outline.expect
index a6664b4..d45ece4 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.outline.expect
@@ -1,45 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "const_lib.dart" as con;
 
 import "org-dartlang-testcase:///const_lib.dart";
 
-static const field con::B* crossModule = const con::B::•();
+static const field con::B crossModule = const con::B::•();
 static method main() → dynamic
   ;
 static method expect(dynamic expected, dynamic actual) → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con;
 import "dart:core" as core;
 
 abstract class A extends core::Object /*hasConstConstructor*/  {
-  final field core::double* d;
-  final field core::String* s;
-  const constructor •({core::double* d = #C1, core::String* s = #C2}) → con::A*
+  final field core::double d;
+  final field core::String s;
+  const constructor •({core::double d = #C1, core::String s = #C2}) → con::A
     : con::A::d = d, con::A::s = s, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _B&A&M extends con::A implements con::M /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •({core::double* d = #C1, core::String* s = #C2}) → con::_B&A&M*
+  const synthetic constructor •({core::double d = #C1, core::String s = #C2}) → con::_B&A&M
     : super con::A::•(d: d, s: s)
     ;
   method m1() → dynamic
     ;
 }
 class B extends con::_B&A&M /*hasConstConstructor*/  {
-  const constructor •({core::double* d = #C3}) → con::B*
+  const constructor •({core::double d = #C3}) → con::B
     : super con::_B&A&M::•(d: d)
     ;
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.transformed.expect
index aa18aac..bb96ac5 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.transformed.expect
@@ -1,49 +1,39 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "const_lib.dart" as con;
 import "dart:core" as core;
 
 import "org-dartlang-testcase:///const_lib.dart";
 
-static const field con::B* crossModule = #C3;
+static const field con::B crossModule = #C3;
 static method main() → dynamic {
-  self::expect(2.71, #C3.{con::A::d}{core::double*});
-  self::expect("default", #C3.{con::A::s}{core::String*});
+  self::expect(2.71, #C3.{con::A::d}{core::double});
+  self::expect("default", #C3.{con::A::s}{core::String});
 }
 static method expect(dynamic expected, dynamic actual) → dynamic {
-  if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+  if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
     throw "Expected ${expected}, actual ${actual}";
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as con;
 import "dart:core" as core;
 
 abstract class A extends core::Object /*hasConstConstructor*/  {
-  final field core::double* d;
-  final field core::String* s;
-  const constructor •({core::double* d = #C4, core::String* s = #C2}) → con::A*
+  final field core::double d;
+  final field core::String s;
+  const constructor •({core::double d = #C4, core::String s = #C2}) → con::A
     : con::A::d = d, con::A::s = s, super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _B&A&M extends con::A implements con::M /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •({core::double* d = #C4, core::String* s = #C2}) → con::_B&A&M*
+  const synthetic constructor •({core::double d = #C4, core::String s = #C2}) → con::_B&A&M
     : super con::A::•(d: d, s: s)
     ;
   method m1() → dynamic {}
 }
 class B extends con::_B&A&M /*hasConstConstructor*/  {
-  const constructor •({core::double* d = #C1}) → con::B*
+  const constructor •({core::double d = #C1}) → con::B
     : super con::_B&A&M::•(d: d)
     ;
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart
index 0e9dfeb..3e9e915 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart
@@ -1,7 +1,9 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
+// @dart=2.12
+
 import "issue_43084_lib.dart";
 
 main() {
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline.expect
index 9591f62..2f5aaa7 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline.expect
@@ -1,4 +1,4 @@
-// @dart = 2.9
+// @dart = 2.12
 import "issue_43084_lib.dart";
 
 main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline_modelled.expect
index 9591f62..2f5aaa7 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline_modelled.expect
@@ -1,4 +1,4 @@
-// @dart = 2.9
+// @dart = 2.12
 import "issue_43084_lib.dart";
 
 main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.expect
index a408b7e..1796d07 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:8:20: Error: Couldn't find constructor 'Bar'.
+// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:10:20: Error: Couldn't find constructor 'Bar'.
 //   Bar<int> x = new Bar<int>();
 //                    ^^^
 //
@@ -12,36 +12,26 @@
 import "org-dartlang-testcase:///issue_43084_lib.dart";
 
 static method main() → dynamic {
-  invalid-type x = invalid-expression "pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:8:20: Error: Couldn't find constructor 'Bar'.
+  invalid-type x = invalid-expression "pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:10:20: Error: Couldn't find constructor 'Bar'.
   Bar<int> x = new Bar<int>();
                    ^^^";
   core::print(x);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart:8:16: Error: Can't create typedef from non-function type.
+// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart:10:16: Error: Can't create typedef from non-function type.
 // typedef Bar<X> = Foo<X>;
 //                ^
 //
 import self as self2;
 import "dart:core" as core;
 
-typedef Bar<unrelated X extends core::Object* = dynamic> = invalid-type;
-class Foo<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self2::Foo<self2::Foo::X*>*
+typedef Bar<unrelated X extends core::Object? = dynamic> = invalid-type;
+class Foo<X extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self2::Foo<self2::Foo::X%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.modular.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.modular.expect
index d7417c6..1d74cbd 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.modular.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:8:20: Error: Couldn't find constructor 'Bar'.
+// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:10:20: Error: Couldn't find constructor 'Bar'.
 //   Bar<int> x = new Bar<int>();
 //                    ^^^
 //
@@ -12,7 +12,7 @@
 import "org-dartlang-testcase:///issue_43084_lib.dart";
 
 static method main() → dynamic {
-  invalid-type x = invalid-expression "pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:8:20: Error: Couldn't find constructor 'Bar'.
+  invalid-type x = invalid-expression "pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:10:20: Error: Couldn't find constructor 'Bar'.
   Bar<int> x = new Bar<int>();
                    ^^^";
   core::print(x);
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.outline.expect
index 0cd02ea..abbbf26 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///issue_43084_lib.dart";
@@ -6,29 +6,19 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart:8:16: Error: Can't create typedef from non-function type.
+// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart:10:16: Error: Can't create typedef from non-function type.
 // typedef Bar<X> = Foo<X>;
 //                ^
 //
 import self as self2;
 import "dart:core" as core;
 
-typedef Bar<unrelated X extends core::Object* = dynamic> = invalid-type;
-class Foo<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self2::Foo<self2::Foo::X*>*
+typedef Bar<unrelated X extends core::Object? = dynamic> = invalid-type;
+class Foo<X extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self2::Foo<self2::Foo::X%>
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.transformed.expect
index a408b7e..1796d07 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.transformed.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:8:20: Error: Couldn't find constructor 'Bar'.
+// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:10:20: Error: Couldn't find constructor 'Bar'.
 //   Bar<int> x = new Bar<int>();
 //                    ^^^
 //
@@ -12,36 +12,26 @@
 import "org-dartlang-testcase:///issue_43084_lib.dart";
 
 static method main() → dynamic {
-  invalid-type x = invalid-expression "pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:8:20: Error: Couldn't find constructor 'Bar'.
+  invalid-type x = invalid-expression "pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart:10:20: Error: Couldn't find constructor 'Bar'.
   Bar<int> x = new Bar<int>();
                    ^^^";
   core::print(x);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart:8:16: Error: Can't create typedef from non-function type.
+// pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart:10:16: Error: Can't create typedef from non-function type.
 // typedef Bar<X> = Foo<X>;
 //                ^
 //
 import self as self2;
 import "dart:core" as core;
 
-typedef Bar<unrelated X extends core::Object* = dynamic> = invalid-type;
-class Foo<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self2::Foo<self2::Foo::X*>*
+typedef Bar<unrelated X extends core::Object? = dynamic> = invalid-type;
+class Foo<X extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self2::Foo<self2::Foo::X%>
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart
index 647ad1d..ec17edd 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart
@@ -1,7 +1,9 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
+// @dart=2.12
+
 class Foo<X> {
 }
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart
index d2b59cd..b4a113d 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import "issue_43084_lib.dart";
 
 test() {
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline.expect
index 7d463a1..14d741d 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import "issue_43084_lib.dart";
 
 test() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline_modelled.expect
index 3881e5a..ce7dcd7 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import "issue_43084_lib.dart";
 
 main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.expect
index 6ce7aaa..c629301 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,7 +17,7 @@
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 
-typedef F = () →* dynamic;
+typedef F = () → dynamic;
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.modular.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.modular.expect
index 1854736..df42dcf 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.outline.expect
index 8451c8931..2c46c7a 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///issue_43084_lib.dart";
@@ -8,7 +8,7 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 
-typedef F = () →* dynamic;
+typedef F = () → dynamic;
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.transformed.expect
index 6ce7aaa..c629301 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 //
 // Problems in library:
 //
@@ -17,7 +17,7 @@
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 
-typedef F = () →* dynamic;
+typedef F = () → dynamic;
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084_lib.dart b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084_lib.dart
index bc47337..43f8523 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 typedef F = Function();
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart
index 2029f44..9f8234d 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart
@@ -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 "mixin_from_dill_lib1.dart" as lib1;
 import "mixin_from_dill_lib2.dart" as lib2;
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline.expect
index 3bbec562..9887e21 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import "mixin_from_dill_lib1.dart" as lib1;
 import "mixin_from_dill_lib2.dart" as lib2;
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline_modelled.expect
index 3bbec562..9887e21 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import "mixin_from_dill_lib1.dart" as lib1;
 import "mixin_from_dill_lib2.dart" as lib2;
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.expect
index 3a36e05..08d2d59 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "mixin_from_dill_lib1.dart" as mix;
 import "dart:core" as core;
@@ -8,105 +8,77 @@
 import "org-dartlang-testcase:///mixin_from_dill_lib2.dart" as lib2;
 
 static method main() → dynamic {
-  mix::Foo* foo1 = new mix::Foo::•();
+  mix::Foo foo1 = new mix::Foo::•();
   if(foo1 == null)
     throw "what?";
-  if(!(foo1 =={mix::_Foo&B&D::==}{(dynamic) →* core::bool*} foo1))
+  if(!(foo1 =={mix::_Foo&B&D::==}{(core::Object) → core::bool} foo1))
     throw "what?";
-  foo1.{mix::_Foo&B&D::x}(){() →* void};
-  mix2::Foo* foo2 = new mix2::Foo::•();
+  foo1.{mix::_Foo&B&D::x}(){() → void};
+  mix2::Foo foo2 = new mix2::Foo::•();
   if(foo2 == null)
     throw "what?";
-  if(!(foo2 =={mix2::_Foo&B&D::==}{(dynamic) →* core::bool*} foo2))
+  if(!(foo2 =={mix2::_Foo&B&D::==}{(core::Object) → core::bool} foo2))
     throw "what?";
-  foo2.{mix2::_Foo&B&D::x}(){() →* void};
+  foo2.{mix2::_Foo&B&D::x}(){() → void};
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix2;
 import "dart:core" as core;
 
 abstract class _Foo&B&D = mix2::B with mix2::D /*isAnonymousMixin*/  {
-  synthetic constructor •() → mix2::_Foo&B&D*
+  synthetic constructor •() → mix2::_Foo&B&D
     : super mix2::B::•()
     ;
-  mixin-super-stub operator ==(dynamic dynamic) → core::bool*
+  mixin-super-stub operator ==(core::Object dynamic) → core::bool
     return super.{mix2::D::==}(dynamic);
   mixin-super-stub method x() → void
     return super.{mix2::D::x}();
 }
 class Foo extends mix2::_Foo&B&D {
-  synthetic constructor •() → mix2::Foo*
+  synthetic constructor •() → mix2::Foo
     : super mix2::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::B*
+  synthetic constructor •() → mix2::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix2::C*
+  synthetic constructor •() → mix2::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::D*
+  synthetic constructor •() → mix2::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix;
 import "dart:core" as core;
 
 abstract class _Foo&B&D extends mix::B implements mix::D /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → mix::_Foo&B&D*
+  synthetic constructor •() → mix::_Foo&B&D
     : super mix::B::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
@@ -115,64 +87,36 @@
   }
 }
 class Foo extends mix::_Foo&B&D {
-  synthetic constructor •() → mix::Foo*
+  synthetic constructor •() → mix::Foo
     : super mix::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix::C {
-  synthetic constructor •() → mix::B*
+  synthetic constructor •() → mix::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix::C*
+  synthetic constructor •() → mix::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix::C {
-  synthetic constructor •() → mix::D*
+  synthetic constructor •() → mix::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.modular.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.modular.expect
index fc924c0..28fa3da 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "mixin_from_dill_lib1.dart" as mix;
 import "dart:core" as core;
@@ -8,92 +8,64 @@
 import "org-dartlang-testcase:///mixin_from_dill_lib2.dart" as lib2;
 
 static method main() → dynamic {
-  mix::Foo* foo1 = new mix::Foo::•();
+  mix::Foo foo1 = new mix::Foo::•();
   if(foo1 == null)
     throw "what?";
-  if(!(foo1 =={mix::_Foo&B&D::==}{(dynamic) →* core::bool*} foo1))
+  if(!(foo1 =={mix::_Foo&B&D::==}{(core::Object) → core::bool} foo1))
     throw "what?";
-  foo1.{mix::_Foo&B&D::x}(){() →* void};
-  mix2::Foo* foo2 = new mix2::Foo::•();
+  foo1.{mix::_Foo&B&D::x}(){() → void};
+  mix2::Foo foo2 = new mix2::Foo::•();
   if(foo2 == null)
     throw "what?";
-  if(!(foo2 =={mix2::_Foo&B&D::==}{(dynamic) →* core::bool*} foo2))
+  if(!(foo2 =={mix2::_Foo&B&D::==}{(core::Object) → core::bool} foo2))
     throw "what?";
-  foo2.{mix2::_Foo&B&D::x}(){() →* void};
+  foo2.{mix2::_Foo&B&D::x}(){() → void};
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix2;
 import "dart:core" as core;
 
 abstract class _Foo&B&D = mix2::B with mix2::D /*isAnonymousMixin*/  {
-  synthetic constructor •() → mix2::_Foo&B&D*
+  synthetic constructor •() → mix2::_Foo&B&D
     : super mix2::B::•()
     ;
-  mixin-super-stub operator ==(dynamic dynamic) → core::bool*
+  mixin-super-stub operator ==(core::Object dynamic) → core::bool
     return super.{mix2::D::==}(dynamic);
   mixin-super-stub method x() → void
     return super.{mix2::D::x}();
 }
 class Foo extends mix2::_Foo&B&D {
-  synthetic constructor •() → mix2::Foo*
+  synthetic constructor •() → mix2::Foo
     : super mix2::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::B*
+  synthetic constructor •() → mix2::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix2::C*
+  synthetic constructor •() → mix2::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::D*
+  synthetic constructor •() → mix2::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.outline.expect
index 027e58d..6e11fb9 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///mixin_from_dill_lib1.dart" as lib1;
@@ -7,134 +7,78 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 abstract class _Foo&B&D = self2::B with self2::D /*isAnonymousMixin*/  {
-  synthetic constructor •() → self2::_Foo&B&D*
+  synthetic constructor •() → self2::_Foo&B&D
     : super self2::B::•()
     ;
-  mixin-super-stub operator ==(dynamic dynamic) → core::bool*
+  mixin-super-stub operator ==(core::Object dynamic) → core::bool
     return super.{self2::D::==}(dynamic);
   mixin-super-stub method x() → void
     return super.{self2::D::x}();
 }
 class Foo extends self2::_Foo&B&D {
-  synthetic constructor •() → self2::Foo*
+  synthetic constructor •() → self2::Foo
     ;
 }
 abstract class B extends core::Object implements self2::C {
-  synthetic constructor •() → self2::B*
+  synthetic constructor •() → self2::B
     ;
-  operator ==(dynamic dynamic) → core::bool*
+  operator ==(core::Object dynamic) → core::bool
     ;
   method 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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → self2::C*
+  synthetic constructor •() → self2::C
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements self2::C {
-  synthetic constructor •() → self2::D*
+  synthetic constructor •() → self2::D
     ;
-  operator ==(dynamic dynamic) → core::bool*
+  operator ==(core::Object dynamic) → core::bool
     ;
   method 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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self3;
 import "dart:core" as core;
 
 abstract class _Foo&B&D extends self3::B implements self3::D /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → self3::_Foo&B&D*
+  synthetic constructor •() → self3::_Foo&B&D
     : super self3::B::•()
     ;
-  operator ==(dynamic dynamic) → core::bool*
+  operator ==(core::Object dynamic) → core::bool
     ;
   method x() → void
     ;
 }
 class Foo extends self3::_Foo&B&D {
-  synthetic constructor •() → self3::Foo*
+  synthetic constructor •() → self3::Foo
     ;
 }
 abstract class B extends core::Object implements self3::C {
-  synthetic constructor •() → self3::B*
+  synthetic constructor •() → self3::B
     ;
-  operator ==(dynamic dynamic) → core::bool*
+  operator ==(core::Object dynamic) → core::bool
     ;
   method 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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → self3::C*
+  synthetic constructor •() → self3::C
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements self3::C {
-  synthetic constructor •() → self3::D*
+  synthetic constructor •() → self3::D
     ;
-  operator ==(dynamic dynamic) → core::bool*
+  operator ==(core::Object dynamic) → core::bool
     ;
   method 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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.transformed.expect
index 5649484..7525847 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "mixin_from_dill_lib1.dart" as mix;
 import "dart:core" as core;
@@ -8,29 +8,29 @@
 import "org-dartlang-testcase:///mixin_from_dill_lib2.dart" as lib2;
 
 static method main() → dynamic {
-  mix::Foo* foo1 = new mix::Foo::•();
+  mix::Foo foo1 = new mix::Foo::•();
   if(foo1 == null)
     throw "what?";
-  if(!(foo1 =={mix::_Foo&B&D::==}{(dynamic) →* core::bool*} foo1))
+  if(!(foo1 =={mix::_Foo&B&D::==}{(core::Object) → core::bool} foo1))
     throw "what?";
-  foo1.{mix::_Foo&B&D::x}(){() →* void};
-  mix2::Foo* foo2 = new mix2::Foo::•();
+  foo1.{mix::_Foo&B&D::x}(){() → void};
+  mix2::Foo foo2 = new mix2::Foo::•();
   if(foo2 == null)
     throw "what?";
-  if(!(foo2 =={mix2::_Foo&B&D::==}{(dynamic) →* core::bool*} foo2))
+  if(!(foo2 =={mix2::_Foo&B&D::==}{(core::Object) → core::bool} foo2))
     throw "what?";
-  foo2.{mix2::_Foo&B&D::x}(){() →* void};
+  foo2.{mix2::_Foo&B&D::x}(){() → void};
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix2;
 import "dart:core" as core;
 
 abstract class _Foo&B&D extends mix2::B implements mix2::D /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → mix2::_Foo&B&D*
+  synthetic constructor •() → mix2::_Foo&B&D
     : super mix2::B::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
@@ -39,77 +39,49 @@
   }
 }
 class Foo extends mix2::_Foo&B&D {
-  synthetic constructor •() → mix2::Foo*
+  synthetic constructor •() → mix2::Foo
     : super mix2::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::B*
+  synthetic constructor •() → mix2::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix2::C*
+  synthetic constructor •() → mix2::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::D*
+  synthetic constructor •() → mix2::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix;
 import "dart:core" as core;
 
 abstract class _Foo&B&D extends mix::B implements mix::D /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → mix::_Foo&B&D*
+  synthetic constructor •() → mix::_Foo&B&D
     : super mix::B::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
@@ -118,64 +90,36 @@
   }
 }
 class Foo extends mix::_Foo&B&D {
-  synthetic constructor •() → mix::Foo*
+  synthetic constructor •() → mix::Foo
     : super mix::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix::C {
-  synthetic constructor •() → mix::B*
+  synthetic constructor •() → mix::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix::C*
+  synthetic constructor •() → mix::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix::C {
-  synthetic constructor •() → mix::D*
+  synthetic constructor •() → mix::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart
index 2029f44..9f8234d 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.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 "mixin_from_dill_lib1.dart" as lib1;
 import "mixin_from_dill_lib2.dart" as lib2;
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.textual_outline.expect
index 3bbec562..9887e21 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import "mixin_from_dill_lib1.dart" as lib1;
 import "mixin_from_dill_lib2.dart" as lib2;
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.textual_outline_modelled.expect
index 3bbec562..9887e21 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import "mixin_from_dill_lib1.dart" as lib1;
 import "mixin_from_dill_lib2.dart" as lib2;
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.expect
index 787fde3..137cd67 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "mixin_from_dill_lib1.dart" as mix;
 import "dart:core" as core;
@@ -8,168 +8,112 @@
 import "org-dartlang-testcase:///mixin_from_dill_lib2.dart" as lib2;
 
 static method main() → dynamic {
-  mix::Foo* foo1 = new mix::Foo::•();
+  mix::Foo foo1 = new mix::Foo::•();
   if(foo1 == null)
     throw "what?";
-  if(!(foo1 =={mix::_Foo&B&D::==}{(dynamic) →* core::bool*} foo1))
+  if(!(foo1 =={mix::_Foo&B&D::==}{(core::Object) → core::bool} foo1))
     throw "what?";
-  foo1.{mix::_Foo&B&D::x}(){() →* void};
-  mix2::Foo* foo2 = new mix2::Foo::•();
+  foo1.{mix::_Foo&B&D::x}(){() → void};
+  mix2::Foo foo2 = new mix2::Foo::•();
   if(foo2 == null)
     throw "what?";
-  if(!(foo2 =={mix2::_Foo&B&D::==}{(dynamic) →* core::bool*} foo2))
+  if(!(foo2 =={mix2::_Foo&B&D::==}{(core::Object) → core::bool} foo2))
     throw "what?";
-  foo2.{mix2::_Foo&B&D::x}(){() →* void};
+  foo2.{mix2::_Foo&B&D::x}(){() → void};
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix;
 import "dart:core" as core;
 
 abstract class _Foo&B&D = mix::B with mix::D /*isAnonymousMixin*/  {
-  synthetic constructor •() → mix::_Foo&B&D*
+  synthetic constructor •() → mix::_Foo&B&D
     : super mix::B::•()
     ;
-  mixin-super-stub operator ==(dynamic dynamic) → core::bool*
+  mixin-super-stub operator ==(core::Object dynamic) → core::bool
     return super.{mix::D::==}(dynamic);
   mixin-super-stub method x() → void
     return super.{mix::D::x}();
 }
 class Foo extends mix::_Foo&B&D {
-  synthetic constructor •() → mix::Foo*
+  synthetic constructor •() → mix::Foo
     : super mix::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix::C {
-  synthetic constructor •() → mix::B*
+  synthetic constructor •() → mix::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix::C*
+  synthetic constructor •() → mix::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix::C {
-  synthetic constructor •() → mix::D*
+  synthetic constructor •() → mix::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix2;
 import "dart:core" as core;
 
 abstract class _Foo&B&D = mix2::B with mix2::D /*isAnonymousMixin*/  {
-  synthetic constructor •() → mix2::_Foo&B&D*
+  synthetic constructor •() → mix2::_Foo&B&D
     : super mix2::B::•()
     ;
-  mixin-super-stub operator ==(dynamic dynamic) → core::bool*
+  mixin-super-stub operator ==(core::Object dynamic) → core::bool
     return super.{mix2::D::==}(dynamic);
   mixin-super-stub method x() → void
     return super.{mix2::D::x}();
 }
 class Foo extends mix2::_Foo&B&D {
-  synthetic constructor •() → mix2::Foo*
+  synthetic constructor •() → mix2::Foo
     : super mix2::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::B*
+  synthetic constructor •() → mix2::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix2::C*
+  synthetic constructor •() → mix2::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::D*
+  synthetic constructor •() → mix2::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.modular.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.modular.expect
index 787fde3..137cd67 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "mixin_from_dill_lib1.dart" as mix;
 import "dart:core" as core;
@@ -8,168 +8,112 @@
 import "org-dartlang-testcase:///mixin_from_dill_lib2.dart" as lib2;
 
 static method main() → dynamic {
-  mix::Foo* foo1 = new mix::Foo::•();
+  mix::Foo foo1 = new mix::Foo::•();
   if(foo1 == null)
     throw "what?";
-  if(!(foo1 =={mix::_Foo&B&D::==}{(dynamic) →* core::bool*} foo1))
+  if(!(foo1 =={mix::_Foo&B&D::==}{(core::Object) → core::bool} foo1))
     throw "what?";
-  foo1.{mix::_Foo&B&D::x}(){() →* void};
-  mix2::Foo* foo2 = new mix2::Foo::•();
+  foo1.{mix::_Foo&B&D::x}(){() → void};
+  mix2::Foo foo2 = new mix2::Foo::•();
   if(foo2 == null)
     throw "what?";
-  if(!(foo2 =={mix2::_Foo&B&D::==}{(dynamic) →* core::bool*} foo2))
+  if(!(foo2 =={mix2::_Foo&B&D::==}{(core::Object) → core::bool} foo2))
     throw "what?";
-  foo2.{mix2::_Foo&B&D::x}(){() →* void};
+  foo2.{mix2::_Foo&B&D::x}(){() → void};
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix;
 import "dart:core" as core;
 
 abstract class _Foo&B&D = mix::B with mix::D /*isAnonymousMixin*/  {
-  synthetic constructor •() → mix::_Foo&B&D*
+  synthetic constructor •() → mix::_Foo&B&D
     : super mix::B::•()
     ;
-  mixin-super-stub operator ==(dynamic dynamic) → core::bool*
+  mixin-super-stub operator ==(core::Object dynamic) → core::bool
     return super.{mix::D::==}(dynamic);
   mixin-super-stub method x() → void
     return super.{mix::D::x}();
 }
 class Foo extends mix::_Foo&B&D {
-  synthetic constructor •() → mix::Foo*
+  synthetic constructor •() → mix::Foo
     : super mix::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix::C {
-  synthetic constructor •() → mix::B*
+  synthetic constructor •() → mix::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix::C*
+  synthetic constructor •() → mix::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix::C {
-  synthetic constructor •() → mix::D*
+  synthetic constructor •() → mix::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix2;
 import "dart:core" as core;
 
 abstract class _Foo&B&D = mix2::B with mix2::D /*isAnonymousMixin*/  {
-  synthetic constructor •() → mix2::_Foo&B&D*
+  synthetic constructor •() → mix2::_Foo&B&D
     : super mix2::B::•()
     ;
-  mixin-super-stub operator ==(dynamic dynamic) → core::bool*
+  mixin-super-stub operator ==(core::Object dynamic) → core::bool
     return super.{mix2::D::==}(dynamic);
   mixin-super-stub method x() → void
     return super.{mix2::D::x}();
 }
 class Foo extends mix2::_Foo&B&D {
-  synthetic constructor •() → mix2::Foo*
+  synthetic constructor •() → mix2::Foo
     : super mix2::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::B*
+  synthetic constructor •() → mix2::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix2::C*
+  synthetic constructor •() → mix2::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::D*
+  synthetic constructor •() → mix2::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.outline.expect
index 4c58fa2..3fcb337 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 
 import "org-dartlang-testcase:///mixin_from_dill_lib1.dart" as lib1;
@@ -7,134 +7,78 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
 abstract class _Foo&B&D = self2::B with self2::D /*isAnonymousMixin*/  {
-  synthetic constructor •() → self2::_Foo&B&D*
+  synthetic constructor •() → self2::_Foo&B&D
     : super self2::B::•()
     ;
-  mixin-super-stub operator ==(dynamic dynamic) → core::bool*
+  mixin-super-stub operator ==(core::Object dynamic) → core::bool
     return super.{self2::D::==}(dynamic);
   mixin-super-stub method x() → void
     return super.{self2::D::x}();
 }
 class Foo extends self2::_Foo&B&D {
-  synthetic constructor •() → self2::Foo*
+  synthetic constructor •() → self2::Foo
     ;
 }
 abstract class B extends core::Object implements self2::C {
-  synthetic constructor •() → self2::B*
+  synthetic constructor •() → self2::B
     ;
-  operator ==(dynamic dynamic) → core::bool*
+  operator ==(core::Object dynamic) → core::bool
     ;
   method 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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → self2::C*
+  synthetic constructor •() → self2::C
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements self2::C {
-  synthetic constructor •() → self2::D*
+  synthetic constructor •() → self2::D
     ;
-  operator ==(dynamic dynamic) → core::bool*
+  operator ==(core::Object dynamic) → core::bool
     ;
   method 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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self3;
 import "dart:core" as core;
 
 abstract class _Foo&B&D = self3::B with self3::D /*isAnonymousMixin*/  {
-  synthetic constructor •() → self3::_Foo&B&D*
+  synthetic constructor •() → self3::_Foo&B&D
     : super self3::B::•()
     ;
-  mixin-super-stub operator ==(dynamic dynamic) → core::bool*
+  mixin-super-stub operator ==(core::Object dynamic) → core::bool
     return super.{self3::D::==}(dynamic);
   mixin-super-stub method x() → void
     return super.{self3::D::x}();
 }
 class Foo extends self3::_Foo&B&D {
-  synthetic constructor •() → self3::Foo*
+  synthetic constructor •() → self3::Foo
     ;
 }
 abstract class B extends core::Object implements self3::C {
-  synthetic constructor •() → self3::B*
+  synthetic constructor •() → self3::B
     ;
-  operator ==(dynamic dynamic) → core::bool*
+  operator ==(core::Object dynamic) → core::bool
     ;
   method 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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → self3::C*
+  synthetic constructor •() → self3::C
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements self3::C {
-  synthetic constructor •() → self3::D*
+  synthetic constructor •() → self3::D
     ;
-  operator ==(dynamic dynamic) → core::bool*
+  operator ==(core::Object dynamic) → core::bool
     ;
   method 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 get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.transformed.expect
index f100680..45c1fab 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "mixin_from_dill_lib1.dart" as mix;
 import "dart:core" as core;
@@ -8,29 +8,29 @@
 import "org-dartlang-testcase:///mixin_from_dill_lib2.dart" as lib2;
 
 static method main() → dynamic {
-  mix::Foo* foo1 = new mix::Foo::•();
+  mix::Foo foo1 = new mix::Foo::•();
   if(foo1 == null)
     throw "what?";
-  if(!(foo1 =={mix::_Foo&B&D::==}{(dynamic) →* core::bool*} foo1))
+  if(!(foo1 =={mix::_Foo&B&D::==}{(core::Object) → core::bool} foo1))
     throw "what?";
-  foo1.{mix::_Foo&B&D::x}(){() →* void};
-  mix2::Foo* foo2 = new mix2::Foo::•();
+  foo1.{mix::_Foo&B&D::x}(){() → void};
+  mix2::Foo foo2 = new mix2::Foo::•();
   if(foo2 == null)
     throw "what?";
-  if(!(foo2 =={mix2::_Foo&B&D::==}{(dynamic) →* core::bool*} foo2))
+  if(!(foo2 =={mix2::_Foo&B&D::==}{(core::Object) → core::bool} foo2))
     throw "what?";
-  foo2.{mix2::_Foo&B&D::x}(){() →* void};
+  foo2.{mix2::_Foo&B&D::x}(){() → void};
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix;
 import "dart:core" as core;
 
 abstract class _Foo&B&D extends mix::B implements mix::D /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → mix::_Foo&B&D*
+  synthetic constructor •() → mix::_Foo&B&D
     : super mix::B::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
@@ -39,77 +39,49 @@
   }
 }
 class Foo extends mix::_Foo&B&D {
-  synthetic constructor •() → mix::Foo*
+  synthetic constructor •() → mix::Foo
     : super mix::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix::C {
-  synthetic constructor •() → mix::B*
+  synthetic constructor •() → mix::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix::C*
+  synthetic constructor •() → mix::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix::C {
-  synthetic constructor •() → mix::D*
+  synthetic constructor •() → mix::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mix2;
 import "dart:core" as core;
 
 abstract class _Foo&B&D extends mix2::B implements mix2::D /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → mix2::_Foo&B&D*
+  synthetic constructor •() → mix2::_Foo&B&D
     : super mix2::B::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
@@ -118,64 +90,36 @@
   }
 }
 class Foo extends mix2::_Foo&B&D {
-  synthetic constructor •() → mix2::Foo*
+  synthetic constructor •() → mix2::Foo
     : super mix2::_Foo&B&D::•()
     ;
 }
 abstract class B extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::B*
+  synthetic constructor •() → mix2::B
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("B.==");
     return true;
   }
   method x() → void {
     core::print("B.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class C extends core::Object {
-  synthetic constructor •() → mix2::C*
+  synthetic constructor •() → mix2::C
     : super core::Object::•()
     ;
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class D extends core::Object implements mix2::C {
-  synthetic constructor •() → mix2::D*
+  synthetic constructor •() → mix2::D
     : super core::Object::•()
     ;
-  operator ==(dynamic dynamic) → core::bool* {
+  operator ==(core::Object dynamic) → core::bool {
     core::print("D.==");
     return true;
   }
   method x() → void {
     core::print("D.x");
   }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib1.dart b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib1.dart
index f123e40..38ee449 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib1.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib1.dart
@@ -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
-
 class Foo extends B with D {}
 abstract class B implements C {
   bool operator==(dynamic) {
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib2.dart b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib2.dart
index f123e40..38ee449 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib2.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib2.dart
@@ -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
-
 class Foo extends B with D {}
 abstract class B implements C {
   bool operator==(dynamic) {
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart
index e540b74..5a443a4 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect
index 7b65d90..33ce9da 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect
index 7b65d90..33ce9da 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.expect
index 68cbb20..9c874d1 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "stub_or_not_lib1.dart" as stu;
 
 import "org-dartlang-testcase:///stub_or_not_lib1.dart";
 
 class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
+  synthetic constructor •() → self::ProblemClass
     : super stu::Foo::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu;
 import "dart:core" as core;
 import "stub_or_not_lib2.dart" as stu2;
@@ -19,71 +19,41 @@
 import "org-dartlang-testcase:///stub_or_not_lib2.dart";
 
 abstract class Qux extends core::Object implements stu2::EventFileA {
-  synthetic constructor •() → stu::Qux*
+  synthetic constructor •() → stu::Qux
     : super core::Object::•()
     ;
-  method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void {}
 }
 class EvenFileBPrime extends stu2::EvenFileB {
-  synthetic constructor •() → stu::EvenFileBPrime*
+  synthetic constructor •() → stu::EvenFileBPrime
     : super stu2::EvenFileB::•()
     ;
 }
 abstract class Baz extends stu::Qux {
-  synthetic constructor •() → stu::Baz*
+  synthetic constructor •() → stu::Baz
     : super stu::Qux::•()
     ;
-  method handleEvent(covariant-by-declaration stu::EvenFileBPrime* entry) → void {}
+  method handleEvent(covariant-by-declaration stu::EvenFileBPrime entry) → void {}
 }
 abstract class Foo extends stu::Baz implements stu::Qux {
-  synthetic constructor •() → stu::Foo*
+  synthetic constructor •() → stu::Foo
     : super stu::Baz::•()
     ;
-  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void; -> stu::Qux::handleEvent
+  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void; -> stu::Qux::handleEvent
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu2;
 import "dart:core" as core;
 
 abstract class EventFileA extends core::Object {
-  synthetic constructor •() → stu2::EventFileA*
+  synthetic constructor •() → stu2::EventFileA
     : super core::Object::•()
     ;
-  abstract method handleEvent(stu2::EvenFileB* entry) → void;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method handleEvent(stu2::EvenFileB entry) → void;
 }
 class EvenFileB extends core::Object {
-  synthetic constructor •() → stu2::EvenFileB*
+  synthetic constructor •() → stu2::EvenFileB
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.modular.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.modular.expect
index 02192bf..55489d4 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.modular.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "stub_or_not_lib1.dart" as stu;
 
 import "org-dartlang-testcase:///stub_or_not_lib1.dart";
 
 class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
+  synthetic constructor •() → self::ProblemClass
     : super stu::Foo::•()
     ;
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.outline.expect
index b35d702..482db91 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.outline.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "stub_or_not_lib1.dart" as stu;
 
 import "org-dartlang-testcase:///stub_or_not_lib1.dart";
 
 class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
+  synthetic constructor •() → self::ProblemClass
     ;
 }
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu;
 import "dart:core" as core;
 import "stub_or_not_lib2.dart" as stu2;
@@ -19,67 +19,37 @@
 import "org-dartlang-testcase:///stub_or_not_lib2.dart";
 
 abstract class Qux extends core::Object implements stu2::EventFileA {
-  synthetic constructor •() → stu::Qux*
+  synthetic constructor •() → stu::Qux
     ;
-  method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void
+  method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class EvenFileBPrime extends stu2::EvenFileB {
-  synthetic constructor •() → stu::EvenFileBPrime*
+  synthetic constructor •() → stu::EvenFileBPrime
     ;
 }
 abstract class Baz extends stu::Qux {
-  synthetic constructor •() → stu::Baz*
+  synthetic constructor •() → stu::Baz
     ;
-  method handleEvent(covariant-by-declaration stu::EvenFileBPrime* entry) → void
+  method handleEvent(covariant-by-declaration stu::EvenFileBPrime entry) → void
     ;
 }
 abstract class Foo extends stu::Baz implements stu::Qux {
-  synthetic constructor •() → stu::Foo*
+  synthetic constructor •() → stu::Foo
     ;
-  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void; -> stu::Qux::handleEvent
+  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void; -> stu::Qux::handleEvent
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu2;
 import "dart:core" as core;
 
 abstract class EventFileA extends core::Object {
-  synthetic constructor •() → stu2::EventFileA*
+  synthetic constructor •() → stu2::EventFileA
     ;
-  abstract method handleEvent(stu2::EvenFileB* entry) → void;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method handleEvent(stu2::EvenFileB entry) → void;
 }
 class EvenFileB extends core::Object {
-  synthetic constructor •() → stu2::EvenFileB*
+  synthetic constructor •() → stu2::EvenFileB
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.transformed.expect
index 68cbb20..9c874d1 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.transformed.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "stub_or_not_lib1.dart" as stu;
 
 import "org-dartlang-testcase:///stub_or_not_lib1.dart";
 
 class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
+  synthetic constructor •() → self::ProblemClass
     : super stu::Foo::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu;
 import "dart:core" as core;
 import "stub_or_not_lib2.dart" as stu2;
@@ -19,71 +19,41 @@
 import "org-dartlang-testcase:///stub_or_not_lib2.dart";
 
 abstract class Qux extends core::Object implements stu2::EventFileA {
-  synthetic constructor •() → stu::Qux*
+  synthetic constructor •() → stu::Qux
     : super core::Object::•()
     ;
-  method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void {}
 }
 class EvenFileBPrime extends stu2::EvenFileB {
-  synthetic constructor •() → stu::EvenFileBPrime*
+  synthetic constructor •() → stu::EvenFileBPrime
     : super stu2::EvenFileB::•()
     ;
 }
 abstract class Baz extends stu::Qux {
-  synthetic constructor •() → stu::Baz*
+  synthetic constructor •() → stu::Baz
     : super stu::Qux::•()
     ;
-  method handleEvent(covariant-by-declaration stu::EvenFileBPrime* entry) → void {}
+  method handleEvent(covariant-by-declaration stu::EvenFileBPrime entry) → void {}
 }
 abstract class Foo extends stu::Baz implements stu::Qux {
-  synthetic constructor •() → stu::Foo*
+  synthetic constructor •() → stu::Foo
     : super stu::Baz::•()
     ;
-  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void; -> stu::Qux::handleEvent
+  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void; -> stu::Qux::handleEvent
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu2;
 import "dart:core" as core;
 
 abstract class EventFileA extends core::Object {
-  synthetic constructor •() → stu2::EventFileA*
+  synthetic constructor •() → stu2::EventFileA
     : super core::Object::•()
     ;
-  abstract method handleEvent(stu2::EvenFileB* entry) → void;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method handleEvent(stu2::EvenFileB entry) → void;
 }
 class EvenFileB extends core::Object {
-  synthetic constructor •() → stu2::EvenFileB*
+  synthetic constructor •() → stu2::EvenFileB
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart
index e540b74..5a443a4 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect
index 7b65d90..33ce9da 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect
index 7b65d90..33ce9da 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.expect
index 68cbb20..9c874d1 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "stub_or_not_lib1.dart" as stu;
 
 import "org-dartlang-testcase:///stub_or_not_lib1.dart";
 
 class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
+  synthetic constructor •() → self::ProblemClass
     : super stu::Foo::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu;
 import "dart:core" as core;
 import "stub_or_not_lib2.dart" as stu2;
@@ -19,71 +19,41 @@
 import "org-dartlang-testcase:///stub_or_not_lib2.dart";
 
 abstract class Qux extends core::Object implements stu2::EventFileA {
-  synthetic constructor •() → stu::Qux*
+  synthetic constructor •() → stu::Qux
     : super core::Object::•()
     ;
-  method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void {}
 }
 class EvenFileBPrime extends stu2::EvenFileB {
-  synthetic constructor •() → stu::EvenFileBPrime*
+  synthetic constructor •() → stu::EvenFileBPrime
     : super stu2::EvenFileB::•()
     ;
 }
 abstract class Baz extends stu::Qux {
-  synthetic constructor •() → stu::Baz*
+  synthetic constructor •() → stu::Baz
     : super stu::Qux::•()
     ;
-  method handleEvent(covariant-by-declaration stu::EvenFileBPrime* entry) → void {}
+  method handleEvent(covariant-by-declaration stu::EvenFileBPrime entry) → void {}
 }
 abstract class Foo extends stu::Baz implements stu::Qux {
-  synthetic constructor •() → stu::Foo*
+  synthetic constructor •() → stu::Foo
     : super stu::Baz::•()
     ;
-  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void; -> stu::Qux::handleEvent
+  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void; -> stu::Qux::handleEvent
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu2;
 import "dart:core" as core;
 
 abstract class EventFileA extends core::Object {
-  synthetic constructor •() → stu2::EventFileA*
+  synthetic constructor •() → stu2::EventFileA
     : super core::Object::•()
     ;
-  abstract method handleEvent(stu2::EvenFileB* entry) → void;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method handleEvent(stu2::EvenFileB entry) → void;
 }
 class EvenFileB extends core::Object {
-  synthetic constructor •() → stu2::EvenFileB*
+  synthetic constructor •() → stu2::EvenFileB
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.modular.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.modular.expect
index 68cbb20..9c874d1 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.modular.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "stub_or_not_lib1.dart" as stu;
 
 import "org-dartlang-testcase:///stub_or_not_lib1.dart";
 
 class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
+  synthetic constructor •() → self::ProblemClass
     : super stu::Foo::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu;
 import "dart:core" as core;
 import "stub_or_not_lib2.dart" as stu2;
@@ -19,71 +19,41 @@
 import "org-dartlang-testcase:///stub_or_not_lib2.dart";
 
 abstract class Qux extends core::Object implements stu2::EventFileA {
-  synthetic constructor •() → stu::Qux*
+  synthetic constructor •() → stu::Qux
     : super core::Object::•()
     ;
-  method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void {}
 }
 class EvenFileBPrime extends stu2::EvenFileB {
-  synthetic constructor •() → stu::EvenFileBPrime*
+  synthetic constructor •() → stu::EvenFileBPrime
     : super stu2::EvenFileB::•()
     ;
 }
 abstract class Baz extends stu::Qux {
-  synthetic constructor •() → stu::Baz*
+  synthetic constructor •() → stu::Baz
     : super stu::Qux::•()
     ;
-  method handleEvent(covariant-by-declaration stu::EvenFileBPrime* entry) → void {}
+  method handleEvent(covariant-by-declaration stu::EvenFileBPrime entry) → void {}
 }
 abstract class Foo extends stu::Baz implements stu::Qux {
-  synthetic constructor •() → stu::Foo*
+  synthetic constructor •() → stu::Foo
     : super stu::Baz::•()
     ;
-  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void; -> stu::Qux::handleEvent
+  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void; -> stu::Qux::handleEvent
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu2;
 import "dart:core" as core;
 
 abstract class EventFileA extends core::Object {
-  synthetic constructor •() → stu2::EventFileA*
+  synthetic constructor •() → stu2::EventFileA
     : super core::Object::•()
     ;
-  abstract method handleEvent(stu2::EvenFileB* entry) → void;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method handleEvent(stu2::EvenFileB entry) → void;
 }
 class EvenFileB extends core::Object {
-  synthetic constructor •() → stu2::EvenFileB*
+  synthetic constructor •() → stu2::EvenFileB
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.outline.expect
index b35d702..482db91 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.outline.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "stub_or_not_lib1.dart" as stu;
 
 import "org-dartlang-testcase:///stub_or_not_lib1.dart";
 
 class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
+  synthetic constructor •() → self::ProblemClass
     ;
 }
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu;
 import "dart:core" as core;
 import "stub_or_not_lib2.dart" as stu2;
@@ -19,67 +19,37 @@
 import "org-dartlang-testcase:///stub_or_not_lib2.dart";
 
 abstract class Qux extends core::Object implements stu2::EventFileA {
-  synthetic constructor •() → stu::Qux*
+  synthetic constructor •() → stu::Qux
     ;
-  method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void
+  method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class EvenFileBPrime extends stu2::EvenFileB {
-  synthetic constructor •() → stu::EvenFileBPrime*
+  synthetic constructor •() → stu::EvenFileBPrime
     ;
 }
 abstract class Baz extends stu::Qux {
-  synthetic constructor •() → stu::Baz*
+  synthetic constructor •() → stu::Baz
     ;
-  method handleEvent(covariant-by-declaration stu::EvenFileBPrime* entry) → void
+  method handleEvent(covariant-by-declaration stu::EvenFileBPrime entry) → void
     ;
 }
 abstract class Foo extends stu::Baz implements stu::Qux {
-  synthetic constructor •() → stu::Foo*
+  synthetic constructor •() → stu::Foo
     ;
-  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void; -> stu::Qux::handleEvent
+  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void; -> stu::Qux::handleEvent
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu2;
 import "dart:core" as core;
 
 abstract class EventFileA extends core::Object {
-  synthetic constructor •() → stu2::EventFileA*
+  synthetic constructor •() → stu2::EventFileA
     ;
-  abstract method handleEvent(stu2::EvenFileB* entry) → void;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method handleEvent(stu2::EvenFileB entry) → void;
 }
 class EvenFileB extends core::Object {
-  synthetic constructor •() → stu2::EvenFileB*
+  synthetic constructor •() → stu2::EvenFileB
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.transformed.expect
index 68cbb20..9c874d1 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.transformed.expect
@@ -1,17 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "stub_or_not_lib1.dart" as stu;
 
 import "org-dartlang-testcase:///stub_or_not_lib1.dart";
 
 class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
+  synthetic constructor •() → self::ProblemClass
     : super stu::Foo::•()
     ;
 }
 static method main() → dynamic {}
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu;
 import "dart:core" as core;
 import "stub_or_not_lib2.dart" as stu2;
@@ -19,71 +19,41 @@
 import "org-dartlang-testcase:///stub_or_not_lib2.dart";
 
 abstract class Qux extends core::Object implements stu2::EventFileA {
-  synthetic constructor •() → stu::Qux*
+  synthetic constructor •() → stu::Qux
     : super core::Object::•()
     ;
-  method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void {}
 }
 class EvenFileBPrime extends stu2::EvenFileB {
-  synthetic constructor •() → stu::EvenFileBPrime*
+  synthetic constructor •() → stu::EvenFileBPrime
     : super stu2::EvenFileB::•()
     ;
 }
 abstract class Baz extends stu::Qux {
-  synthetic constructor •() → stu::Baz*
+  synthetic constructor •() → stu::Baz
     : super stu::Qux::•()
     ;
-  method handleEvent(covariant-by-declaration stu::EvenFileBPrime* entry) → void {}
+  method handleEvent(covariant-by-declaration stu::EvenFileBPrime entry) → void {}
 }
 abstract class Foo extends stu::Baz implements stu::Qux {
-  synthetic constructor •() → stu::Foo*
+  synthetic constructor •() → stu::Foo
     : super stu::Baz::•()
     ;
-  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB* entry) → void; -> stu::Qux::handleEvent
+  abstract member-signature method handleEvent(covariant-by-declaration stu2::EvenFileB entry) → void; -> stu::Qux::handleEvent
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as stu2;
 import "dart:core" as core;
 
 abstract class EventFileA extends core::Object {
-  synthetic constructor •() → stu2::EventFileA*
+  synthetic constructor •() → stu2::EventFileA
     : super core::Object::•()
     ;
-  abstract method handleEvent(stu2::EvenFileB* entry) → void;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract method handleEvent(stu2::EvenFileB entry) → void;
 }
 class EvenFileB extends core::Object {
-  synthetic constructor •() → stu2::EvenFileB*
+  synthetic constructor •() → stu2::EvenFileB
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart
index 07c2343..ae62042 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 import 'stub_or_not_lib2.dart';
 
 abstract class Qux implements EventFileA {
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart
index 3286464..9a30c0e 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
 abstract class EventFileA {
   void handleEvent(EvenFileB entry);
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart
index 4e03138..9007356 100644
--- a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart
@@ -1,6 +1,6 @@
 import "variance_from_dill_lib.dart";
 typedef G<T> = Function(F<T>);
-// @dart=2.9
+
 main() {
   print(G);
 }
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.expect
index 321193c..17247a3 100644
--- a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.expect
@@ -9,11 +9,11 @@
   core::print(#C1);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
-typedef F<unrelated T extends core::Object* = dynamic> = () →* dynamic;
+typedef F<unrelated T extends core::Object? = dynamic> = () → dynamic;
 
 constants  {
   #C1 = TypeLiteralConstant((() →* dynamic) →* dynamic)
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.outline.expect
index 396339f..7516e23 100644
--- a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.outline.expect
@@ -8,8 +8,8 @@
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
-typedef F<unrelated T extends core::Object* = dynamic> = () →* dynamic;
+typedef F<unrelated T extends core::Object? = dynamic> = () → dynamic;
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.transformed.expect
index 321193c..17247a3 100644
--- a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.transformed.expect
@@ -9,11 +9,11 @@
   core::print(#C1);
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as self2;
 import "dart:core" as core;
 
-typedef F<unrelated T extends core::Object* = dynamic> = () →* dynamic;
+typedef F<unrelated T extends core::Object? = dynamic> = () → dynamic;
 
 constants  {
   #C1 = TypeLiteralConstant((() →* dynamic) →* dynamic)
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill_lib.dart b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill_lib.dart
index 17a28f9..3c62f22 100644
--- a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill_lib.dart
@@ -1,2 +1 @@
-// @dart=2.9
 typedef F<T> = Function();
\ No newline at end of file
diff --git a/pkg/front_end/testcases/textual_outline.status b/pkg/front_end/testcases/textual_outline.status
index d4c50c6..7c5d010 100644
--- a/pkg/front_end/testcases/textual_outline.status
+++ b/pkg/front_end/testcases/textual_outline.status
@@ -59,6 +59,7 @@
 general/constants/number_folds: FormatterCrash
 general/constants/number_folds_opt_out: FormatterCrash
 general/constants/various: FormatterCrash
+general/constants/various2: FormatterCrash
 general/constructor_initializer_invalid: FormatterCrash
 general/covariant_generic2: FormatterCrash
 general/duplicated_declarations: FormatterCrash
diff --git a/third_party/pkg_tested/OWNERS b/third_party/pkg_tested/OWNERS
new file mode 100644
index 0000000..e1e4bf0
--- /dev/null
+++ b/third_party/pkg_tested/OWNERS
@@ -0,0 +1,2 @@
+# Test status file
+per-file pkg_tested.status=file:/tools/OWNERS_ENG
diff --git a/tools/VERSION b/tools/VERSION
index 0c614a7..a02d0b9 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 17
 PATCH 0
-PRERELEASE 197
+PRERELEASE 198
 PRERELEASE_PATCH 0
\ No newline at end of file