Version 2.13.0-74.0.dev

Merge commit 'f32575e43aacc8d6900edb5b6b14f6b122b58f4f' into 'dev'
diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json
index 8400a1c..cba63c1 100644
--- a/.dart_tool/package_config.json
+++ b/.dart_tool/package_config.json
@@ -11,7 +11,7 @@
     "constraint, update this by running tools/generate_package_config.dart."
   ],
   "configVersion": 2,
-  "generated": "2021-02-23T11:38:53.873726",
+  "generated": "2021-02-24T07:33:35.310314",
   "generator": "tools/generate_package_config.dart",
   "packages": [
     {
@@ -569,7 +569,7 @@
       "name": "shelf_packages_handler",
       "rootUri": "../third_party/pkg/shelf_packages_handler",
       "packageUri": "lib/",
-      "languageVersion": "2.0"
+      "languageVersion": "2.12"
     },
     {
       "name": "shelf_proxy",
@@ -581,13 +581,13 @@
       "name": "shelf_static",
       "rootUri": "../third_party/pkg/shelf_static",
       "packageUri": "lib/",
-      "languageVersion": "2.3"
+      "languageVersion": "2.12"
     },
     {
       "name": "shelf_web_socket",
       "rootUri": "../third_party/pkg/shelf_web_socket",
       "packageUri": "lib/",
-      "languageVersion": "2.1"
+      "languageVersion": "2.12"
     },
     {
       "name": "smith",
diff --git a/DEPS b/DEPS
index 6c57713..436dc5d 100644
--- a/DEPS
+++ b/DEPS
@@ -140,11 +140,11 @@
   "resource_rev": "6b79867d0becf5395e5819a75720963b8298e9a7",
   "root_certificates_rev": "7e5ec82c99677a2e5b95ce296c4d68b0d3378ed8",
   "rust_revision": "b7856f695d65a8ebc846754f97d15814bcb1c244",
-  "shelf_static_rev": "779a6e99b320ce9ed4ff6b88bd0cdc40ea5c62c4",
-  "shelf_packages_handler_tag": "2.0.0",
+  "shelf_static_rev": "bafde9eaddb5d02040a614e41deddd971b4d67e6",
+  "shelf_packages_handler_rev": "78302e67c035047e6348e692b0c1182131f0fe35",
   "shelf_proxy_tag": "0.1.0+7",
   "shelf_rev": "fa5afaa38bd51dedeeaa25b7bfd8822cabbcc57f",
-  "shelf_web_socket_rev": "dedd6040d45159bd0661eb5252c7e936d6b7514a",
+  "shelf_web_socket_rev": "091d2ed2105827b7f376668fafc88b2b8c845d71",
   "source_map_stack_trace_rev": "1c3026f69d9771acf2f8c176a1ab750463309cce",
   "source_maps-0.9.4_rev": "38524",
   "source_maps_rev": "53eb92ccfe6e64924054f83038a534b959b12b3e",
@@ -407,7 +407,7 @@
       Var("dart_git") + "shelf.git" + "@" + Var("shelf_rev"),
   Var("dart_root") + "/third_party/pkg/shelf_packages_handler":
       Var("dart_git") + "shelf_packages_handler.git"
-      + "@" + Var("shelf_packages_handler_tag"),
+      + "@" + Var("shelf_packages_handler_rev"),
   Var("dart_root") + "/third_party/pkg/shelf_proxy":
       Var("dart_git") + "shelf_proxy.git" + "@" + Var("shelf_proxy_tag"),
   Var("dart_root") + "/third_party/pkg/shelf_static":
diff --git a/pkg/analyzer/lib/src/generated/testing/element_factory.dart b/pkg/analyzer/lib/src/generated/testing/element_factory.dart
index 30a9ab0..560e904 100644
--- a/pkg/analyzer/lib/src/generated/testing/element_factory.dart
+++ b/pkg/analyzer/lib/src/generated/testing/element_factory.dart
@@ -2,22 +2,17 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:collection';
-
 import 'package:analyzer/dart/analysis/features.dart';
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/ast/token.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/nullability_suffix.dart';
 import 'package:analyzer/dart/element/type.dart';
-import 'package:analyzer/dart/element/type_provider.dart';
 import 'package:analyzer/src/dart/analysis/experiments.dart';
 import 'package:analyzer/src/dart/analysis/session.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/dart/element/type.dart';
-import 'package:analyzer/src/dart/element/type_system.dart';
 import 'package:analyzer/src/dart/resolver/variance.dart';
-import 'package:analyzer/src/generated/constant.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/testing/ast_test_factory.dart';
@@ -137,76 +132,6 @@
           [List<DartType> argumentTypes = const []]) =>
       constructorElement(definingClass, name, false, argumentTypes);
 
-  @deprecated
-  static EnumElementImpl enumElement(TypeProvider typeProvider, String enumName,
-      [List<String> constantNames = const []]) {
-    var typeSystem = TypeSystemImpl(
-      implicitCasts: false,
-      isNonNullableByDefault: false,
-      strictInference: false,
-      typeProvider: typeProvider,
-    );
-    //
-    // Build the enum.
-    //
-    EnumElementImpl enumElement = EnumElementImpl(enumName, -1);
-    var enumType = enumElement.instantiate(
-      typeArguments: const [],
-      nullabilitySuffix: NullabilitySuffix.star,
-    ) as InterfaceTypeImpl;
-    //
-    // Populate the fields.
-    //
-    List<FieldElement> fields = <FieldElement>[];
-    InterfaceType intType = typeProvider.intType;
-    InterfaceType stringType = typeProvider.stringType;
-    String indexFieldName = "index";
-    FieldElementImpl indexField = FieldElementImpl(indexFieldName, -1);
-    indexField.isFinal = true;
-    indexField.type = intType;
-    fields.add(indexField);
-    String nameFieldName = "_name";
-    FieldElementImpl nameField = FieldElementImpl(nameFieldName, -1);
-    nameField.isFinal = true;
-    nameField.type = stringType;
-    fields.add(nameField);
-    FieldElementImpl valuesField = FieldElementImpl("values", -1);
-    valuesField.isStatic = true;
-    valuesField.isConst = true;
-    valuesField.type = typeProvider.listType2(enumType);
-    fields.add(valuesField);
-    //
-    // Build the enum constants.
-    //
-    {
-      int constantCount = constantNames.length;
-      for (int i = 0; i < constantCount; i++) {
-        String constantName = constantNames[i];
-        FieldElementImpl constantElement =
-            ConstFieldElementImpl(constantName, -1);
-        constantElement.isStatic = true;
-        constantElement.isConst = true;
-        constantElement.type = enumType;
-        Map<String, DartObjectImpl> fieldMap =
-            HashMap<String, DartObjectImpl>();
-        fieldMap[indexFieldName] =
-            DartObjectImpl(typeSystem, intType, IntState(i));
-        fieldMap[nameFieldName] =
-            DartObjectImpl(typeSystem, stringType, StringState(constantName));
-        DartObjectImpl value =
-            DartObjectImpl(typeSystem, enumType, GenericState(fieldMap));
-        constantElement.evaluationResult = EvaluationResultImpl(value);
-        fields.add(constantElement);
-      }
-    }
-    //
-    // Finish building the enum.
-    //
-    enumElement.fields = fields;
-    // Client code isn't allowed to invoke the constructor, so we do not model it.
-    return enumElement;
-  }
-
   static ExportElementImpl exportFor(LibraryElement exportedLibrary,
       [List<NamespaceCombinator> combinators = const <NamespaceCombinator>[]]) {
     ExportElementImpl spec = ExportElementImpl(-1);
diff --git a/pkg/analyzer/test/generated/invalid_code_test.dart b/pkg/analyzer/test/generated/invalid_code_test.dart
index a82cd94..acff967 100644
--- a/pkg/analyzer/test/generated/invalid_code_test.dart
+++ b/pkg/analyzer/test/generated/invalid_code_test.dart
@@ -404,8 +404,7 @@
 }
 
 @reflectiveTest
-class InvalidCodeWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class InvalidCodeWithNullSafetyTest extends PubPackageResolutionTest {
   test_functionExpression_emptyBody() async {
     await _assertCanBeAnalyzed(r'''
 var v = <T>();
diff --git a/pkg/analyzer/test/src/dart/resolution/await_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/await_expression_test.dart
index e29f77d..cd5dd24 100644
--- a/pkg/analyzer/test/src/dart/resolution/await_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/await_expression_test.dart
@@ -41,7 +41,7 @@
 
 @reflectiveTest
 class AwaitExpressionResolutionWithNullSafetyTest
-    extends PubPackageResolutionTest with WithNullSafetyMixin {
+    extends PubPackageResolutionTest {
   test_futureOrQ() async {
     await assertNoErrorsInCode(r'''
 import 'dart:async';
diff --git a/pkg/analyzer/test/src/dart/resolution/constant_test.dart b/pkg/analyzer/test/src/dart/resolution/constant_test.dart
index 994999d..7d71d57 100644
--- a/pkg/analyzer/test/src/dart/resolution/constant_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/constant_test.dart
@@ -253,8 +253,7 @@
 }
 
 @reflectiveTest
-class ConstantResolutionWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ConstantResolutionWithNullSafetyTest extends PubPackageResolutionTest {
   test_constructor_nullSafe_fromLegacy_super() async {
     newFile('$testPackageLibPath/a.dart', content: r'''
 class A {
diff --git a/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart b/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
index 8e94415..1f7f618 100644
--- a/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
@@ -318,7 +318,7 @@
 /// resolved correctly.
 @reflectiveTest
 class ExtensionMethodsDeclarationWithNullSafetyTest
-    extends PubPackageResolutionTest with WithNullSafetyMixin {
+    extends PubPackageResolutionTest {
   test_this_type_interface() async {
     await assertNoErrorsInCode('''
 extension E on int {
diff --git a/pkg/analyzer/test/src/dart/resolution/function_expression_invocation_test.dart b/pkg/analyzer/test/src/dart/resolution/function_expression_invocation_test.dart
index 21df44e..0ab7d85 100644
--- a/pkg/analyzer/test/src/dart/resolution/function_expression_invocation_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/function_expression_invocation_test.dart
@@ -52,7 +52,7 @@
 
 @reflectiveTest
 class FunctionExpressionInvocationWithNullSafetyTest
-    extends PubPackageResolutionTest with WithNullSafetyMixin {
+    extends PubPackageResolutionTest {
   test_call_infer_fromArguments() async {
     await assertNoErrorsInCode(r'''
 class A {
diff --git a/pkg/analyzer/test/src/dart/resolution/metadata_test.dart b/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
index 32b7598..796316c 100644
--- a/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
@@ -295,8 +295,7 @@
 }
 
 @reflectiveTest
-class MetadataResolutionWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class MetadataResolutionWithNullSafetyTest extends PubPackageResolutionTest {
   ImportFindElement get import_a {
     return findElement.importFind('package:test/a.dart');
   }
diff --git a/pkg/analyzer/test/src/dart/resolution/method_declaration_test.dart b/pkg/analyzer/test/src/dart/resolution/method_declaration_test.dart
index d7f3f98..9f18387 100644
--- a/pkg/analyzer/test/src/dart/resolution/method_declaration_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/method_declaration_test.dart
@@ -13,8 +13,7 @@
 }
 
 @reflectiveTest
-class MethodDeclarationResolutionTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class MethodDeclarationResolutionTest extends PubPackageResolutionTest {
   test_formalParameterScope_defaultValue() async {
     await assertNoErrorsInCode('''
 class A {
diff --git a/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart b/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
index b6473d4..dde5670 100644
--- a/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
@@ -18,8 +18,7 @@
 }
 
 @reflectiveTest
-class NonNullableTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class NonNullableTest extends PubPackageResolutionTest {
   test_class_hierarchy() async {
     await assertNoErrorsInCode('''
 class A {}
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/collection_elements_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/collection_elements_test.dart
index e3dc7da..45cef2a 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/collection_elements_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/collection_elements_test.dart
@@ -15,8 +15,7 @@
 }
 
 @reflectiveTest
-class ForElementWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ForElementWithNullSafetyTest extends PubPackageResolutionTest {
   test_list_awaitForIn_dynamic_downward() async {
     await resolveTestCode('''
 void f() async {
@@ -193,8 +192,7 @@
 }
 
 @reflectiveTest
-class IfElementWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class IfElementWithNullSafetyTest extends PubPackageResolutionTest {
   test_list_downward() async {
     await resolveTestCode('''
 void f() {
@@ -230,8 +228,7 @@
 }
 
 @reflectiveTest
-class SpreadElementWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class SpreadElementWithNullSafetyTest extends PubPackageResolutionTest {
   test_list_downward() async {
     await resolveTestCode('''
 void f() {
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/statements_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/statements_test.dart
index ad542d5..68ff856 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/statements_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/statements_test.dart
@@ -17,8 +17,7 @@
 }
 
 @reflectiveTest
-class AssertWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class AssertWithNullSafetyTest extends PubPackageResolutionTest {
   test_downward() async {
     await resolveTestCode('''
 void f() {
@@ -31,8 +30,7 @@
 }
 
 @reflectiveTest
-class DoWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class DoWithNullSafetyTest extends PubPackageResolutionTest {
   test_downward() async {
     await resolveTestCode('''
 void f() {
@@ -45,8 +43,7 @@
 }
 
 @reflectiveTest
-class ForWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ForWithNullSafetyTest extends PubPackageResolutionTest {
   test_awaitForIn_dynamic_downward() async {
     await resolveTestCode('''
 void f() async {
@@ -102,8 +99,7 @@
 }
 
 @reflectiveTest
-class IfWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class IfWithNullSafetyTest extends PubPackageResolutionTest {
   test_downward() async {
     await resolveTestCode('''
 void f() {
@@ -116,8 +112,7 @@
 }
 
 @reflectiveTest
-class WhileWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class WhileWithNullSafetyTest extends PubPackageResolutionTest {
   test_downward() async {
     await resolveTestCode('''
 void f() {
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/throw_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/throw_test.dart
index 05d8a77..7db248a 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/throw_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/throw_test.dart
@@ -13,8 +13,7 @@
 }
 
 @reflectiveTest
-class ThrowWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ThrowWithNullSafetyTest extends PubPackageResolutionTest {
   test_downward() async {
     await resolveTestCode('''
 void f() {
diff --git a/pkg/analyzer/test/src/diagnostics/abstract_field_constructor_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/abstract_field_constructor_initializer_test.dart
index b874331..4df710a 100644
--- a/pkg/analyzer/test/src/diagnostics/abstract_field_constructor_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/abstract_field_constructor_initializer_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class AbstractFieldConstructorInitializerTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class AbstractFieldConstructorInitializerTest extends PubPackageResolutionTest {
   test_abstract_field_constructor_initializer() async {
     await assertErrorsInCode('''
 abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/abstract_field_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/abstract_field_initializer_test.dart
index 417c2d6..6dab96b 100644
--- a/pkg/analyzer/test/src/diagnostics/abstract_field_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/abstract_field_initializer_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class AbstractFieldInitializerTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class AbstractFieldInitializerTest extends PubPackageResolutionTest {
   test_abstract_field_final_initializer() async {
     await assertErrorsInCode('''
 abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_to_final_local_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_to_final_local_test.dart
index 81bfd42..5f0614c 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_to_final_local_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_to_final_local_test.dart
@@ -128,8 +128,8 @@
 }
 
 @reflectiveTest
-class AssignmentToFinalLocalWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class AssignmentToFinalLocalWithNullSafetyTest
+    extends PubPackageResolutionTest {
   test_localVariable_late() async {
     await assertNoErrorsInCode('''
 void f() {
diff --git a/pkg/analyzer/test/src/diagnostics/await_in_late_local_variable_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/await_in_late_local_variable_initializer_test.dart
index 8a372ff..ff9a015 100644
--- a/pkg/analyzer/test/src/diagnostics/await_in_late_local_variable_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/await_in_late_local_variable_initializer_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class AwaitInLateLocalVariableInitializerTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class AwaitInLateLocalVariableInitializerTest extends PubPackageResolutionTest {
   static const _errorCode =
       CompileTimeErrorCode.AWAIT_IN_LATE_LOCAL_VARIABLE_INITIALIZER;
 
diff --git a/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart b/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart
index b46c519..a69898c 100644
--- a/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class BodyMayCompleteNormallyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class BodyMayCompleteNormallyTest extends PubPackageResolutionTest {
   test_factoryConstructor_named_blockBody() async {
     await assertErrorsInCode(r'''
 class A {
diff --git a/pkg/analyzer/test/src/diagnostics/case_expression_type_implements_equals_test.dart b/pkg/analyzer/test/src/diagnostics/case_expression_type_implements_equals_test.dart
index 6d3f9a1..2af52ed 100644
--- a/pkg/analyzer/test/src/diagnostics/case_expression_type_implements_equals_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/case_expression_type_implements_equals_test.dart
@@ -107,7 +107,7 @@
 
 @reflectiveTest
 class CaseExpressionTypeImplementsEqualsWithNullSafetyTest
-    extends PubPackageResolutionTest with WithNullSafetyMixin {
+    extends PubPackageResolutionTest {
   test_declares() async {
     await assertNoErrorsInCode(r'''
 abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/concrete_class_with_abstract_member_test.dart b/pkg/analyzer/test/src/diagnostics/concrete_class_with_abstract_member_test.dart
index cfbabf8..3faf721 100644
--- a/pkg/analyzer/test/src/diagnostics/concrete_class_with_abstract_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/concrete_class_with_abstract_member_test.dart
@@ -44,7 +44,7 @@
 @reflectiveTest
 class ConcreteClassWithAbstractMemberWithNullSafetyTest
     extends PubPackageResolutionTest
-    with WithNullSafetyMixin, ConcreteClassWithAbstractMemberTestCases {
+    with ConcreteClassWithAbstractMemberTestCases {
   test_abstract_field() async {
     await assertErrorsInCode('''
 class A {
diff --git a/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart b/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart
index e917a35..fe029e8 100644
--- a/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart
@@ -254,8 +254,7 @@
 /// TODO(https://github.com/dart-lang/sdk/issues/44078): Add tests with
 /// non-function typedefs.
 @reflectiveTest
-class CouldNotInferWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class CouldNotInferWithNullSafetyTest extends PubPackageResolutionTest {
   test_constructor_nullSafe_fromLegacy() async {
     newFile('$testPackageLibPath/a.dart', content: '''
 class C<T extends Object> {
diff --git a/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart b/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart
index 9699bae..05b0e8b 100644
--- a/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class DeadNullAwareExpressionTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class DeadNullAwareExpressionTest extends PubPackageResolutionTest {
   test_assignCompound_legacy() async {
     newFile('$testPackageLibPath/a.dart', content: r'''
 // @dart = 2.5
diff --git a/pkg/analyzer/test/src/diagnostics/default_list_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/default_list_constructor_test.dart
index 6f8f9c1..5e02092 100644
--- a/pkg/analyzer/test/src/diagnostics/default_list_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/default_list_constructor_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class DefaultListConstructorMismatch extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class DefaultListConstructorMismatch extends PubPackageResolutionTest {
   test_inferredType() async {
     await assertErrorsInCode('''
 List<int> v = List(5);
diff --git a/pkg/analyzer/test/src/diagnostics/default_value_on_required_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/default_value_on_required_parameter_test.dart
index d191807..15f58cb 100644
--- a/pkg/analyzer/test/src/diagnostics/default_value_on_required_parameter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/default_value_on_required_parameter_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class DefaultValueOnRequiredParameterTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class DefaultValueOnRequiredParameterTest extends PubPackageResolutionTest {
   test_function_notRequired_default() async {
     await assertNoErrorsInCode('''
 void log({String message: 'no message'}) {}
diff --git a/pkg/analyzer/test/src/diagnostics/definitely_unassigned_late_local_variable_test.dart b/pkg/analyzer/test/src/diagnostics/definitely_unassigned_late_local_variable_test.dart
index 61ee6ec..fce1a902 100644
--- a/pkg/analyzer/test/src/diagnostics/definitely_unassigned_late_local_variable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/definitely_unassigned_late_local_variable_test.dart
@@ -14,8 +14,8 @@
 }
 
 @reflectiveTest
-class DefinitelyUnassignedLateLocalVariableTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class DefinitelyUnassignedLateLocalVariableTest
+    extends PubPackageResolutionTest {
   CompileTimeErrorCode get _errorCode {
     return CompileTimeErrorCode.DEFINITELY_UNASSIGNED_LATE_LOCAL_VARIABLE;
   }
diff --git a/pkg/analyzer/test/src/diagnostics/deprecated_member_use_test.dart b/pkg/analyzer/test/src/diagnostics/deprecated_member_use_test.dart
index a54b50c..77b7e3c 100644
--- a/pkg/analyzer/test/src/diagnostics/deprecated_member_use_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/deprecated_member_use_test.dart
@@ -31,7 +31,7 @@
 @reflectiveTest
 class DeprecatedMemberUse_BasicWorkspace_WithNullSafetyTest
     extends PubPackageResolutionTest
-    with WithNullSafetyMixin, DeprecatedMemberUse_BasicWorkspaceTestCases {
+    with DeprecatedMemberUse_BasicWorkspaceTestCases {
   test_instanceCreation_namedParameter_fromLegacy() async {
     newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
 class A {
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_field_formal_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_field_formal_parameter_test.dart
index 60961c5..0d10113 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_field_formal_parameter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_field_formal_parameter_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class DuplicateFieldFormalParameterTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class DuplicateFieldFormalParameterTest extends PubPackageResolutionTest {
   test_optional_named() async {
     await assertErrorsInCode(r'''
 class A {
diff --git a/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart b/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart
index 2d1fa89..2f22ba9 100644
--- a/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class ExportLegacySymbolTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ExportLegacySymbolTest extends PubPackageResolutionTest {
   test_exportDartAsync() async {
     await assertNoErrorsInCode(r'''
 export 'dart:async';
diff --git a/pkg/analyzer/test/src/diagnostics/extension_override_argument_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/extension_override_argument_not_assignable_test.dart
index 540a822..c669f19 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_override_argument_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_override_argument_not_assignable_test.dart
@@ -64,7 +64,7 @@
 
 @reflectiveTest
 class ExtensionOverrideArgumentNotAssignableWithNullSafetyTest
-    extends PubPackageResolutionTest with WithNullSafetyMixin {
+    extends PubPackageResolutionTest {
   test_override_onNonNullable() async {
     await assertErrorsInCode(r'''
 extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/external_field_constructor_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/external_field_constructor_initializer_test.dart
index f4939b0..da346e1 100644
--- a/pkg/analyzer/test/src/diagnostics/external_field_constructor_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/external_field_constructor_initializer_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class ExternalFieldConstructorInitializerTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ExternalFieldConstructorInitializerTest extends PubPackageResolutionTest {
   test_external_field_constructor_initializer() async {
     await assertErrorsInCode('''
 class A {
diff --git a/pkg/analyzer/test/src/diagnostics/external_field_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/external_field_initializer_test.dart
index caa8ed8..93a95a2 100644
--- a/pkg/analyzer/test/src/diagnostics/external_field_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/external_field_initializer_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class ExternalFieldInitializerTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ExternalFieldInitializerTest extends PubPackageResolutionTest {
   test_external_field_final_initializer() async {
     await assertErrorsInCode('''
 class A {
diff --git a/pkg/analyzer/test/src/diagnostics/external_variable_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/external_variable_initializer_test.dart
index 54345c8..d1d0c91 100644
--- a/pkg/analyzer/test/src/diagnostics/external_variable_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/external_variable_initializer_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class ExternalVariableInitializerTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ExternalVariableInitializerTest extends PubPackageResolutionTest {
   test_external_variable_final_initializer() async {
     await assertErrorsInCode('''
 external final int x = 0;
diff --git a/pkg/analyzer/test/src/diagnostics/final_not_initialized_test.dart b/pkg/analyzer/test/src/diagnostics/final_not_initialized_test.dart
index 716b9d7..270c1bd 100644
--- a/pkg/analyzer/test/src/diagnostics/final_not_initialized_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/final_not_initialized_test.dart
@@ -83,8 +83,7 @@
 }
 
 @reflectiveTest
-class FinalNotInitializedWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class FinalNotInitializedWithNullSafetyTest extends PubPackageResolutionTest {
   test_field_abstract() async {
     await assertNoErrorsInCode('''
 abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart b/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart
index 13631fa..ec81014 100644
--- a/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class GetterNotSubtypeSetterTypesTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class GetterNotSubtypeSetterTypesTest extends PubPackageResolutionTest {
   test_class_instance() async {
     await assertErrorsInCode('''
 class C {
diff --git a/pkg/analyzer/test/src/diagnostics/import_of_legacy_library_into_null_safe_test.dart b/pkg/analyzer/test/src/diagnostics/import_of_legacy_library_into_null_safe_test.dart
index cde53c9..7a6c3ab 100644
--- a/pkg/analyzer/test/src/diagnostics/import_of_legacy_library_into_null_safe_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/import_of_legacy_library_into_null_safe_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class ImportOfLegacyLibraryInoNullSafeTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ImportOfLegacyLibraryInoNullSafeTest extends PubPackageResolutionTest {
   test_legacy_into_legacy() async {
     newFile('$testPackageLibPath/a.dart', content: r'''
 // @dart = 2.9
diff --git a/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart b/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart
index 28a4312..e26ef2b 100644
--- a/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart
@@ -115,7 +115,7 @@
 
 @reflectiveTest
 class InconsistentCaseExpressionTypesWithNullSafetyTest
-    extends PubPackageResolutionTest with WithNullSafetyMixin {
+    extends PubPackageResolutionTest {
   test_int_none_legacy() async {
     newFile('$testPackageLibPath/a.dart', content: r'''
 const a = 0;
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_language_override_greater_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_language_override_greater_test.dart
index 13338b4..ef045c8 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_language_override_greater_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_language_override_greater_test.dart
@@ -18,8 +18,7 @@
 }
 
 @reflectiveTest
-class InvalidLanguageOverrideGreaterTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class InvalidLanguageOverrideGreaterTest extends PubPackageResolutionTest {
   @override
   String? get testPackageLanguageVersion => null;
 
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
index 8f903e5..7c37ddd 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
@@ -87,8 +87,7 @@
 }
 
 @reflectiveTest
-class InvalidNullAwareOperatorTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class InvalidNullAwareOperatorTest extends PubPackageResolutionTest {
   test_extensionOverride_assignmentExpression_indexExpression() async {
     await assertErrorsInCode('''
 extension E on int {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart
index 89b8221..7d7ecd5 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart
@@ -590,8 +590,7 @@
 }
 
 @reflectiveTest
-class InvalidOverrideWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class InvalidOverrideWithNullSafetyTest extends PubPackageResolutionTest {
   test_abstract_field_covariant_inheritance() async {
     await assertNoErrorsInCode('''
 abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/late_final_field_with_const_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/late_final_field_with_const_constructor_test.dart
index 868c233..4b0b9ba 100644
--- a/pkg/analyzer/test/src/diagnostics/late_final_field_with_const_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/late_final_field_with_const_constructor_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class LateFinalFieldWithConstConstructorTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class LateFinalFieldWithConstConstructorTest extends PubPackageResolutionTest {
   static const _errorCode =
       CompileTimeErrorCode.LATE_FINAL_FIELD_WITH_CONST_CONSTRUCTOR;
 
diff --git a/pkg/analyzer/test/src/diagnostics/late_final_local_already_assigned_test.dart b/pkg/analyzer/test/src/diagnostics/late_final_local_already_assigned_test.dart
index 0bc97d0..cb79658 100644
--- a/pkg/analyzer/test/src/diagnostics/late_final_local_already_assigned_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/late_final_local_already_assigned_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class LateFinalLocalAlreadyAssignedTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class LateFinalLocalAlreadyAssignedTest extends PubPackageResolutionTest {
   test_assignmentExpression_compound() async {
     await assertErrorsInCode('''
 main() {
diff --git a/pkg/analyzer/test/src/diagnostics/main_first_positional_parameter_type_test.dart b/pkg/analyzer/test/src/diagnostics/main_first_positional_parameter_type_test.dart
index 357315a..a8e490c 100644
--- a/pkg/analyzer/test/src/diagnostics/main_first_positional_parameter_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/main_first_positional_parameter_type_test.dart
@@ -74,7 +74,7 @@
 @reflectiveTest
 class MainFirstPositionalParameterWithNullSafetyTest
     extends PubPackageResolutionTest
-    with WithNullSafetyMixin, MainFirstPositionalParameterTestCases {
+    with MainFirstPositionalParameterTestCases {
   test_positionalRequired_listOfStringQuestion() async {
     await assertNoErrorsInCode('''
 void main(List<String?> args) {}
diff --git a/pkg/analyzer/test/src/diagnostics/main_has_required_named_parameters_test.dart b/pkg/analyzer/test/src/diagnostics/main_has_required_named_parameters_test.dart
index 5687f54..46a8f2f 100644
--- a/pkg/analyzer/test/src/diagnostics/main_has_required_named_parameters_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/main_has_required_named_parameters_test.dart
@@ -30,7 +30,7 @@
 @reflectiveTest
 class MainHasRequiredNamedParametersWithNullSafetyTest
     extends PubPackageResolutionTest
-    with WithNullSafetyMixin, MainHasRequiredNamedParametersTestCases {
+    with MainHasRequiredNamedParametersTestCases {
   test_namedRequired() async {
     await assertErrorsInCode('''
 void main({required List<String> a}) {}
diff --git a/pkg/analyzer/test/src/diagnostics/main_has_too_many_required_positional_parameters_test.dart b/pkg/analyzer/test/src/diagnostics/main_has_too_many_required_positional_parameters_test.dart
index f9036ac..b08a039 100644
--- a/pkg/analyzer/test/src/diagnostics/main_has_too_many_required_positional_parameters_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/main_has_too_many_required_positional_parameters_test.dart
@@ -95,9 +95,7 @@
 @reflectiveTest
 class MainHasTooManyRequiredPositionalParametersWithNullSafetyTest
     extends PubPackageResolutionTest
-    with
-        WithNullSafetyMixin,
-        MainHasTooManyRequiredPositionalParametersTestCases {
+    with MainHasTooManyRequiredPositionalParametersTestCases {
   test_positionalRequired_3_namedRequired_1() async {
     await resolveTestCode('''
 void main(args, int a, int b, {required int c}) {}
diff --git a/pkg/analyzer/test/src/diagnostics/main_is_not_function_test.dart b/pkg/analyzer/test/src/diagnostics/main_is_not_function_test.dart
index 11ebf19..2060e25 100644
--- a/pkg/analyzer/test/src/diagnostics/main_is_not_function_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/main_is_not_function_test.dart
@@ -94,4 +94,4 @@
 
 @reflectiveTest
 class MainIsNotFunctionWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin, MainIsNotFunctionTestCases {}
+    with MainIsNotFunctionTestCases {}
diff --git a/pkg/analyzer/test/src/diagnostics/missing_default_value_for_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/missing_default_value_for_parameter_test.dart
index 25c55d6..e292d65 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_default_value_for_parameter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_default_value_for_parameter_test.dart
@@ -15,8 +15,7 @@
 }
 
 @reflectiveTest
-class MissingDefaultValueForParameterTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class MissingDefaultValueForParameterTest extends PubPackageResolutionTest {
   test_constructor_externalFactory_nonNullable_named_optional_noDefault() async {
     await assertNoErrorsInCode('''
 class C {
diff --git a/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart b/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart
index 865ef42..604be9a 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart
@@ -243,8 +243,7 @@
 }
 
 @reflectiveTest
-class MissingRequiredParamWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class MissingRequiredParamWithNullSafetyTest extends PubPackageResolutionTest {
   test_constructor_legacy_argumentGiven() async {
     newFile('$testPackageLibPath/a.dart', content: r'''
 class A {
diff --git a/pkg/analyzer/test/src/diagnostics/missing_return_test.dart b/pkg/analyzer/test/src/diagnostics/missing_return_test.dart
index 99e1950..3972ae7 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_return_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_return_test.dart
@@ -216,8 +216,7 @@
 }
 
 @reflectiveTest
-class MissingReturnWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class MissingReturnWithNullSafetyTest extends PubPackageResolutionTest {
   test_returnNever() async {
     newFile('$testPackageLibPath/a.dart', content: r'''
 Never foo() {
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_inference_no_possible_substitution_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_inference_no_possible_substitution_test.dart
index f83053e..4624ee0 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_inference_no_possible_substitution_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_inference_no_possible_substitution_test.dart
@@ -39,7 +39,7 @@
 @reflectiveTest
 class MixinInferenceNoPossibleSubstitutionWithNullSafetyTest
     extends PubPackageResolutionTest
-    with WithNullSafetyMixin, MixinInferenceNoPossibleSubstitutionTestCases {
+    with MixinInferenceNoPossibleSubstitutionTestCases {
   test_valid_nonNullableMixins_legacyApplication() async {
     newFile('$testPackageLibPath/a.dart', content: r'''
 class A<T> {}
diff --git a/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart
index 3352f08..a0e3db6 100644
--- a/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart
@@ -88,8 +88,7 @@
 
 @reflectiveTest
 class NoDefaultSuperConstructorWithNullSafetyTest
-    extends PubPackageResolutionTest
-    with NoDefaultSuperConstructorTestCases, WithNullSafetyMixin {
+    extends PubPackageResolutionTest with NoDefaultSuperConstructorTestCases {
   test_super_requiredParameter_legacySubclass_explicitConstructor() async {
     newFile('$testPackageLibPath/a.dart', content: r'''
 class A {
diff --git a/pkg/analyzer/test/src/diagnostics/non_abstract_class_inherits_abstract_member_test.dart b/pkg/analyzer/test/src/diagnostics/non_abstract_class_inherits_abstract_member_test.dart
index 8467c31..92d76ac 100644
--- a/pkg/analyzer/test/src/diagnostics/non_abstract_class_inherits_abstract_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_abstract_class_inherits_abstract_member_test.dart
@@ -618,7 +618,7 @@
 @reflectiveTest
 class NonAbstractClassInheritsAbstractMemberWithNullSafetyTest
     extends PubPackageResolutionTest
-    with WithNullSafetyMixin, NonAbstractClassInheritsAbstractMemberTestCases {
+    with NonAbstractClassInheritsAbstractMemberTestCases {
   test_abstract_field_final_implement_getter() async {
     await assertNoErrorsInCode('''
 abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/non_bool_condition_test.dart b/pkg/analyzer/test/src/diagnostics/non_bool_condition_test.dart
index 4ba6bf1..e555186 100644
--- a/pkg/analyzer/test/src/diagnostics/non_bool_condition_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_bool_condition_test.dart
@@ -108,8 +108,7 @@
 }
 
 @reflectiveTest
-class NonBoolConditionWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class NonBoolConditionWithNullSafetyTest extends PubPackageResolutionTest {
   test_if_null() async {
     await assertErrorsInCode(r'''
 m() {
diff --git a/pkg/analyzer/test/src/diagnostics/non_bool_negation_expression_test.dart b/pkg/analyzer/test/src/diagnostics/non_bool_negation_expression_test.dart
index 562e090..2d2c516 100644
--- a/pkg/analyzer/test/src/diagnostics/non_bool_negation_expression_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_bool_negation_expression_test.dart
@@ -30,7 +30,7 @@
 
 @reflectiveTest
 class NonBoolNegationExpressionWithNullSafetyTest
-    extends PubPackageResolutionTest with WithNullSafetyMixin {
+    extends PubPackageResolutionTest {
   test_null() async {
     await assertErrorsInCode(r'''
 m() {
diff --git a/pkg/analyzer/test/src/diagnostics/non_bool_operand_test.dart b/pkg/analyzer/test/src/diagnostics/non_bool_operand_test.dart
index da6767b..f3d16b1 100644
--- a/pkg/analyzer/test/src/diagnostics/non_bool_operand_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_bool_operand_test.dart
@@ -59,8 +59,7 @@
 }
 
 @reflectiveTest
-class NonBoolOperandWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class NonBoolOperandWithNullSafetyTest extends PubPackageResolutionTest {
   test_and_null() async {
     await assertErrorsInCode(r'''
 m() {
diff --git a/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart b/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart
index 9cd23cf..42aa615 100644
--- a/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart
@@ -18,8 +18,7 @@
 }
 
 @reflectiveTest
-class NonNullOptOutTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class NonNullOptOutTest extends PubPackageResolutionTest {
   ImportFindElement get _import_a {
     return findElement.importFind('package:test/a.dart');
   }
diff --git a/pkg/analyzer/test/src/diagnostics/not_assigned_potentially_non_nullable_local_variable_test.dart b/pkg/analyzer/test/src/diagnostics/not_assigned_potentially_non_nullable_local_variable_test.dart
index 3154db5..9304c97 100644
--- a/pkg/analyzer/test/src/diagnostics/not_assigned_potentially_non_nullable_local_variable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_assigned_potentially_non_nullable_local_variable_test.dart
@@ -18,7 +18,7 @@
 
 @reflectiveTest
 class NotInitializedPotentiallyNonNullableLocalVariableTest
-    extends PubPackageResolutionTest with WithNullSafetyMixin {
+    extends PubPackageResolutionTest {
   test_assignment_leftExpression() async {
     await assertErrorsInCode(r'''
 void f() {
diff --git a/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_instance_field_test.dart b/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_instance_field_test.dart
index 7ade83f..3f4f184 100644
--- a/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_instance_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_instance_field_test.dart
@@ -15,7 +15,7 @@
 
 @reflectiveTest
 class NotInitializedNonNullableInstanceFieldTest
-    extends PubPackageResolutionTest with WithNullSafetyMixin {
+    extends PubPackageResolutionTest {
   test_abstract_field_non_nullable() async {
     await assertNoErrorsInCode('''
 abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_variable_test.dart b/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_variable_test.dart
index 9a2b35b..560bb4f 100644
--- a/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_variable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_variable_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class NotInitializedNonNullableVariableTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class NotInitializedNonNullableVariableTest extends PubPackageResolutionTest {
   test_external_static_field_non_nullable() async {
     await assertNoErrorsInCode('''
 class A {
diff --git a/pkg/analyzer/test/src/diagnostics/null_check_always_fails_test.dart b/pkg/analyzer/test/src/diagnostics/null_check_always_fails_test.dart
index ce1298b..5f9267e 100644
--- a/pkg/analyzer/test/src/diagnostics/null_check_always_fails_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/null_check_always_fails_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class NullNeverNotNullTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class NullNeverNotNullTest extends PubPackageResolutionTest {
   test_nullable() async {
     await assertNoErrorsInCode(r'''
 void f(int? i) {
diff --git a/pkg/analyzer/test/src/diagnostics/null_safety_read_write_test.dart b/pkg/analyzer/test/src/diagnostics/null_safety_read_write_test.dart
index c8fe983..1d73a79 100644
--- a/pkg/analyzer/test/src/diagnostics/null_safety_read_write_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/null_safety_read_write_test.dart
@@ -15,8 +15,7 @@
 }
 
 @reflectiveTest
-class ReadWriteWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ReadWriteWithNullSafetyTest extends PubPackageResolutionTest {
   @override
   bool get retainDataForTesting => true;
 
diff --git a/pkg/analyzer/test/src/diagnostics/nullable_type_in_catch_clause_test.dart b/pkg/analyzer/test/src/diagnostics/nullable_type_in_catch_clause_test.dart
index bbd9363..320049a 100644
--- a/pkg/analyzer/test/src/diagnostics/nullable_type_in_catch_clause_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/nullable_type_in_catch_clause_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class NullableTypeInCatchClauseTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class NullableTypeInCatchClauseTest extends PubPackageResolutionTest {
   test_noOnClause() async {
     await assertNoErrorsInCode('''
 f() {
diff --git a/pkg/analyzer/test/src/diagnostics/receiver_of_type_never_test.dart b/pkg/analyzer/test/src/diagnostics/receiver_of_type_never_test.dart
index 60eeb58..9a85f2f 100644
--- a/pkg/analyzer/test/src/diagnostics/receiver_of_type_never_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/receiver_of_type_never_test.dart
@@ -15,8 +15,7 @@
 }
 
 @reflectiveTest
-class InvalidUseOfNeverTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class InvalidUseOfNeverTest extends PubPackageResolutionTest {
   test_binaryExpression_never_eqEq() async {
     await assertErrorsInCode(r'''
 void f(Never x) {
diff --git a/pkg/analyzer/test/src/diagnostics/switch_case_completes_normally_test.dart b/pkg/analyzer/test/src/diagnostics/switch_case_completes_normally_test.dart
index cdde582..67bf41f 100644
--- a/pkg/analyzer/test/src/diagnostics/switch_case_completes_normally_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/switch_case_completes_normally_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class SwitchCaseCompletesNormallyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class SwitchCaseCompletesNormallyTest extends PubPackageResolutionTest {
   test_break() async {
     await assertNoErrorsInCode(r'''
 void f(int a) {
diff --git a/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart b/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart
index fa947bc..3cbef8b 100644
--- a/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class ThrowOfInvalidTypeTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class ThrowOfInvalidTypeTest extends PubPackageResolutionTest {
   test_dynamic() async {
     await assertNoErrorsInCode('''
 f(dynamic a) {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
index d02a26d..e00bb5f 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
@@ -387,7 +387,7 @@
 
 @reflectiveTest
 class UndefinedGetterWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin, UndefinedGetterTestCases {
+    with UndefinedGetterTestCases {
   test_get_from_abstract_field_final_valid() async {
     await assertNoErrorsInCode('''
 abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
index 858c519..65ba939 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
@@ -142,7 +142,7 @@
 
 @reflectiveTest
 class UndefinedSetterWithNullSafetyTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin, UndefinedSetterTestCases {
+    with UndefinedSetterTestCases {
   test_set_abstract_field_valid() async {
     await assertNoErrorsInCode('''
 abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart
index 4c521d2..5114424 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart
@@ -14,8 +14,7 @@
 }
 
 @reflectiveTest
-class UnnecessaryNonNullAssertionTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class UnnecessaryNonNullAssertionTest extends PubPackageResolutionTest {
   test_legacy() async {
     newFile('$testPackageLibPath/a.dart', content: r'''
 // @dart = 2.5
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart
index ffd565a..33b4b6a 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart
@@ -15,8 +15,7 @@
 }
 
 @reflectiveTest
-class UnnecessaryNullComparisonFalseTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class UnnecessaryNullComparisonFalseTest extends PubPackageResolutionTest {
   test_equal_intLiteral() async {
     await assertNoErrorsInCode('''
 f(int a, int? b) {
@@ -79,8 +78,7 @@
 }
 
 @reflectiveTest
-class UnnecessaryNullComparisonTrueTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class UnnecessaryNullComparisonTrueTest extends PubPackageResolutionTest {
   test_notEqual_intLiteral() async {
     await assertNoErrorsInCode('''
 f(int a, int? b) {
diff --git a/pkg/analyzer/test/src/diagnostics/use_of_void_result_test.dart b/pkg/analyzer/test/src/diagnostics/use_of_void_result_test.dart
index 061b5e3..dfbc1a7 100644
--- a/pkg/analyzer/test/src/diagnostics/use_of_void_result_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/use_of_void_result_test.dart
@@ -727,8 +727,7 @@
 }
 
 @reflectiveTest
-class UseOfVoidResultTest_NonNullable extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class UseOfVoidResultTest_NonNullable extends PubPackageResolutionTest {
   test_assignment_toDynamic() async {
     await assertErrorsInCode('''
 void f(void x) {
diff --git a/pkg/analyzer/test/src/summary/top_level_inference_test.dart b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
index 9fbcbd1..fb39435 100644
--- a/pkg/analyzer/test/src/summary/top_level_inference_test.dart
+++ b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
@@ -25,8 +25,7 @@
 }
 
 @reflectiveTest
-class TopLevelInferenceErrorsTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class TopLevelInferenceErrorsTest extends PubPackageResolutionTest {
   test_initializer_additive() async {
     await _assertErrorOnlyLeft(['+', '-']);
   }
@@ -340,8 +339,7 @@
 }
 
 @reflectiveTest
-class TopLevelInferenceTest extends PubPackageResolutionTest
-    with WithNullSafetyMixin {
+class TopLevelInferenceTest extends PubPackageResolutionTest {
   test_initializer_additive() async {
     var library = await _encodeDecodeLibrary(r'''
 var vPlusIntInt = 1 + 2;
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index b41e49f..15637c2 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -447,6 +447,11 @@
     return libraryBuilder.enableExtensionTypesInLibrary;
   }
 
+  @override
+  bool get enableConstFunctionsInLibrary {
+    return libraryBuilder.enableConstFunctionsInLibrary;
+  }
+
   void _enterLocalState({bool inLateLocalInitializer: false}) {
     _localInitializerState =
         _localInitializerState.prepend(inLateLocalInitializer);
diff --git a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
index 913f391..4987b10 100644
--- a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
@@ -84,12 +84,14 @@
     {bool evaluateAnnotations,
     bool desugarSets,
     bool enableTripleShift,
+    bool enableConstFunctions,
     bool errorOnUnevaluatedConstant,
     CoreTypes coreTypes,
     ClassHierarchy hierarchy}) {
   assert(evaluateAnnotations != null);
   assert(desugarSets != null);
   assert(enableTripleShift != null);
+  assert(enableConstFunctions != null);
   assert(errorOnUnevaluatedConstant != null);
   coreTypes ??= new CoreTypes(component);
   hierarchy ??= new ClassHierarchy(component, coreTypes);
@@ -100,6 +102,7 @@
   transformLibraries(component.libraries, backend, environmentDefines,
       typeEnvironment, errorReporter, evaluationMode,
       enableTripleShift: enableTripleShift,
+      enableConstFunctions: enableConstFunctions,
       errorOnUnevaluatedConstant: errorOnUnevaluatedConstant,
       evaluateAnnotations: evaluateAnnotations);
   return component;
@@ -114,15 +117,18 @@
     EvaluationMode evaluationMode,
     {bool evaluateAnnotations,
     bool enableTripleShift,
+    bool enableConstFunctions,
     bool errorOnUnevaluatedConstant}) {
   assert(evaluateAnnotations != null);
   assert(enableTripleShift != null);
+  assert(enableConstFunctions != null);
   assert(errorOnUnevaluatedConstant != null);
   final ConstantsTransformer constantsTransformer = new ConstantsTransformer(
       backend,
       environmentDefines,
       evaluateAnnotations,
       enableTripleShift,
+      enableConstFunctions,
       errorOnUnevaluatedConstant,
       typeEnvironment,
       errorReporter,
@@ -142,15 +148,18 @@
     EvaluationMode evaluationMode,
     {bool evaluateAnnotations: true,
     bool enableTripleShift: false,
+    bool enableConstFunctions: false,
     bool errorOnUnevaluatedConstant: false}) {
   assert(evaluateAnnotations != null);
   assert(enableTripleShift != null);
+  assert(enableConstFunctions != null);
   assert(errorOnUnevaluatedConstant != null);
   final ConstantsTransformer constantsTransformer = new ConstantsTransformer(
       backend,
       environmentDefines,
       evaluateAnnotations,
       enableTripleShift,
+      enableConstFunctions,
       errorOnUnevaluatedConstant,
       typeEnvironment,
       errorReporter,
@@ -335,6 +344,7 @@
 
   final bool evaluateAnnotations;
   final bool enableTripleShift;
+  final bool enableConstFunctions;
   final bool errorOnUnevaluatedConstant;
 
   ConstantsTransformer(
@@ -342,6 +352,7 @@
       Map<String, String> environmentDefines,
       this.evaluateAnnotations,
       this.enableTripleShift,
+      this.enableConstFunctions,
       this.errorOnUnevaluatedConstant,
       this.typeEnvironment,
       ErrorReporter errorReporter,
@@ -349,6 +360,7 @@
       : constantEvaluator = new ConstantEvaluator(
             backend, environmentDefines, typeEnvironment, errorReporter,
             enableTripleShift: enableTripleShift,
+            enableConstFunctions: enableConstFunctions,
             errorOnUnevaluatedConstant: errorOnUnevaluatedConstant,
             evaluationMode: evaluationMode);
 
@@ -812,6 +824,7 @@
   final EvaluationMode evaluationMode;
 
   final bool enableTripleShift;
+  final bool enableConstFunctions;
 
   final bool Function(DartType) isInstantiated =
       new IsInstantiatedVisitor().isInstantiated;
@@ -846,6 +859,7 @@
   ConstantEvaluator(this.backend, this.environmentDefines, this.typeEnvironment,
       this.errorReporter,
       {this.enableTripleShift = false,
+      this.enableConstFunctions = false,
       this.errorOnUnevaluatedConstant = false,
       this.evaluationMode: EvaluationMode.weak})
       : numberSemantics = backend.numberSemantics,
diff --git a/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart b/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart
index 128205c..83bd4ab 100644
--- a/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart
@@ -64,6 +64,8 @@
 
   bool get enableExtensionTypesInLibrary;
 
+  bool get enableConstFunctionsInLibrary;
+
   scopeLookup(Scope scope, String name, Token token,
       {bool isQualified: false, PrefixBuilder prefix});
 
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
index 4e1b58b..1bebec8 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
@@ -1235,6 +1235,8 @@
         evaluateAnnotations: true,
         enableTripleShift:
             isExperimentEnabledGlobally(ExperimentalFlag.tripleShift),
+        enableConstFunctions:
+            isExperimentEnabledGlobally(ExperimentalFlag.constFunctions),
         errorOnUnevaluatedConstant: errorOnUnevaluatedConstant);
     ticker.logMs("Evaluated constants");
 
@@ -1283,6 +1285,8 @@
         evaluateAnnotations: true,
         enableTripleShift:
             isExperimentEnabledGlobally(ExperimentalFlag.tripleShift),
+        enableConstFunctions:
+            isExperimentEnabledGlobally(ExperimentalFlag.constFunctions),
         errorOnUnevaluatedConstant: errorOnUnevaluatedConstant);
     ticker.logMs("Evaluated constants");
 
diff --git a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
index 11b2502..c4a855e 100644
--- a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
@@ -292,6 +292,7 @@
         "'${importUri}'.");
   }
 
+  bool _enableConstFunctionsInLibrary;
   bool _enableVarianceInLibrary;
   bool _enableNonfunctionTypeAliasesInLibrary;
   bool _enableNonNullableInLibrary;
@@ -301,6 +302,10 @@
   bool _enableGenericMetadataInLibrary;
   bool _enableExtensionTypesInLibrary;
 
+  bool get enableConstFunctionsInLibrary => _enableConstFunctionsInLibrary ??=
+      loader.target.isExperimentEnabledInLibrary(
+          ExperimentalFlag.constFunctions, _packageUri ?? importUri);
+
   bool get enableVarianceInLibrary =>
       _enableVarianceInLibrary ??= loader.target.isExperimentEnabledInLibrary(
           ExperimentalFlag.variance, _packageUri ?? importUri);
diff --git a/tools/VERSION b/tools/VERSION
index 0fcc478..836aaa1 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 13
 PATCH 0
-PRERELEASE 73
+PRERELEASE 74
 PRERELEASE_PATCH 0
\ No newline at end of file