Version 2.17.0-253.0.dev

Merge commit '5f853eb0a5dd330937308bfcff05abc1c8ddd94a' into 'dev'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 35ae0e5..3c521f6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -222,16 +222,7 @@
   tracker.
 
   `dart --verbose pub [command]` will also cause the log file to be written.
-- `dart pub global activate --source=git` now takes arguments `--git-path` to
-  specify the path of the activated package in the pubspec and `--git-ref` to
-  specify the branch or revision to check out.
 - `dart pub add` can now add multiple packages in one command.
-- `dart pub token add` can now add a token for [pub.dev](https://pub.dev).
-- `dart pub uploader` has been removed. To manage uploaders for a package use
-  the `https://pub.dev/<packagename>/admin` web-interface.
-- Pub now supports a separate `pubspec_overrides.yaml` file that can contain
-  `dependency_overrides`. This makes it easier to avoid checking the local
-  overrides into version control.
 
 #### Linter
 
diff --git a/DEPS b/DEPS
index b0759a3..7447d02 100644
--- a/DEPS
+++ b/DEPS
@@ -141,7 +141,7 @@
   "pool_rev": "7abe634002a1ba8a0928eded086062f1307ccfae",
   "process_rev": "56ece43b53b64c63ae51ec184b76bd5360c28d0b",
   "protobuf_rev": "c1eb6cb51af39ccbaa1a8e19349546586a5c8e31",
-  "pub_rev": "94ae66a660cc187cc46ceaf1ab96bdcf8d48a313",
+  "pub_rev": "8f5ab7b1aba3b9f66b56246d77e167990339d317",
   "pub_semver_rev": "ea6c54019948dc03042c595ce9413e17aaf7aa38",
   "root_certificates_rev": "692f6d6488af68e0121317a9c2c9eb393eb0ee50",
   "rust_revision": "b7856f695d65a8ebc846754f97d15814bcb1c244",
diff --git a/pkg/front_end/lib/src/fasta/source/outline_builder.dart b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
index 7e1207b..1e5c1d6 100644
--- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
@@ -2268,10 +2268,8 @@
     if (superKeyword != null &&
         !libraryBuilder.enableSuperParametersInLibrary) {
       addProblem(
-          templateExperimentNotEnabled.withArguments(
-              'super-parameters',
-              libraryBuilder.enableConstructorTearOffsVersionInLibrary
-                  .toText()),
+          templateExperimentNotEnabled.withArguments('super-parameters',
+              libraryBuilder.enableSuperParametersVersionInLibrary.toText()),
           superKeyword.charOffset,
           superKeyword.length);
     }
diff --git a/pkg/front_end/testcases/super_parameters/opt_out.dart b/pkg/front_end/testcases/super_parameters/opt_out.dart
new file mode 100644
index 0000000..97fd985
--- /dev/null
+++ b/pkg/front_end/testcases/super_parameters/opt_out.dart
@@ -0,0 +1,17 @@
+// 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.
+
+// @dart=2.15
+
+class A {
+  int field;
+
+  A(this.field);
+}
+
+class B extends A {
+  B(super.field);
+}
+
+main() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/super_parameters/opt_out.dart.strong.expect b/pkg/front_end/testcases/super_parameters/opt_out.dart.strong.expect
new file mode 100644
index 0000000..ba9102f
--- /dev/null
+++ b/pkg/front_end/testcases/super_parameters/opt_out.dart.strong.expect
@@ -0,0 +1,30 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:5: Error: This requires the 'super-parameters' language feature to be enabled.
+// Try updating your pubspec.yaml to set the minimum SDK constraint to 2.17 or higher, and running 'pub get'.
+//   B(super.field);
+//     ^^^^^
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:3: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
+//   B(super.field);
+//   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::int field;
+  constructor •(core::int field) → self::A
+    : self::A::field = field, super core::Object::•()
+    ;
+}
+class B extends self::A {
+  constructor •(core::int field) → self::B
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/super_parameters/opt_out.dart:14:3: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
+  B(super.field);
+  ^"
+    ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/super_parameters/opt_out.dart.strong.transformed.expect b/pkg/front_end/testcases/super_parameters/opt_out.dart.strong.transformed.expect
new file mode 100644
index 0000000..ba9102f
--- /dev/null
+++ b/pkg/front_end/testcases/super_parameters/opt_out.dart.strong.transformed.expect
@@ -0,0 +1,30 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:5: Error: This requires the 'super-parameters' language feature to be enabled.
+// Try updating your pubspec.yaml to set the minimum SDK constraint to 2.17 or higher, and running 'pub get'.
+//   B(super.field);
+//     ^^^^^
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:3: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
+//   B(super.field);
+//   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::int field;
+  constructor •(core::int field) → self::A
+    : self::A::field = field, super core::Object::•()
+    ;
+}
+class B extends self::A {
+  constructor •(core::int field) → self::B
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/super_parameters/opt_out.dart:14:3: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
+  B(super.field);
+  ^"
+    ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/super_parameters/opt_out.dart.textual_outline.expect b/pkg/front_end/testcases/super_parameters/opt_out.dart.textual_outline.expect
new file mode 100644
index 0000000..8f960f9
--- /dev/null
+++ b/pkg/front_end/testcases/super_parameters/opt_out.dart.textual_outline.expect
@@ -0,0 +1,9 @@
+// @dart = 2.15
+class A {
+  int field;
+  A(this.field);
+}
+class B extends A {
+  B(super.field);
+}
+main() {}
diff --git a/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.expect b/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.expect
new file mode 100644
index 0000000..ba9102f
--- /dev/null
+++ b/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.expect
@@ -0,0 +1,30 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:5: Error: This requires the 'super-parameters' language feature to be enabled.
+// Try updating your pubspec.yaml to set the minimum SDK constraint to 2.17 or higher, and running 'pub get'.
+//   B(super.field);
+//     ^^^^^
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:3: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
+//   B(super.field);
+//   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::int field;
+  constructor •(core::int field) → self::A
+    : self::A::field = field, super core::Object::•()
+    ;
+}
+class B extends self::A {
+  constructor •(core::int field) → self::B
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/super_parameters/opt_out.dart:14:3: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
+  B(super.field);
+  ^"
+    ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.modular.expect b/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.modular.expect
new file mode 100644
index 0000000..ba9102f
--- /dev/null
+++ b/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.modular.expect
@@ -0,0 +1,30 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:5: Error: This requires the 'super-parameters' language feature to be enabled.
+// Try updating your pubspec.yaml to set the minimum SDK constraint to 2.17 or higher, and running 'pub get'.
+//   B(super.field);
+//     ^^^^^
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:3: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
+//   B(super.field);
+//   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::int field;
+  constructor •(core::int field) → self::A
+    : self::A::field = field, super core::Object::•()
+    ;
+}
+class B extends self::A {
+  constructor •(core::int field) → self::B
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/super_parameters/opt_out.dart:14:3: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
+  B(super.field);
+  ^"
+    ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..7990170
--- /dev/null
+++ b/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.outline.expect
@@ -0,0 +1,23 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:5: Error: This requires the 'super-parameters' language feature to be enabled.
+// Try updating your pubspec.yaml to set the minimum SDK constraint to 2.17 or higher, and running 'pub get'.
+//   B(super.field);
+//     ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::int field;
+  constructor •(core::int field) → self::A
+    ;
+}
+class B extends self::A {
+  constructor •(core::int field) → self::B
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.transformed.expect
new file mode 100644
index 0000000..ba9102f
--- /dev/null
+++ b/pkg/front_end/testcases/super_parameters/opt_out.dart.weak.transformed.expect
@@ -0,0 +1,30 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:5: Error: This requires the 'super-parameters' language feature to be enabled.
+// Try updating your pubspec.yaml to set the minimum SDK constraint to 2.17 or higher, and running 'pub get'.
+//   B(super.field);
+//     ^^^^^
+//
+// pkg/front_end/testcases/super_parameters/opt_out.dart:14:3: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
+//   B(super.field);
+//   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::int field;
+  constructor •(core::int field) → self::A
+    : self::A::field = field, super core::Object::•()
+    ;
+}
+class B extends self::A {
+  constructor •(core::int field) → self::B
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/super_parameters/opt_out.dart:14:3: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
+  B(super.field);
+  ^"
+    ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/textual_outline.status b/pkg/front_end/testcases/textual_outline.status
index d95d406..df71eb8 100644
--- a/pkg/front_end/testcases/textual_outline.status
+++ b/pkg/front_end/testcases/textual_outline.status
@@ -217,6 +217,7 @@
 regress/issue_41265.crash: FormatterCrash
 super_parameters/issue47741: FormatterCrash
 super_parameters/issue47922: FormatterCrash
+super_parameters/opt_out: FormatterCrash
 super_parameters/var_before_super: FormatterCrash
 triple_shift/invalid_operator: FormatterCrash
 variance/class_type_parameter_modifier: FormatterCrash
diff --git a/tools/VERSION b/tools/VERSION
index 082415f..80fb8d7 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 17
 PATCH 0
-PRERELEASE 252
+PRERELEASE 253
 PRERELEASE_PATCH 0
\ No newline at end of file