#1123. Constructor tear-off tests fixed to expect syntax errors
diff --git a/LanguageFeatures/Constructor-tear-offs/named_constructor_A04_t02.dart b/LanguageFeatures/Constructor-tear-offs/named_constructor_A04_t02.dart
index 7ef90b2..9e1a50d 100644
--- a/LanguageFeatures/Constructor-tear-offs/named_constructor_A04_t02.dart
+++ b/LanguageFeatures/Constructor-tear-offs/named_constructor_A04_t02.dart
@@ -23,22 +23,22 @@
main() {
C Function() v1 = C.constr;
- C Function(int) v2 = C.constr;
+ C Function(int i) v2 = C.constr;
// ^
// [analyzer] unspecified
// [cfe] unspecified
- C Function(dynamic) v3 = C.constr;
+ C Function(dynamic d) v3 = C.constr;
// ^
// [analyzer] unspecified
// [cfe] unspecified
- C Function([int]) v4 = C.constr;
+ C Function([int i]) v4 = C.constr;
// ^
// [analyzer] unspecified
// [cfe] unspecified
- C Function({String s = "12345"}) v5 = C.constr;
+ C Function({String s}) v5 = C.constr;
// ^
// [analyzer] unspecified
// [cfe] unspecified
diff --git a/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t03.dart b/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t03.dart
index 4f2db04..e0548d7 100644
--- a/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t03.dart
+++ b/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t03.dart
@@ -34,8 +34,8 @@
Expect.equals(v4, v5);
Expect.identical(v4, v5);
- var v7 = C.constr1;
- var v8 = C.constr1;
+ var v7 = C.constr2;
+ var v8 = C.constr2;
Expect.equals(v7, v8);
Expect.identical(v7, v8);
diff --git a/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t09.dart b/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t09.dart
index be0869c..4f11ffc 100644
--- a/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t09.dart
+++ b/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t09.dart
@@ -19,7 +19,7 @@
class C {
C.name1(int i, int j) {}
C.name2(int i, int j);
- C( int i, int j) {}
+ C(int i, int j) {}
}
main() {
diff --git a/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t12.dart b/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t12.dart
index b61acc4..ca5135b 100644
--- a/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t12.dart
+++ b/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t12.dart
@@ -19,7 +19,7 @@
class C {
C.name1(int i, {int j = 42}) {}
C.name2(int i, {int j = 42});
- C( int i, {int j = 42}) {}
+ C(int i, {int j = 42}) {}
}
main() {
diff --git a/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t13.dart b/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t13.dart
index cd596ec..4c858a5 100644
--- a/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t13.dart
+++ b/LanguageFeatures/Constructor-tear-offs/named_constructor_A07_t13.dart
@@ -19,7 +19,7 @@
class C {
C.name1(int i, {required int j}) {}
C.name2(int i, {required int j});
- C( int i, {required int j}) {}
+ C(int i, {required int j}) {}
}
main() {
diff --git a/LanguageFeatures/Constructor-tear-offs/named_constructor_t09_A01.dart b/LanguageFeatures/Constructor-tear-offs/named_constructor_A09_t01.dart
similarity index 100%
rename from LanguageFeatures/Constructor-tear-offs/named_constructor_t09_A01.dart
rename to LanguageFeatures/Constructor-tear-offs/named_constructor_A09_t01.dart
diff --git a/LanguageFeatures/Constructor-tear-offs/named_constructor_t09_A02.dart b/LanguageFeatures/Constructor-tear-offs/named_constructor_A09_t02.dart
similarity index 100%
rename from LanguageFeatures/Constructor-tear-offs/named_constructor_t09_A02.dart
rename to LanguageFeatures/Constructor-tear-offs/named_constructor_A09_t02.dart
diff --git a/LanguageFeatures/Constructor-tear-offs/named_constructor_t09_A03.dart b/LanguageFeatures/Constructor-tear-offs/named_constructor_A09_t03.dart
similarity index 66%
rename from LanguageFeatures/Constructor-tear-offs/named_constructor_t09_A03.dart
rename to LanguageFeatures/Constructor-tear-offs/named_constructor_A09_t03.dart
index 93c8451..a7f7baa 100644
--- a/LanguageFeatures/Constructor-tear-offs/named_constructor_t09_A03.dart
+++ b/LanguageFeatures/Constructor-tear-offs/named_constructor_A09_t03.dart
@@ -27,42 +27,27 @@
main() {
var v1 = C<int>.new;
- var v2 = (C<int>).new;
- var v3 = C.new<int>;
- Expect.equals(v1, v2);
+ var v3 = (C.new)<int>;
Expect.equals(v1, v3);
- Expect.identical(v1, v2);
Expect.identical(v1, v3);
var v4 = C<Never>.constr1;
- var v5 = (C<Never>).constr1;
var v6 = (C.constr1)<Never>;
- Expect.equals(v4, v5);
- Expect.equals(v5, v6);
- Expect.identical(v4, v5);
- Expect.identical(v5, v6);
+ Expect.equals(v4, v6);
+ Expect.identical(v4, v6);
var v7 = C<Null>.constr2;
- var v8 = (C<Null>).constr2;
var v9 = (C.constr2)<Null>;
- Expect.equals(v7, v8);
- Expect.equals(v8, v9);
- Expect.identical(v7, v8);
- Expect.identical(v8, v9);
+ Expect.equals(v7, v9);
+ Expect.identical(v7, v9);
var v10 = C<List>.constr3;
- var v11 = (C<List>).constr3;
var v12 = (C.constr3)<List>;
- Expect.equals(v10, v11);
- Expect.equals(v11, v12);
- Expect.identical(v10, v11);
- Expect.identical(v11, v12);
+ Expect.equals(v10, v12);
+ Expect.identical(v10, v12);
var v13 = C<Object?>.constr4;
- var v14 = (C<Object?>).constr4;
var v15 = (C.constr4)<Object?>;
- Expect.equals(v13, v14);
Expect.equals(v13, v15);
- Expect.identical(v13, v14);
Expect.identical(v13, v15);
}
diff --git a/LanguageFeatures/Constructor-tear-offs/syntax_t01.dart b/LanguageFeatures/Constructor-tear-offs/syntax_t01.dart
new file mode 100644
index 0000000..ed24c54
--- /dev/null
+++ b/LanguageFeatures/Constructor-tear-offs/syntax_t01.dart
@@ -0,0 +1,46 @@
+// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/// @assertion The static type of the named constructor tear-off expression is
+/// the same as the static type of the corresponding constructor function
+/// tear-off.
+///
+/// @description Checks that the static types of the constructor tear off
+/// expressions are the same - test generic class
+/// @author iarkh@unipro.ru
+
+// SharedOptions=--enable-experiment=constructor-tearoffs
+
+class C<T> {
+ T? i;
+ T? j;
+
+ C();
+ C.constr1(T i) {}
+ C.constr2(int i, String s, x) {}
+ C.constr3({int i = 1, required T j}) {}
+ C.constr4(this.i, this.j);
+}
+
+main() {
+ var v1 = C<int>.new;
+ var v2 = (C<int>).new; //#01: syntax error
+ var v3 = C.new<int>;
+
+ var v4 = C<Never>.constr1;
+ var v5 = (C<Never>).constr1; //# 02: syntax error
+ var v6 = (C.constr1)<Never>;
+
+ var v7 = C<Null>.constr2;
+ var v8 = (C<Null>).constr2; //# 03: syntax error
+ var v9 = (C.constr2)<Null>;
+
+ var v10 = C<List>.constr3;
+ var v11 = (C<List>).constr3; //# 04: syntax error
+ var v12 = (C.constr3)<List>;
+
+ var v13 = C<Object?>.constr4;
+ var v14 = (C<Object?>).constr4; //# 05: syntax error
+ var v15 = (C.constr4)<Object?>;
+}
diff --git a/LanguageFeatures/Constructor-tear-offs/named_constructor_t10_A01.dart b/LanguageFeatures/Constructor-tear-offs/syntax_t02.dart
similarity index 80%
rename from LanguageFeatures/Constructor-tear-offs/named_constructor_t10_A01.dart
rename to LanguageFeatures/Constructor-tear-offs/syntax_t02.dart
index 485d32c..fd516d9 100644
--- a/LanguageFeatures/Constructor-tear-offs/named_constructor_t10_A01.dart
+++ b/LanguageFeatures/Constructor-tear-offs/syntax_t02.dart
@@ -25,19 +25,13 @@
(List<int>).filled;
(List.filled)<int>;
- List.filled<int>;
-// ^
-// [analyzer] unspecified
-// [cfe] unspecified
+ List.filled<int>; //# 01: syntax error
List<int>.filled(4, 4);
(List<int>).filled(4, 4);
(List.filled)<int>(4, 4);
- List.filled<int>(4, 4);
-// ^
-// [analyzer] unspecified
-// [cfe] unspecified
+ List.filled<int>(4, 4); //# 02: syntax error
}
void testC() {
@@ -45,19 +39,13 @@
(C<int>).new;
(C.new)<int>;
- C.new<int>;
-// ^
-// [analyzer] unspecified
-// [cfe] unspecified
+ C.new<int>; //# 03: syntax error
C<int>.new();
(C<int>).new();
(C.new)<int>();
- C.new<int>();
-// ^
-// [analyzer] unspecified
-// [cfe] unspecified
+ C.new<int>(); //# 04: syntax error
}
main() {