#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() {