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