#1231. More Super parameters tests added
diff --git a/LanguageFeatures/Super-parameters/super_constructor_invocation_A02_t01.dart b/LanguageFeatures/Super-parameters/super_constructor_invocation_A02_t01.dart
new file mode 100644
index 0000000..a94f776
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/super_constructor_invocation_A02_t01.dart
@@ -0,0 +1,52 @@
+// 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 When inferring the super-constructor invocation, s, targeting the
+/// super constructor D, we include the implicit super-parameters from the
+/// constructor parameter list:
+///
+/// The super-constructor invocation s infers a super-constructor invocation s’
+/// such that
+/// ...
+/// If s has positional arguments, a1..ak, and ai infers mi with a context type
+/// Ti, which is the type of the ith positional parameter of the targeted
+/// super-constructor, then s’ has positional arguments m1..mk.
+///
+/// @description Check that if s has positional arguments, a1..ak, and ai infers
+/// mi with a context type Ti, which is the type of the ith positional parameter
+/// of the targeted super-constructor, then s’ has positional arguments m1..mk.
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=super-parameters
+
+import "../../Utils/expect.dart";
+
+test<T>(T t) {}
+
+class S<T> {
+  final f1;
+  var v1;
+  num i1;
+  T t1;
+  S(this.f1, this.v1, this.i1, this.t1);
+}
+
+class C<T> extends S<T> {
+  C(super.f1, super.v1, super.i1, super.t1);
+}
+
+main() {
+  C c = C(1, 2, 3, 4);
+  test<int>(c.f1);
+  test<int>(c.v1);
+  test<int>(c.t1);
+
+  Expect.isTrue(c.f1 is int);
+  Expect.isFalse(c.f1 is String);
+  Expect.isTrue(c.v1 is int);
+  Expect.isFalse(c.v1 is String);
+  Expect.isTrue(c.i1.runtimeType is int);
+  Expect.isTrue(c.t1 is int);
+  Expect.isFalse(c.t1 is String);
+}
diff --git a/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t01.dart b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t01.dart
new file mode 100644
index 0000000..5c5e70b
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t01.dart
@@ -0,0 +1,66 @@
+// 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 When inferring the super-constructor invocation, s, targeting the
+/// super constructor D, we include the implicit super-parameters from the
+/// constructor parameter list:
+///
+/// The super-constructor invocation s infers a super-constructor invocation s’
+/// such that
+/// ...
+/// For each super parameter p in C, in source order, where p has parameter name
+/// n, (inferred or declared) type T, associated super-constructor parameter q,
+/// and where S is the type of the parameter q:
+///
+/// Let xn be an identifier for then name n. As an expression, xn denotes the
+/// final variable introduced into the initializer list scope by p.
+/// Then s’ has an argument following the previously mentioned arguments:
+/// xn if p is positional, or
+/// xn: xn if q is named.
+///
+/// @description Check that super-constructor invocation has correct parameters
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=super-parameters
+
+import "../../Utils/expect.dart";
+
+class S<T> {
+  num n;
+  T t;
+  S(this.n, this.t);
+  S.named(this.t, this.n);
+}
+
+class C<T> extends S<T> {
+  C.constr1(super.n, String s, super.t);
+  C.constr2(int i, super.n, String s, super.t) : super();
+  C.constr3(int i, super.t, String s, super.n) : super.named();
+}
+
+main() {
+  var c11 = C.constr1(1, "Lily was here", 42);
+  Expect.equals(1, c11.n);
+  Expect.equals(42, c11.t);
+
+  var c12 = C.constr1(1, "Lily was here", "42");
+  Expect.equals(1, c12.n);
+  Expect.equals("42", c12.t);
+
+  var c21 = C.constr2(1, 2, "Lily was here", 42);
+  Expect.equals(2, c21.n);
+  Expect.equals(42, c21.t);
+
+  var c22 = C.constr2(1, 2, "Lily was here", "42");
+  Expect.equals(2, c22.n);
+  Expect.equals("42", c22.t);
+
+  var c31 = C.constr3(1, 3.14, "Lily was here", 42);
+  Expect.equals(42, c31.n);
+  Expect.equals(3.14, c31.t);
+
+  var c32 = C.constr3(1, "", "Lily was here", 3.14);
+  Expect.equals(3.14, c32.n);
+  Expect.equals("", c32.t);
+}
diff --git a/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t02.dart b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t02.dart
new file mode 100644
index 0000000..0f90253
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t02.dart
@@ -0,0 +1,66 @@
+// 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 When inferring the super-constructor invocation, s, targeting the
+/// super constructor D, we include the implicit super-parameters from the
+/// constructor parameter list:
+///
+/// The super-constructor invocation s infers a super-constructor invocation s’
+/// such that
+/// ...
+/// For each super parameter p in C, in source order, where p has parameter name
+/// n, (inferred or declared) type T, associated super-constructor parameter q,
+/// and where S is the type of the parameter q:
+///
+/// Let xn be an identifier for then name n. As an expression, xn denotes the
+/// final variable introduced into the initializer list scope by p.
+/// Then s’ has an argument following the previously mentioned arguments:
+/// xn if p is positional, or
+/// xn: xn if q is named.
+///
+/// @description Check that super-constructor invocation has correct parameters
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=super-parameters
+
+import "../../Utils/expect.dart";
+
+class S<T> {
+  num? n;
+  T? t;
+  S(this.n, [this.t]);
+  S.named(this.t, [this.n]);
+}
+
+class C<T> extends S<T> {
+  C.constr1(super.n, String s, super.t);
+  C.constr2(int i, super.n, String s, super.t) : super();
+  C.constr3(int i, super.t, String s, super.n) : super.named();
+}
+
+main() {
+  var c11 = C.constr1(1, "Lily was here", 42);
+  Expect.equals(1, c11.n);
+  Expect.equals(42, c11.t);
+
+  var c12 = C.constr1(1, "Lily was here", "42");
+  Expect.equals(1, c12.n);
+  Expect.equals("42", c12.t);
+
+  var c21 = C.constr2(1, 2, "Lily was here", 42);
+  Expect.equals(2, c21.n);
+  Expect.equals(42, c21.t);
+
+  var c22 = C.constr2(1, 2, "Lily was here", "42");
+  Expect.equals(2, c22.n);
+  Expect.equals("42", c22.t);
+
+  var c31 = C.constr3(1, 3.14, "Lily was here", 42);
+  Expect.equals(42, c31.n);
+  Expect.equals(3.14, c31.t);
+
+  var c32 = C.constr3(1, "", "Lily was here", 3.14);
+  Expect.equals(3.14, c32.n);
+  Expect.equals("", c32.t);
+}
diff --git a/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t03.dart b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t03.dart
new file mode 100644
index 0000000..3f59db2
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t03.dart
@@ -0,0 +1,66 @@
+// 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 When inferring the super-constructor invocation, s, targeting the
+/// super constructor D, we include the implicit super-parameters from the
+/// constructor parameter list:
+///
+/// The super-constructor invocation s infers a super-constructor invocation s’
+/// such that
+/// ...
+/// For each super parameter p in C, in source order, where p has parameter name
+/// n, (inferred or declared) type T, associated super-constructor parameter q,
+/// and where S is the type of the parameter q:
+///
+/// Let xn be an identifier for then name n. As an expression, xn denotes the
+/// final variable introduced into the initializer list scope by p.
+/// Then s’ has an argument following the previously mentioned arguments:
+/// xn if p is positional, or
+/// xn: xn if q is named.
+///
+/// @description Check that super-constructor invocation has correct parameters
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=super-parameters
+
+import "../../Utils/expect.dart";
+
+class S<T> {
+  num? n;
+  T? t;
+  S(this.n, {this.t});
+  S.named(this.t, {this.n});
+}
+
+class C<T> extends S<T> {
+  C.constr1(super.n, String s, {super.t});
+  C.constr2(int i, super.n, String s, {super.t}) : super();
+  C.constr3(int i, super.t, String s, {super.n}) : super.named();
+}
+
+main() {
+  var c11 = C.constr1(1, "Lily was here", t: 42);
+  Expect.equals(1, c11.n);
+  Expect.equals(42, c11.t);
+
+  var c12 = C.constr1(1, "Lily was here", t: "42");
+  Expect.equals(1, c12.n);
+  Expect.equals("42", c12.t);
+
+  var c21 = C.constr2(1, 2, "Lily was here",t: 42);
+  Expect.equals(2, c21.n);
+  Expect.equals(42, c21.t);
+
+  var c22 = C.constr2(1, 2, "Lily was here", t: "42");
+  Expect.equals(2, c22.n);
+  Expect.equals("42", c22.t);
+
+  var c31 = C.constr3(1, 3.14, "Lily was here", n: 42);
+  Expect.equals(42, c31.n);
+  Expect.equals(3.14, c31.t);
+
+  var c32 = C.constr3(1, "", "Lily was here", n: 3.14);
+  Expect.equals(3.14, c32.n);
+  Expect.equals("", c32.t);
+}
diff --git a/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t04.dart b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t04.dart
new file mode 100644
index 0000000..eb41edb
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t04.dart
@@ -0,0 +1,50 @@
+// 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 When inferring the super-constructor invocation, s, targeting the
+/// super constructor D, we include the implicit super-parameters from the
+/// constructor parameter list:
+///
+/// The super-constructor invocation s infers a super-constructor invocation s’
+/// such that
+/// ...
+/// For each super parameter p in C, in source order, where p has parameter name
+/// n, (inferred or declared) type T, associated super-constructor parameter q,
+/// and where S is the type of the parameter q:
+///
+/// Let xn be an identifier for then name n. As an expression, xn denotes the
+/// final variable introduced into the initializer list scope by p.
+/// Then s’ has an argument following the previously mentioned arguments:
+/// xn if p is positional, or
+/// xn: xn if q is named.
+///
+/// @description Check that super-constructor invocation has correct parameters
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=super-parameters
+
+import "../../Utils/expect.dart";
+
+class S<T> {
+  S(num n, T t) {
+    Expect.equals(1, n);
+    Expect.equals("42", t);
+  }
+  S.named(T t, num n) {
+    Expect.equals(1, n);
+    Expect.equals("42", t);
+  }
+}
+
+class C<T> extends S<T> {
+  C.constr1(super.n, String s, super.t);
+  C.constr2(int i, super.n, String s, super.t) : super();
+  C.constr3(int i, super.t, String s, super.n) : super.named();
+}
+
+main() {
+  C.constr1(1, "Lily was here", "42");
+  C.constr2(1, 1, "Lily was here", "42");
+  C.constr3(1, "42", "Lily was here", 1);
+}
diff --git a/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t05.dart b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t05.dart
new file mode 100644
index 0000000..a645e26
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t05.dart
@@ -0,0 +1,50 @@
+// 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 When inferring the super-constructor invocation, s, targeting the
+/// super constructor D, we include the implicit super-parameters from the
+/// constructor parameter list:
+///
+/// The super-constructor invocation s infers a super-constructor invocation s’
+/// such that
+/// ...
+/// For each super parameter p in C, in source order, where p has parameter name
+/// n, (inferred or declared) type T, associated super-constructor parameter q,
+/// and where S is the type of the parameter q:
+///
+/// Let xn be an identifier for then name n. As an expression, xn denotes the
+/// final variable introduced into the initializer list scope by p.
+/// Then s’ has an argument following the previously mentioned arguments:
+/// xn if p is positional, or
+/// xn: xn if q is named.
+///
+/// @description Check that super-constructor invocation has correct parameters
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=super-parameters
+
+import "../../Utils/expect.dart";
+
+class S<T> {
+  S(num n, [T? t]) {
+    Expect.equals(1, n);
+    Expect.equals("42", t);
+  }
+  S.named(T t, [num n = 0]) {
+    Expect.equals(1, n);
+    Expect.equals("42", t);
+  }
+}
+
+class C<T> extends S<T> {
+  C.constr1(super.n, String s, super.t);
+  C.constr2(int i, super.n, String s, super.t) : super();
+  C.constr3(int i, super.t, String s, super.n) : super.named();
+}
+
+main() {
+  C.constr1(1, "Lily was here", "42");
+  C.constr2(1, 1, "Lily was here", "42");
+  C.constr3(1, "42", "Lily was here", 1);
+}
diff --git a/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t06.dart b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t06.dart
new file mode 100644
index 0000000..8632805
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/super_constructor_invocation_A03_t06.dart
@@ -0,0 +1,50 @@
+// 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 When inferring the super-constructor invocation, s, targeting the
+/// super constructor D, we include the implicit super-parameters from the
+/// constructor parameter list:
+///
+/// The super-constructor invocation s infers a super-constructor invocation s’
+/// such that
+/// ...
+/// For each super parameter p in C, in source order, where p has parameter name
+/// n, (inferred or declared) type T, associated super-constructor parameter q,
+/// and where S is the type of the parameter q:
+///
+/// Let xn be an identifier for then name n. As an expression, xn denotes the
+/// final variable introduced into the initializer list scope by p.
+/// Then s’ has an argument following the previously mentioned arguments:
+/// xn if p is positional, or
+/// xn: xn if q is named.
+///
+/// @description Check that super-constructor invocation has correct parameters
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=super-parameters
+
+import "../../Utils/expect.dart";
+
+class S<T> {
+  S(num n, {T? t}) {
+    Expect.equals(1, n);
+    Expect.equals("42", t);
+  }
+  S.named(T t, {num n = 0}) {
+    Expect.equals(1, n);
+    Expect.equals("42", t);
+  }
+}
+
+class C<T> extends S<T> {
+  C.constr1(super.n, String s, {super.t});
+  C.constr2(int i, super.n, String s, {super.t}) : super();
+  C.constr3(int i, super.t, String s, {super.n}) : super.named();
+}
+
+main() {
+  C.constr1(1, "Lily was here", t: "42");
+  C.constr2(1, 1, "Lily was here", t: "42");
+  C.constr3(1, "42", "Lily was here", n: 1);
+}
diff --git a/LanguageFeatures/Super-parameters/type_inference_A01_t03.dart b/LanguageFeatures/Super-parameters/type_inference_A01_t03.dart
new file mode 100644
index 0000000..f624743
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/type_inference_A01_t03.dart
@@ -0,0 +1,49 @@
+// 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 We infer the type of a parameter declaration, p, of a
+/// non-redirecting generative constructor, C, as:
+///
+/// If the p has a type in its <finalConstVarOrType>, that remains the type of
+/// the parameter.
+///
+/// @description Check that if the p has a type in its <finalConstVarOrType>,
+/// that remains the type of the parameter.
+/// @author sgrekhov@unipro.ru
+
+import "../../Utils/expect.dart";
+
+test<T>(T t) {}
+
+class S<T> {
+  final f;
+  var v;
+  num n;
+  T t;
+  S(this.f, this.v, this.n, this.t, var i) {
+    test<int>(f);
+    test<int>(v);
+    test<num>(n);
+    test<T>(t);
+    test<int>(i);
+  }
+}
+
+class C<T> extends S<T> {
+  C(int x, int super.f, int super.v, int super.n, int super.t, int y,
+      int super.i) {
+    Expect.isTrue(f is int);
+    Expect.isFalse(f is String);
+    Expect.isTrue(v is int);
+    Expect.isFalse(v is String);
+    Expect.isTrue(n is int);
+    Expect.isFalse(n is String);
+    Expect.isTrue(t is int);
+    Expect.isFalse(t is String);
+  }
+}
+
+main() {
+  C(1, 2, 3, 4);
+}
diff --git a/LanguageFeatures/Super-parameters/type_inference_A03_t01.dart b/LanguageFeatures/Super-parameters/type_inference_A03_t01.dart
index fc66193..0c5c375 100644
--- a/LanguageFeatures/Super-parameters/type_inference_A03_t01.dart
+++ b/LanguageFeatures/Super-parameters/type_inference_A03_t01.dart
@@ -23,7 +23,9 @@
   var v1;
   int i1;
   T t1;
