diff --git a/pkg/analysis_server/test/analysis_server_base.dart b/pkg/analysis_server/test/analysis_server_base.dart
index 6aec365..140a776 100644
--- a/pkg/analysis_server/test/analysis_server_base.dart
+++ b/pkg/analysis_server/test/analysis_server_base.dart
@@ -13,7 +13,6 @@
 import 'package:analyzer/dart/analysis/analysis_options.dart' as analysis;
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/instrumentation/service.dart';
-import 'package:analyzer/src/dart/analysis/experiments.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/test_utilities/mock_sdk.dart';
 import 'package:analyzer/src/test_utilities/package_config_file_builder.dart';
@@ -48,9 +47,11 @@
     var buffer = StringBuffer();
 
     buffer.writeln('analyzer:');
-    buffer.writeln('  enable-experiment:');
-    for (var experiment in experiments) {
-      buffer.writeln('    - $experiment');
+    if (experiments.isNotEmpty) {
+      buffer.writeln('  enable-experiment:');
+      for (var experiment in experiments) {
+        buffer.writeln('    - $experiment');
+      }
     }
     buffer.writeln('  language:');
     buffer.writeln('    strict-casts: $strictCasts');
@@ -206,11 +207,10 @@
 }
 
 class PubPackageAnalysisServerTest extends ContextResolutionTest {
-  List<String> get experiments => [
-        EnableString.enhanced_enums,
-        EnableString.named_arguments_anywhere,
-        EnableString.super_parameters,
-      ];
+  // If experiments are needed,
+  // add `import 'package:analyzer/src/dart/analysis/experiments.dart';`
+  // and list the necessary experiments here.
+  List<String> get experiments => [];
 
   /// The path that is not in [workspaceRootPath], contains external packages.
   String get packagesRootPath => '/packages';
diff --git a/pkg/analysis_server/test/src/services/correction/fix/analysis_options/remove_setting_test.dart b/pkg/analysis_server/test/src/services/correction/fix/analysis_options/remove_setting_test.dart
index 9276b71..2f014ab 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/analysis_options/remove_setting_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/analysis_options/remove_setting_test.dart
@@ -18,13 +18,13 @@
     await assertHasFix('''
 analyzer:
   enable-experiment:
-    - super-parameters
+    - test-experiment
   language:
     enableSuperMixins: true
 ''', '''
 analyzer:
   enable-experiment:
-    - super-parameters
+    - test-experiment
 ''');
   }
 
@@ -33,11 +33,11 @@
 analyzer:
   enable-experiment:
     - not-an-experiment
-    - super-parameters
+    - test-experiment
 ''', '''
 analyzer:
   enable-experiment:
-    - super-parameters
+    - test-experiment
 ''');
   }
 
@@ -45,12 +45,12 @@
     await assertHasFix('''
 analyzer:
   enable-experiment:
-    - super-parameters
+    - test-experiment
     - not-an-experiment
 ''', '''
 analyzer:
   enable-experiment:
