Update static errors tests around late keyword according changed NNBD specification
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t01.dart b/LanguageFeatures/nnbd/static_errors_A04_t01.dart
index c6ff26a..7acba04 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t01.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t01.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test Never
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test Never
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -28,11 +25,8 @@
 //             ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-  Never n2;
-//      ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t02.dart b/LanguageFeatures/nnbd/static_errors_A04_t02.dart
index bb8c13c..42d88fc 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t02.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t02.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test Function
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test Function
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -29,11 +26,8 @@
 //                ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-  Function f2;
-//         ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t03.dart b/LanguageFeatures/nnbd/static_errors_A04_t03.dart
index 994caec..60b320d 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t03.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t03.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test function type
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test function type
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -30,11 +27,8 @@
 //           ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-  Foo f2;
-//    ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t04.dart b/LanguageFeatures/nnbd/static_errors_A04_t04.dart
index 2182459..78b812c 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t04.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t04.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test some class A
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test some class A
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -29,25 +26,17 @@
 // [analyzer] unspecified
 // [cfe] unspecified
 
-
 class C {
   static A a1;
 //         ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-  A a2;
-//  ^^
-// [analyzer] unspecified
-// [cfe] unspecified
   static String s1;
 //              ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-  String s2;
-//       ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t05.dart b/LanguageFeatures/nnbd/static_errors_A04_t05.dart
index efaf14e..00b967a 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t05.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t05.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test some class A*
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test some class A*
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -30,11 +27,8 @@
 //         ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-  A a2;
-//  ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t06.dart b/LanguageFeatures/nnbd/static_errors_A04_t06.dart
deleted file mode 100644
index 10751cd..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t06.dart
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test some type
- * <X extends Object>
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-
-class C<X extends Object> {
-  X x;
-//  ^
-// [analyzer] unspecified
-// [cfe] unspecified
-}
-
-main() {
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t07.dart b/LanguageFeatures/nnbd/static_errors_A04_t07.dart
deleted file mode 100644
index 93ec4da..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t07.dart
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test some type
- * <X extends Object?>
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-
-class C<X extends Object?> {
-  X x;
-//  ^
-// [analyzer] unspecified
-// [cfe] unspecified
-}
-
-main() {
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t08.dart b/LanguageFeatures/nnbd/static_errors_A04_t08.dart
index 4cb5d04..e860960 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t08.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t08.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test FutureOr<Never>
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test FutureOr<Never>
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -30,11 +27,8 @@
 //                       ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-  FutureOr<Never> n2;
-//                ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t09.dart b/LanguageFeatures/nnbd/static_errors_A04_t09.dart
index 459dc41..7487e07 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t09.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t09.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test FutureOr<F> where F is
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test FutureOr<F> where F is
  * a function type
  * @author sgrekhov@unipro.ru
  */
@@ -43,17 +40,8 @@
 //                     ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-
-  FutureOr<Function> f5;
-//                   ^^
-// [analyzer] unspecified
-// [cfe] unspecified
-
-  FutureOr<Foo> f6;
-//              ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t10.dart b/LanguageFeatures/nnbd/static_errors_A04_t10.dart
index 7325b39..ceadad2 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t10.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t10.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test FutureOr<A> where A is
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test FutureOr<A> where A is
  * some class
  * @author sgrekhov@unipro.ru
  */
@@ -43,17 +40,8 @@
 //                        ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-
-  FutureOr<A> f5;
-//            ^^
-// [analyzer] unspecified
-// [cfe] unspecified
-
-  FutureOr<String> f6;
-//                 ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t11.dart b/LanguageFeatures/nnbd/static_errors_A04_t11.dart
index 230a139..cfd80aa 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t11.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t11.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test FutureOr<A*>
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test FutureOr<A*>
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -31,12 +28,8 @@
 //                   ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-
-  FutureOr<A> f3;
-//            ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t12.dart b/LanguageFeatures/nnbd/static_errors_A04_t12.dart
deleted file mode 100644
index e79fc49..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t12.dart
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test FutureOr<T>, where
- * <T extends Object>
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-import "dart:async";
-
-class C<T extends Object> {
-  FutureOr<T> t;
-//            ^
-// [analyzer] unspecified
-// [cfe] unspecified
-}
-
-main() {
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t13.dart b/LanguageFeatures/nnbd/static_errors_A04_t13.dart
index 568bf0c..f96e8f8 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t13.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t13.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test FutureOr<FutureOr<A>>
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test FutureOr<FutureOr<A>>
  * where A is some class
  * @author sgrekhov@unipro.ru
  */
@@ -43,17 +40,8 @@
 //                                  ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-
-  FutureOr<FutureOr<A>> f5;
-//                      ^^
-// [analyzer] unspecified
-// [cfe] unspecified
-
-  FutureOr<FutureOr<String>> f6;
-//                           ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t14.dart b/LanguageFeatures/nnbd/static_errors_A04_t14.dart
index ae86bab..17e24fe 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t14.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t14.dart
@@ -4,17 +4,14 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression and is not initialized in a constructor via an
- * initializing formal or an initializer list entry. Test F*, where F
- * is a function type
+ * @description Check that it is an error if a top level variable or static
+ * variable with a non-nullable type has no initializer expression unless the
+ * variable is marked with the `late` modifier. Test F*, where F is a function
+ * type
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -32,12 +29,8 @@
 //                 ^^
 // [analyzer] unspecified
 // [cfe] unspecified
-
-  LegacyFoo f3;
-//          ^^
-// [analyzer] unspecified
-// [cfe] unspecified
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t15.dart b/LanguageFeatures/nnbd/static_errors_A04_t15.dart
deleted file mode 100644
index f4f003e..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t15.dart
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is no compile-time error if an instance field
- * with potentially non-nullable type has no initializer expression but
- * initialized in a constructor via an initializing formal or an initializer
- * list entry. Test Function types
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-typedef void Foo();
-
-class A {
-  Function f1;
-  Foo f2;
-  A(Function f1, Foo f2): this.f1 = f1, this.f2 = f2 {}
-}
-
-class C {
-  Function f1;
-  Foo f2;
-  C(this.f1, this.f2);
-}
-
-void foo() {}
-int bar() => 42;
-
-main() {
-  new A(bar, foo);
-  new C(bar, foo);
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t16.dart b/LanguageFeatures/nnbd/static_errors_A04_t16.dart
deleted file mode 100644
index b35cd67..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t16.dart
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is no compile-time error if an instance field
- * with potentially non-nullable type has no initializer expression but
- * initialized in a constructor via an initializing formal or an initializer
- * list entry. Test some class A
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-class A {}
-
-class C1 {
-  A a;
-  C1(A a): this.a = a {}
-}
-
-class C2 {
-  A a;
-  C2(this.a);
-}
-
-main() {
-  new C1(new A());
-  new C2(new A());
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t17.dart b/LanguageFeatures/nnbd/static_errors_A04_t17.dart
deleted file mode 100644
index 3ffccb2..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t17.dart
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is no compile-time error if an instance field
- * with potentially non-nullable type has no initializer expression but
- * initialized in a constructor via an initializing formal or an initializer
- * list entry. Test <T extends Object>
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-class A {}
-
-class C1<T extends Object> {
-  T t;
-  C1(T t): this.t = t {}
-}
-
-class C2<T extends Object> {
-  T t;
-  C2(this.t);
-}
-
-main() {
-  new C1<A>(new A());
-  new C2<A>(new A());
-
-  new C1<String>("Show must go on");
-  new C2<String>("Lily was here");
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t19.dart b/LanguageFeatures/nnbd/static_errors_A04_t19.dart
deleted file mode 100644
index 77041d5..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t19.dart
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is no compile-time error if an instance field
- * with potentially non-nullable type has no initializer expression but
- * initialized in a constructor via an initializing formal or an initializer
- * list entry. Test <T extends Object?>
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-class A {}
-
-class C1<T extends Object?> {
-  T t;
-  C1(T t): this.t = t {}
-}
-
-class C2<T extends Object?> {
-  T t;
-  C2(this.t);
-}
-
-main() {
-  new C1<A>(new A());
-  new C2<A>(new A());
-
-  new C1<String>("Show must go on");
-  new C2<String>("Lily was here");
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t20.dart b/LanguageFeatures/nnbd/static_errors_A04_t20.dart
deleted file mode 100644
index e168370..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t20.dart
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is no compile-time error if an instance field
- * with potentially non-nullable type has no initializer expression but
- * initialized in a constructor via an initializing formal or an initializer
- * list entry. Test F*, where F
- * is a function type
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-import "legacy_lib.dart";
-
-class C1 {
-  LegacyFoo f;
-
-  C1(LegacyFoo f): this.f = f {}
-}
-
-class C2 {
-  LegacyFoo f;
-
-  C2(this.f);
-}
-
-main() {
-  new C1(legacyFoo);
-  new C2(legacyFoo);
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t21.dart b/LanguageFeatures/nnbd/static_errors_A04_t21.dart
index 95514c6..a62d556 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t21.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t21.dart
@@ -4,15 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test Never
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test Never
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -22,10 +20,8 @@
 class C {
   static late Never n1;
   static late final Never n2;
-  late Never n3;
-  late final Never n4;
-  covariant late Never n5;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t22.dart b/LanguageFeatures/nnbd/static_errors_A04_t22.dart
index a3ebf3d..b5a6d34 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t22.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t22.dart
@@ -4,15 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test Function
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test Function
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -23,10 +21,8 @@
 class C {
   static late Function x1;
   static late final Function x2;
-  late Function x3;
-  late final Function x4;
-  covariant late Function x5;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t23.dart b/LanguageFeatures/nnbd/static_errors_A04_t23.dart
index 9ff1ecf..02f3994 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t23.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t23.dart
@@ -4,15 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test function type
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test function type
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -24,10 +22,8 @@
 class C {
   static late Foo x1;
   static late final Foo x2;
-  late Foo x3;
-  late final Foo x4;
-  covariant late Foo x5;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t24.dart b/LanguageFeatures/nnbd/static_errors_A04_t24.dart
index 1dd814f..4e2f035 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t24.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t24.dart
@@ -4,15 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test some class A
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test some class A
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -24,10 +22,8 @@
 class C {
   static late A x1;
   static late final A x2;
-  late A x3;
-  late final A x4;
-  covariant late A x5;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t25.dart b/LanguageFeatures/nnbd/static_errors_A04_t25.dart
index 7ff5d97..c928f41 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t25.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t25.dart
@@ -4,15 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test some class A*
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test some class A*
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -24,10 +22,8 @@
 class C {
   static late A x1;
   static late final A x2;
-  late A x3;
-  late final A x4;
-  covariant late A x5;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t26.dart b/LanguageFeatures/nnbd/static_errors_A04_t26.dart
deleted file mode 100644
index e3ea035..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t26.dart
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test some type
- * <X extends Object>
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-
-class C<X extends Object> {
-  late X x3;
-  late final X x4;
-  covariant late X x5;
-}
-
-main() {
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t27.dart b/LanguageFeatures/nnbd/static_errors_A04_t27.dart
deleted file mode 100644
index 48c4928..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t27.dart
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test some type
- * <X extends Object?>
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-
-class C<X extends Object?> {
-  late X x3;
-  late final X x4;
-  covariant late X x5;
-}
-
-main() {
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t28.dart b/LanguageFeatures/nnbd/static_errors_A04_t28.dart
index 2be098c..0aafa6f 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t28.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t28.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test
- * FutureOr<Never>
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test FutureOr<Never>
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -24,10 +21,8 @@
 class C {
   static late FutureOr<Never> x1;
   static late final FutureOr<Never> x2;
-  late FutureOr<Never> x3;
-  late final FutureOr<Never> x4;
-  covariant late FutureOr<Never> x5;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t29.dart b/LanguageFeatures/nnbd/static_errors_A04_t29.dart
index 3c09c7c..e16efde 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t29.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t29.dart
@@ -4,16 +4,14 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test FutureOr<F>
- * where F is a function type
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test FutureOr<F> where F is a function
+ * type
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -27,16 +25,11 @@
 class C {
   static late FutureOr<Function> x1;
   static late final FutureOr<Function> x2;
-  late FutureOr<Function> x3;
-  late final FutureOr<Function> x4;
-  covariant late FutureOr<Function> x5;
 
-  static late FutureOr<Foo> x6;
-  static late final FutureOr<Foo> x7;
-  late FutureOr<Foo> x8;
-  late final FutureOr<Foo> x9;
-  covariant late FutureOr<Foo> x10;
+  static late FutureOr<Foo> x3;
+  static late final FutureOr<Foo> x4;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t30.dart b/LanguageFeatures/nnbd/static_errors_A04_t30.dart
index 3c2a8be..2e827d4 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t30.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t30.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test FutureOr<A>
- * where A is some class
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test FutureOr<A> where A is some class
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -26,10 +23,8 @@
 class C {
   static late FutureOr<A> x1;
   static late final FutureOr<A> x2;
-  late FutureOr<A> x3;
-  late final FutureOr<A> x4;
-  covariant late FutureOr<A> x5;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t31.dart b/LanguageFeatures/nnbd/static_errors_A04_t31.dart
index 77ed484..944ece0 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t31.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t31.dart
@@ -4,15 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test FutureOr<A*>
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test FutureOr<A*>
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -25,10 +23,8 @@
 class C {
   static late FutureOr<A> x1;
   static late final FutureOr<A> x2;
-  late FutureOr<A> x3;
-  late final FutureOr<A> x4;
-  covariant late FutureOr<A> x5;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t32.dart b/LanguageFeatures/nnbd/static_errors_A04_t32.dart
deleted file mode 100644
index 364ef31..0000000
--- a/LanguageFeatures/nnbd/static_errors_A04_t32.dart
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2019, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
- *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test FutureOr<T>,
- * where <T extends Object>
- * @author sgrekhov@unipro.ru
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-import "dart:async";
-
-class C<T extends Object> {
-  late FutureOr<T> x3;
-  late final FutureOr<T> x4;
-  covariant late FutureOr<T> x5;
-}
-
-main() {
-}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t33.dart b/LanguageFeatures/nnbd/static_errors_A04_t33.dart
index 583fbbb..a464607 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t33.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t33.dart
@@ -4,16 +4,14 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test
- * FutureOr<FutureOr<A>> where A is some class
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test FutureOr<FutureOr<A>> where A is some
+ * class
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -26,10 +24,8 @@
 class C {
   static late FutureOr<FutureOr<A>> x1;
   static late final FutureOr<FutureOr<A>> x2;
-  late FutureOr<FutureOr<A>> x3;
-  late final FutureOr<FutureOr<A>> x4;
-  covariant late FutureOr<FutureOr<A>> x5;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t34.dart b/LanguageFeatures/nnbd/static_errors_A04_t34.dart
index 5f29d44..552acfb 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t34.dart
+++ b/LanguageFeatures/nnbd/static_errors_A04_t34.dart
@@ -4,16 +4,13 @@
  * BSD-style license that can be found in the LICENSE file.
  */
 /**
- * @assertion It is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a top level variable or static variable with a
+ * non-nullable type has no initializer expression unless the variable is marked
+ * with the `late` modifier.
  *
- * @description Check that it is not an error if a top level variable, static
- * variable, or instance field with potentially non-nullable type has no
- * initializer expression but marked with a 'late' modifier. Test F*, where F
- * is a function type
+ * @description Check that it is not an error if a top level or static
+ * variable  with potentially non-nullable type has no initializer expression
+ * but marked with a 'late' modifier. Test F*, where F is a function type
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -26,10 +23,8 @@
 class C {
   static late LegacyFoo x1;
   static late final LegacyFoo x2;
-  late LegacyFoo x3;
-  late final LegacyFoo x4;
-  covariant late LegacyFoo x5;
 }
 
 main() {
+  new C();
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t01.dart b/LanguageFeatures/nnbd/static_errors_A05_t01.dart
new file mode 100644
index 0000000..24fe8b9
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t01.dart
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test Never
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+class C {
+  Never n;
+//      ^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t02.dart b/LanguageFeatures/nnbd/static_errors_A05_t02.dart
new file mode 100644
index 0000000..1a92353
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t02.dart
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description It is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier. Test Function
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+class C {
+  Function f;
+//         ^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t03.dart b/LanguageFeatures/nnbd/static_errors_A05_t03.dart
new file mode 100644
index 0000000..7d8127d
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t03.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test function type
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+typedef void Foo();
+
+class C {
+  Foo f;
+//    ^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t04.dart b/LanguageFeatures/nnbd/static_errors_A05_t04.dart
new file mode 100644
index 0000000..54b0e11
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t04.dart
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test some class A
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+class A {}
+
+class C {
+  A a;
+//  ^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+  String s;
+//       ^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t05.dart b/LanguageFeatures/nnbd/static_errors_A05_t05.dart
new file mode 100644
index 0000000..ac06bde
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t05.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test some class A*
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "legacy_lib.dart";
+
+class C {
+  A a;
+//  ^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t06.dart b/LanguageFeatures/nnbd/static_errors_A05_t06.dart
new file mode 100644
index 0000000..94e78fb
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t06.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test some type
+ * <X extends Object>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+class C<X extends Object> {
+  X x;
+//  ^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t07.dart b/LanguageFeatures/nnbd/static_errors_A05_t07.dart
new file mode 100644
index 0000000..e106f96
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t07.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test some type
+ * <X extends Object?>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+class C<X extends Object?> {
+  X x;
+//  ^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t08.dart b/LanguageFeatures/nnbd/static_errors_A05_t08.dart
new file mode 100644
index 0000000..32b51d5
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t08.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test FutureOr<Never>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+
+class C {
+  FutureOr<Never> n2;
+//                ^^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t09.dart b/LanguageFeatures/nnbd/static_errors_A05_t09.dart
new file mode 100644
index 0000000..273dd4b
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t09.dart
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test FutureOr<F> where
+ * F is a function type
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+
+typedef void Foo();
+
+class C {
+  FutureOr<Function> f1;
+//                   ^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+  FutureOr<Foo> f2;
+//              ^^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t10.dart b/LanguageFeatures/nnbd/static_errors_A05_t10.dart
new file mode 100644
index 0000000..f7433ef
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t10.dart
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test FutureOr<F> where
+ * F is a function type. Test FutureOr<A> where A is some class
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+
+class A {}
+
+class C {
+  FutureOr<A> f1;
+//            ^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+  FutureOr<String> f2;
+//                 ^^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t11.dart b/LanguageFeatures/nnbd/static_errors_A05_t11.dart
new file mode 100644
index 0000000..195dae9
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t11.dart
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test FutureOr<F> where
+ * F is a function type. Test FutureOr<A*>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+import "legacy_lib.dart";
+
+class C {
+  FutureOr<A> f;
+//            ^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t12.dart b/LanguageFeatures/nnbd/static_errors_A05_t12.dart
new file mode 100644
index 0000000..e21e7b2
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t12.dart
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test FutureOr<T>, where
+ * <T extends Object>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+
+class C<T extends Object> {
+  FutureOr<T> t;
+//            ^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C<String>();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t13.dart b/LanguageFeatures/nnbd/static_errors_A05_t13.dart
new file mode 100644
index 0000000..28b587e
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t13.dart
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test
+ * FutureOr<FutureOr<A>> where A is some class
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+
+class A {}
+
+class C {
+  FutureOr<FutureOr<A>> f1;
+//                      ^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+  FutureOr<FutureOr<String>> f2;
+//                           ^^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t14.dart b/LanguageFeatures/nnbd/static_errors_A05_t14.dart
new file mode 100644
index 0000000..2a4184e
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t14.dart
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test F*, where F is a
+ * function type
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "legacy_lib.dart";
+
+class C {
+  LegacyFoo f;
+//          ^
+// [analyzer] unspecified
+// [cfe] unspecified
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t15.dart b/LanguageFeatures/nnbd/static_errors_A05_t15.dart
new file mode 100644
index 0000000..7a699ba
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t15.dart
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is no compile-time error if an instance variable
+ * with a potentially non-nullable type has no initializer expression but
+ * initialized in a constructor via an initializing formal or an initializer
+ * list entry. Test Function types
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+typedef void Foo();
+
+class A {
+  Function f1;
+  Foo f2;
+  A(Function f1, Foo f2): this.f1 = f1, this.f2 = f2 {}
+}
+
+class C {
+  Function f1;
+  Foo f2;
+  C(this.f1, this.f2);
+}
+
+void foo() {}
+int bar() => 42;
+
+main() {
+  new A(bar, foo);
+  new C(bar, foo);
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t16.dart b/LanguageFeatures/nnbd/static_errors_A05_t16.dart
new file mode 100644
index 0000000..a312149
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t16.dart
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is no compile-time error if an instance variable
+ * with a potentially non-nullable type has no initializer expression but
+ * initialized in a constructor via an initializing formal or an initializer
+ * list entry. Test some class A
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+class A {}
+
+class C1 {
+  A a;
+  C1(A a): this.a = a {}
+}
+
+class C2 {
+  A a;
+  C2(this.a);
+}
+
+main() {
+  new C1(new A());
+  new C2(new A());
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t17.dart b/LanguageFeatures/nnbd/static_errors_A05_t17.dart
new file mode 100644
index 0000000..2ed861f
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t17.dart
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test <T extends Object>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+class A {}
+
+class C1<T extends Object> {
+  T t;
+  C1(T t): this.t = t {}
+}
+
+class C2<T extends Object> {
+  T t;
+  C2(this.t);
+}
+
+main() {
+  new C1<A>(new A());
+  new C2<A>(new A());
+
+  new C1<String>("Show must go on");
+  new C2<String>("Lily was here");
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A04_t18.dart b/LanguageFeatures/nnbd/static_errors_A05_t18.dart
similarity index 62%
rename from LanguageFeatures/nnbd/static_errors_A04_t18.dart
rename to LanguageFeatures/nnbd/static_errors_A05_t18.dart
index 2faadf7..c525462 100644
--- a/LanguageFeatures/nnbd/static_errors_A04_t18.dart
+++ b/LanguageFeatures/nnbd/static_errors_A05_t18.dart
@@ -1,19 +1,20 @@
 /*
- * Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+ * Copyright (c) 2020, 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 is an error if a top level variable, static variable, or
- * instance field with potentially non-nullable type has no initializer
- * expression and is not initialized in a constructor via an initializing formal
- * or an initializer list entry, unless the variable or field is marked with the
- * 'late' modifier.
+ * @assertion It is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
  *
- * @description Check that it is no compile-time error if an instance field
- * with potentially non-nullable type has no initializer expression but
- * initialized in a constructor via an initializing formal or an initializer
- * list entry. Test FutureOr
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test FutureOr
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=non-nullable
@@ -60,7 +61,6 @@
   C4(this.n1);
 }
 
-
 main() {
   new C1<String>("s", foo, foo, A(), M(), A());
   new C2<String>("s", foo, foo, A(), M(), A());
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t19.dart b/LanguageFeatures/nnbd/static_errors_A05_t19.dart
new file mode 100644
index 0000000..5c53341
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t19.dart
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier.
+ * Test <T extends Object?>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+class A {}
+
+class C1<T extends Object?> {
+  T t;
+  C1(T t): this.t = t {}
+}
+
+class C2<T extends Object?> {
+  T t;
+  C2(this.t);
+}
+
+main() {
+  new C1<A>(new A());
+  new C2<A>(new A());
+
+  new C1<String>("Show must go on");
+  new C2<String>("Lily was here");
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t20.dart b/LanguageFeatures/nnbd/static_errors_A05_t20.dart
new file mode 100644
index 0000000..61d0970
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t20.dart
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry,
+ * unless the variable is marked with the late modifier. Test F*, where F
+ * is a function type
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "legacy_lib.dart";
+
+class C1 {
+  LegacyFoo f;
+
+  C1(LegacyFoo f): this.f = f {}
+}
+
+class C2 {
+  LegacyFoo f;
+
+  C2(this.f);
+}
+
+main() {
+  new C1(legacyFoo);
+  new C2(legacyFoo);
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t21.dart b/LanguageFeatures/nnbd/static_errors_A05_t21.dart
new file mode 100644
index 0000000..ef916fa
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t21.dart
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test Never
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+class C {
+  late Never n1;
+  late final Never n2;
+  covariant late Never n3;
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t22.dart b/LanguageFeatures/nnbd/static_errors_A05_t22.dart
new file mode 100644
index 0000000..70d7653
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t22.dart
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test Function
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+class C {
+  late Function x1;
+  late final Function x2;
+  covariant late Function x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t23.dart b/LanguageFeatures/nnbd/static_errors_A05_t23.dart
new file mode 100644
index 0000000..65d7bc6
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t23.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test function type
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+typedef void Foo();
+
+class C {
+  late Foo x1;
+  late final Foo x2;
+  covariant late Foo x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t24.dart b/LanguageFeatures/nnbd/static_errors_A05_t24.dart
new file mode 100644
index 0000000..93e17b5
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t24.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test some class A
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+class A {}
+
+class C {
+  late A x1;
+  late final A x2;
+  covariant late A x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t25.dart b/LanguageFeatures/nnbd/static_errors_A05_t25.dart
new file mode 100644
index 0000000..9cff9e8
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t25.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test some class A*
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "legacy_lib.dart";
+
+class C {
+  late A x1;
+  late final A x2;
+  covariant late A x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t26.dart b/LanguageFeatures/nnbd/static_errors_A05_t26.dart
new file mode 100644
index 0000000..aedc5b0
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t26.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test some type
+ * <X extends Object>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+class C<X extends Object> {
+  late X x1;
+  late final X x2;
+  covariant late X x3;
+
+  C() {}
+}
+
+main() {
+  new C<String>();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t27.dart b/LanguageFeatures/nnbd/static_errors_A05_t27.dart
new file mode 100644
index 0000000..bf7714d
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t27.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test some type
+ * <X extends Object?>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+class C<X extends Object?> {
+  late X x1;
+  late final X x2;
+  covariant late X x3;
+
+  C() {}
+}
+
+main() {
+  new C<String?>();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t28.dart b/LanguageFeatures/nnbd/static_errors_A05_t28.dart
new file mode 100644
index 0000000..642980b
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t28.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test FutureOr<Never>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+
+class C {
+  late FutureOr<Never> x1;
+  late final FutureOr<Never> x2;
+  covariant late FutureOr<Never> x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t29.dart b/LanguageFeatures/nnbd/static_errors_A05_t29.dart
new file mode 100644
index 0000000..71999d9
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t29.dart
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test FutureOr<F> where F is
+ * a function type
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+typedef void Foo();
+
+class C {
+  late FutureOr<Function> x1;
+  late final FutureOr<Function> x2;
+  covariant late FutureOr<Function> x3;
+
+  late FutureOr<Foo> x4;
+  late final FutureOr<Foo> x5;
+  covariant late FutureOr<Foo> x6;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t30.dart b/LanguageFeatures/nnbd/static_errors_A05_t30.dart
new file mode 100644
index 0000000..1e47ac5
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t30.dart
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test FutureOr<A> where A is
+ * some class
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+class A {}
+
+class C {
+  late FutureOr<A> x1;
+  late final FutureOr<A> x2;
+  covariant late FutureOr<A> x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t31.dart b/LanguageFeatures/nnbd/static_errors_A05_t31.dart
new file mode 100644
index 0000000..3e73b95
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t31.dart
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test FutureOr<A*>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+import "legacy_lib.dart";
+
+class C {
+  late FutureOr<A> x1;
+  late final FutureOr<A> x2;
+  covariant late FutureOr<A> x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t32.dart b/LanguageFeatures/nnbd/static_errors_A05_t32.dart
new file mode 100644
index 0000000..8a93c26
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t32.dart
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test FutureOr<T>,
+ * where <T extends Object>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+
+class C<T extends Object> {
+  late FutureOr<T> x1;
+  late final FutureOr<T> x2;
+  covariant late FutureOr<T> x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t33.dart b/LanguageFeatures/nnbd/static_errors_A05_t33.dart
new file mode 100644
index 0000000..a610d19
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t33.dart
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test FutureOr<T>,
+ * where <T extends Object?>
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+
+class C<T extends Object?> {
+  late FutureOr<T> x1;
+  late final FutureOr<T> x2;
+  covariant late FutureOr<T> x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t34.dart b/LanguageFeatures/nnbd/static_errors_A05_t34.dart
new file mode 100644
index 0000000..2f46749
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t34.dart
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test FutureOr<FutureOr<A>>
+ * where A is some class
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+import "dart:async";
+class A {}
+
+class C {
+  late FutureOr<FutureOr<A>> x1;
+  late final FutureOr<FutureOr<A>> x2;
+  covariant late FutureOr<FutureOr<A>> x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A05_t35.dart b/LanguageFeatures/nnbd/static_errors_A05_t35.dart
new file mode 100644
index 0000000..82aa70a
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A05_t35.dart
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2020, 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 is an error if a class declaration declares an instance
+ * variable with a potentially non-nullable type and no initializer expression,
+ * and the class has a generative constructor where the variable is not
+ * initialized via an initializing formal or an initializer list entry, unless
+ * the variable is marked with the late modifier.
+ *
+ * @description Check that it is not an error if a class declaration declares an
+ * instance variable with a potentially non-nullable type and no initializer
+ * expression, and the class has a generative constructor where the variable is
+ * not initialized via an initializing formal or an initializer list entry, but
+ * the variable is marked with the 'late' modifier. Test F*, where F is a
+ * function type
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+import "legacy_lib.dart";
+
+class C {
+  late LegacyFoo x1;
+  late final LegacyFoo x2;
+  covariant late LegacyFoo x3;
+
+  C() {}
+}
+
+main() {
+  new C();
+}