-  S(this.f1, this.v1, this.i1, this.t1);
+  S(this.f1, this.v1, this.i1, this.t1, var x) {
+    test<int>(x);
+  }
 }
 
 class C<T> extends S<T> {
@@ -31,11 +33,12 @@
   var v2;
   int i2;
   T t2;
-  C(super.f1, super.v1, super.i1, super.t1, this.f2, this.v2, this.i2, this.t2);
+  C(super.f1, super.v1, super.i1, super.t1, super.x, this.f2, this.v2, this.i2,
+    this.t2);
 }
 
 main() {
-  var c = C(1, 2, 3, 4, 5, 6, 7, 8);
+  var c = C(1, 2, 3, 4, 5, 6, 7, 8, 9);
   test<int>(c.f1);
   test<int>(c.v1);
   test<int>(c.i1);
diff --git a/LanguageFeatures/Super-parameters/type_inference_A03_t02.dart b/LanguageFeatures/Super-parameters/type_inference_A03_t02.dart
index 3bc26d7..5d6305b 100644
--- a/LanguageFeatures/Super-parameters/type_inference_A03_t02.dart
+++ b/LanguageFeatures/Super-parameters/type_inference_A03_t02.dart
@@ -23,7 +23,9 @@
   var v1;
   int i1;
   T t1;
-  S(this.f1, this.v1, this.i1, this.t1);
+  S(this.f1, this.v1, this.i1, this.t1, var x) {
+    test<int>(x);
+  }
 }
 
 class C<T> extends S<T> {
@@ -31,11 +33,12 @@
   var v2;
   int i2;
   T t2;
-  C(super.f1, super.v1, super.i1, super.t1, this.f2, this.v2, this.i2, this.t2);
+  C(super.f1, super.v1, super.i1, super.t1, super.x, this.f2, this.v2, this.i2,
+    this.t2);
 }
 
 main() {
-  C<int> c = C<int>(1, 2, 3, 4, 5, 6, 7, 8);
+  C<int> c = C<int>(1, 2, 3, 4, 5, 6, 7, 8, 9);
   test<int>(c.f1);
   test<int>(c.v1);
   test<int>(c.i1);
diff --git a/LanguageFeatures/Super-parameters/type_inference_A05_t03.dart b/LanguageFeatures/Super-parameters/type_inference_A05_t03.dart
new file mode 100644
index 0000000..b032e9d
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/type_inference_A05_t03.dart
@@ -0,0 +1,44 @@
+// 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 We also copy the default value of the associated
+/// super-constructor if applicable:
+///
+/// If p is optional, does not declare a default value, the associated
+/// super-constructor parameter is also optional and has a default value d, and
+/// d is a subtype of the (declared or inferred above) type of p, then p gets
+/// the default value d.
+///
+/// @description Check that if p is optional, does not declare a default value,
+/// the associated super-constructor parameter is also optional and has a
+/// default value d, and d is a subtype of the (declared or inferred above) type
+/// of p, then p gets the default value d
+/// @author sgrekhov@unipro.ru
+
+import "../../Utils/expect.dart";
+
+class S {
+  int s1;
+  int s2;
+  S([this.s1 = 1, this.s2 = 2]);
+}
+
+class C extends S {
+  int c1;
+  C(this.c1, [num super.s1, int x, num super.s2]);
+}
+
+main() {
+  C c1 = C(42);
+  Expect.equals(1, c1.s1);
+  Expect.equals(2, c1.s2);
+
+  C c2 = C(0, 42);
+  Expect.equals(42, c2.s1);
+  Expect.equals(2, c2.s2);
+
+  C c3 = C(0, 42, 43, 44);
+  Expect.equals(42, c3.s1);
+  Expect.equals(44, c3.s2);
+}
diff --git a/LanguageFeatures/Super-parameters/type_inference_A07_t05.dart b/LanguageFeatures/Super-parameters/type_inference_A07_t05.dart
new file mode 100644
index 0000000..b5de620
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/type_inference_A07_t05.dart
@@ -0,0 +1,29 @@
+// 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 It’s a compile-time error if a super-parameter has a type which
+/// is not a subtype of the type of its associated super-constructor parameter.
+///
+/// @description Check that it’s a compile-time error if a super-parameter has a
+/// type which is not a subtype of the type of its associated super-constructor
+/// parameter.
+/// @author sgrekhov@unipro.ru
+
+class S<T> {
+  int s1;
+  T s2;
+  S(this.s1, this.s2);
+}
+
+class C<T> extends S<T> {
+  T c1;
+  C(this.c1, num super.s1, num x, super.s2);
+//           ^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+}
+
+main() {
+  C<int>(1, 42, 3.14, 42);
+}
diff --git a/LanguageFeatures/Super-parameters/type_inference_A07_t06.dart b/LanguageFeatures/Super-parameters/type_inference_A07_t06.dart
new file mode 100644
index 0000000..609eeeb
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/type_inference_A07_t06.dart
@@ -0,0 +1,29 @@
+// 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 It’s a compile-time error if a super-parameter has a type which
+/// is not a subtype of the type of its associated super-constructor parameter.
+///
+/// @description Check that it’s a compile-time error if a super-parameter has a
+/// type which is not a subtype of the type of its associated super-constructor
+/// parameter.
+/// @author sgrekhov@unipro.ru
+
+class S {
+  int s1;
+  int s2;
+  S(this.s1, [this.s2 = 0]);
+}
+
+class C extends S {
+  int c1;
+  C(this.c1, int super.s1, num x, num super.s2);
+//                                ^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+}
+
+main() {
+  C(1, 42, 3.14, 42);
+}
diff --git a/LanguageFeatures/Super-parameters/type_inference_A07_t07.dart b/LanguageFeatures/Super-parameters/type_inference_A07_t07.dart
new file mode 100644
index 0000000..1b4dc93
--- /dev/null
+++ b/LanguageFeatures/Super-parameters/type_inference_A07_t07.dart
@@ -0,0 +1,29 @@
+// 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 It’s a compile-time error if a super-parameter has a type which
+/// is not a subtype of the type of its associated super-constructor parameter.
+///
+/// @description Check that it’s a compile-time error if a super-parameter has a
+/// type which is not a subtype of the type of its associated super-constructor
+/// parameter.
+/// @author sgrekhov@unipro.ru
+
+class S {
+  int s1;
+  int s2;
+  S(this.s1, {this.s2 = 0});
+}
+
+class C extends S {
+  int c1;
+  C(this.c1, int super.s1, num x, {s2: num super.s2});
+//                                     ^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+}
+
+main() {
+  C(1, 42, 3.14, 42);
+}