-    - super-parameters
+    - test-experiment
 ''');
   }
 
diff --git a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
index de04c11..616f487 100644
--- a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
@@ -406,7 +406,7 @@
   static const bool control_flow_collections = true;
 
   /// Expiration status of the experiment "enhanced-enums"
-  static const bool enhanced_enums = false;
+  static const bool enhanced_enums = true;
 
   /// Expiration status of the experiment "extension-methods"
   static const bool extension_methods = true;
@@ -427,7 +427,7 @@
   static const bool macros = false;
 
   /// Expiration status of the experiment "named-arguments-anywhere"
-  static const bool named_arguments_anywhere = false;
+  static const bool named_arguments_anywhere = true;
 
   /// Expiration status of the experiment "non-nullable"
   static const bool non_nullable = true;
@@ -442,7 +442,7 @@
   static const bool spread_collections = true;
 
   /// Expiration status of the experiment "super-parameters"
-  static const bool super_parameters = false;
+  static const bool super_parameters = true;
 
   /// Expiration status of the experiment "test-experiment"
   static const bool test_experiment = false;
diff --git a/pkg/dartdev/test/commands/analyze_test.dart b/pkg/dartdev/test/commands/analyze_test.dart
index 4da2ec8..1750ad6 100644
--- a/pkg/dartdev/test/commands/analyze_test.dart
+++ b/pkg/dartdev/test/commands/analyze_test.dart
@@ -421,17 +421,6 @@
     expect(result.stderr, isEmpty);
   });
 
-  test('--enable-experiment', () async {
-    p = project(mainSrc: 'final x = List.filled(growable: true, 7, "");');
-    var result = await p
-        .run(['analyze', '--enable-experiment=no-named-arguments-anywhere']);
-
-    expect(result.exitCode, 3);
-    expect(result.stdout,
-        contains('Positional arguments must occur before named arguments.'));
-    expect(result.stderr, isEmpty);
-  });
-
   test('--enable-experiment with a bad experiment', () async {
     p = project();
     var result = await p.run(['analyze', '--enable-experiment=bad']);
diff --git a/pkg/dartdev/test/experiments_test.dart b/pkg/dartdev/test/experiments_test.dart
index 5608ac7..0e73046 100644
--- a/pkg/dartdev/test/experiments_test.dart
+++ b/pkg/dartdev/test/experiments_test.dart
@@ -11,7 +11,7 @@
       expect(experimentalFeatures, isNotEmpty);
       expect(
         experimentalFeatures.map((experiment) => experiment.enableString),
-        contains('super-parameters'),
+        contains('test-experiment'),
       );
     });
   });
diff --git a/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_dart_2_17_test.dart b/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_dart_2_17_test.dart
index 7ba607e..e63cff3 100644
--- a/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_dart_2_17_test.dart
+++ b/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_dart_2_17_test.dart
@@ -92,8 +92,7 @@
         ''';
 
     setUpAll(() async {
-      await driver.initSource(setup, source,
-          experiments: {'named-arguments-anywhere': true});
+      await driver.initSource(setup, source, experiments: const {});
     });
 
     tearDownAll(() async {
@@ -162,8 +161,7 @@
         ''';
 
     setUpAll(() async {
-      await driver
-          .initSource(setup, source, experiments: {'super-parameters': true});
+      await driver.initSource(setup, source, experiments: const {});
     });
 
     tearDownAll(() async {
@@ -229,8 +227,7 @@
         ''';
 
     setUpAll(() async {
-      await driver
-          .initSource(setup, source, experiments: {'enhanced-enums': true});
+      await driver.initSource(setup, source, experiments: const {});
     });
 
     tearDownAll(() async {
diff --git a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
index 56b13ce..71d843e 100644
--- a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
+++ b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
@@ -94,7 +94,7 @@
   static const ExperimentalFlag enhancedEnums = const ExperimentalFlag(
       name: 'enhanced-enums',
       isEnabledByDefault: true,
-      isExpired: false,
+      isExpired: true,
       enabledVersion: const Version(2, 17),
       experimentEnabledVersion: const Version(2, 17),
       experimentReleasedVersion: const Version(2, 17));
@@ -150,7 +150,7 @@
   static const ExperimentalFlag namedArgumentsAnywhere = const ExperimentalFlag(
       name: 'named-arguments-anywhere',
       isEnabledByDefault: true,
-      isExpired: false,
+      isExpired: true,
       enabledVersion: const Version(2, 17),
       experimentEnabledVersion: const Version(2, 17),
       experimentReleasedVersion: const Version(2, 17));
@@ -190,7 +190,7 @@
   static const ExperimentalFlag superParameters = const ExperimentalFlag(
       name: 'super-parameters',
       isEnabledByDefault: true,
-      isExpired: false,
+      isExpired: true,
       enabledVersion: const Version(2, 17),
       experimentEnabledVersion: const Version(2, 17),
       experimentReleasedVersion: const Version(2, 17));
diff --git a/pkg/front_end/testcases/enhanced_enums/folder.options b/pkg/front_end/testcases/enhanced_enums/folder.options
index ecd97db..e69de29 100644
--- a/pkg/front_end/testcases/enhanced_enums/folder.options
+++ b/pkg/front_end/testcases/enhanced_enums/folder.options
@@ -1 +0,0 @@
---enable-experiment=enhanced-enums
\ No newline at end of file
diff --git a/pkg/front_end/testcases/enhanced_enums/named_arguments_anywhere/folder.options b/pkg/front_end/testcases/enhanced_enums/named_arguments_anywhere/folder.options
index c0139f7..e69de29 100644
--- a/pkg/front_end/testcases/enhanced_enums/named_arguments_anywhere/folder.options
+++ b/pkg/front_end/testcases/enhanced_enums/named_arguments_anywhere/folder.options
@@ -1 +0,0 @@
---enable-experiment=enhanced-enums,named-arguments-anywhere
\ No newline at end of file
diff --git a/pkg/front_end/testcases/enhanced_enums/super_parameters/folder.options b/pkg/front_end/testcases/enhanced_enums/super_parameters/folder.options
index 3bea431..e69de29 100644
--- a/pkg/front_end/testcases/enhanced_enums/super_parameters/folder.options
+++ b/pkg/front_end/testcases/enhanced_enums/super_parameters/folder.options
@@ -1 +0,0 @@
---enable-experiment=enhanced-enums,super-parameters
\ No newline at end of file
diff --git a/pkg/front_end/testcases/named_arguments_anywhere/folder.options b/pkg/front_end/testcases/named_arguments_anywhere/folder.options
index b97203b..e69de29 100644
--- a/pkg/front_end/testcases/named_arguments_anywhere/folder.options
+++ b/pkg/front_end/testcases/named_arguments_anywhere/folder.options
@@ -1 +0,0 @@
---enable-experiment=named-arguments-anywhere
\ No newline at end of file
diff --git a/pkg/front_end/testcases/super_parameters/folder.options b/pkg/front_end/testcases/super_parameters/folder.options
index b69b691..e69de29 100644
--- a/pkg/front_end/testcases/super_parameters/folder.options
+++ b/pkg/front_end/testcases/super_parameters/folder.options
@@ -1 +0,0 @@
---enable-experiment=super-parameters
\ No newline at end of file
diff --git a/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart b/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart
index 8607c58..bfb747d 100644
--- a/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart
+++ b/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart
@@ -1,15 +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.
-//
-// SharedOptions=--enable-experiment=enhanced-enums
 
 // @dart=2.17
 
 import 'common/service_test_common.dart';
 import 'common/test_helper.dart';
 
-const int LINE_A = 23;
+const int LINE_A = 21;
 const int LINE_B = LINE_A + 11;
 const int LINE_C = LINE_B + 4;
 const int LINE_D = LINE_C + 4;
@@ -106,5 +104,4 @@
       testeeConcurrent: testMain,
       pause_on_start: true,
       pause_on_exit: true,
-      experiments: ['enhanced-enums'],
     );
diff --git a/pkg/vm_service/test/enhanced_enum_test.dart b/pkg/vm_service/test/enhanced_enum_test.dart
index bde5221..beda4da 100644
--- a/pkg/vm_service/test/enhanced_enum_test.dart
+++ b/pkg/vm_service/test/enhanced_enum_test.dart
@@ -1,8 +1,6 @@
 // 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.
-//
-// SharedOptions=--enable-experiment=enhanced-enums
 
 // @dart=2.17
 
@@ -193,7 +191,8 @@
     expect(e1, isA<InstanceRef>());
     final e1Id = e1.id!;
 
-    dynamic result = await service.evaluate(isolateId, e1Id, 'interfaceGetter1');
+    dynamic result =
+        await service.evaluate(isolateId, e1Id, 'interfaceGetter1');
     expect(result, isA<InstanceRef>());
     expect(result.valueAsString, '42');
 
@@ -219,7 +218,8 @@
   },
   (VmService service, _) async {
     // Ensure we can evaluate static getters and methods.
-    dynamic result = await service.evaluate(isolateId, enumEClsId, 'staticGetter');
+    dynamic result =
+        await service.evaluate(isolateId, enumEClsId, 'staticGetter');
     expect(result, isA<InstanceRef>());
     expect(result.valueAsString, '0');
 
@@ -233,7 +233,8 @@
     expect(e1, isA<InstanceRef>());
     final e1Id = e1.id!;
 
-    dynamic result = await service.invoke(isolateId, e1Id, 'interfaceMethod1', []);
+    dynamic result =
+        await service.invoke(isolateId, e1Id, 'interfaceMethod1', []);
     expect(result, isA<InstanceRef>());
     expect(result.valueAsString, '42');
 
@@ -251,7 +252,8 @@
   },
   (VmService service, _) async {
     // Ensure we can invoke static methods.
-    dynamic result = await service.evaluate(isolateId, enumEClsId, 'staticMethod()');
+    dynamic result =
+        await service.evaluate(isolateId, enumEClsId, 'staticMethod()');
     expect(result, isA<InstanceRef>());
     expect(result.valueAsString, '42');
   },
@@ -278,7 +280,8 @@
   resumeIsolate,
   hasStoppedAtBreakpoint,
   (VmService service, _) async {
-    dynamic result = await service.evaluateInFrame(isolateId, 0, 'T.toString()');
+    dynamic result =
+        await service.evaluateInFrame(isolateId, 0, 'T.toString()');
     expect(result.valueAsString, 'int');
 
     result = await service.evaluateInFrame(isolateId, 0, 'value');
@@ -291,5 +294,4 @@
       tests,
       'enhanced_enum_test.dart',
       testeeConcurrent: testMain,
-      experiments: ['enhanced-enums'],
     );
diff --git a/pkg/vm_service/test/eval_named_args_anywhere_test.dart b/pkg/vm_service/test/eval_named_args_anywhere_test.dart
index ad01d46..47a0e21 100644
--- a/pkg/vm_service/test/eval_named_args_anywhere_test.dart
+++ b/pkg/vm_service/test/eval_named_args_anywhere_test.dart
@@ -68,5 +68,4 @@
       tests,
       'eval_named_args_anywhere_test.dart',
       testeeConcurrent: testFunction,
-      experiments: ['named-arguments-anywhere'],
     );
diff --git a/pkg/vm_service/test/super_constructor_invocation_test.dart b/pkg/vm_service/test/super_constructor_invocation_test.dart
index ae8239f..d6da0e9 100644
--- a/pkg/vm_service/test/super_constructor_invocation_test.dart
+++ b/pkg/vm_service/test/super_constructor_invocation_test.dart
@@ -1,8 +1,6 @@
 // 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.
-//
-// SharedOptions=--enable-experiment=super-parameters
 
 // @dart=2.17
 
@@ -55,11 +53,11 @@
 
 createInstance(VmService service, String expr) async {
   return await service.evaluate(
-      isolateId,
-      rootLibId,
-      expr,
-      disableBreakpoints: true,
-    );
+    isolateId,
+    rootLibId,
+    expr,
+    disableBreakpoints: true,
+  );
 }
 
 evaluateGetter(VmService service, String instanceId, String getter) async {
@@ -96,7 +94,8 @@
     expect(result.json['name'], 'String');
   },
   (VmService service, _) async {
-    dynamic instance = await createInstance(service, 'C.constr2(1, "abc", n: 3.14)');
+    dynamic instance =
+        await createInstance(service, 'C.constr2(1, "abc", n: 3.14)');
     dynamic result = await evaluateGetter(service, instance.id, 'n');
     expect(result.valueAsString, '3.14');
     result = await evaluateGetter(service, instance.id, 't');
@@ -117,7 +116,8 @@
     expect(result.json['name'], 'dynamic');
   },
   (VmService service, _) async {
-    dynamic instance = await createInstance(service, 'C.constr3(1, "abc", n: 42, t: 3.14)');
+    dynamic instance =
+        await createInstance(service, 'C.constr3(1, "abc", n: 42, t: 3.14)');
     dynamic result = await evaluateGetter(service, instance.id, 'n');
     expect(result.valueAsString, '42');
     result = await evaluateGetter(service, instance.id, 't');
@@ -127,7 +127,8 @@
     result = await service.evaluate(isolateId, instance.id, 'T');
     expect(result.json['name'], 'double');
 
-    instance = await createInstance(service, 'C.constr3(1, "abc", n: 3.14, t: 42)');
+    instance =
+        await createInstance(service, 'C.constr3(1, "abc", n: 3.14, t: 42)');
     result = await evaluateGetter(service, instance.id, 'n');
     expect(result.valueAsString, '3.14');
     result = await evaluateGetter(service, instance.id, 't');
@@ -177,5 +178,4 @@
       tests,
       'super_constructor_invocation_test.dart',
       testeeConcurrent: testMain,
-      experiments: ['super-parameters'],
     );
diff --git a/tools/VERSION b/tools/VERSION
index b5cd238..09d4cf3 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
 MINOR 18
 PATCH 0
 PRERELEASE 271
-PRERELEASE_PATCH 1
\ No newline at end of file
+PRERELEASE_PATCH 2
\ No newline at end of file
diff --git a/tools/experimental_features.yaml b/tools/experimental_features.yaml
index dec610c..7ac7dbb 100644
--- a/tools/experimental_features.yaml
+++ b/tools/experimental_features.yaml
@@ -233,6 +233,7 @@
       void main() {
         T.t.test();
       }
+    expired: true
 
   named-arguments-anywhere:
     help: "Named Arguments Anywhere"
@@ -246,6 +247,7 @@
       void main() {
         test(enabled : true, 'feature enabled');
       }
+    expired: true
 
   super-parameters:
     help: "Super-Initializer Parameters"
@@ -261,6 +263,7 @@
       void main(){
         print(C('feature enabled').foo);
       }
+    expired: true
 
   inference-update-1:
     help: "Horizontal type inference for function expressions passed to generic invocations."
