#389. Initial commit. Tests for NNBD static errors
diff --git a/LanguageFeatures/nnbd/static_errors_A01_t01.dart b/LanguageFeatures/nnbd/static_errors_A01_t01.dart
new file mode 100644
index 0000000..98f20eb
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A01_t01.dart
@@ -0,0 +1,29 @@
+/*
+ * 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 to call a method, setter, getter or operator on
+ * an expression whose type is potentially nullable and not dynamic, except for
+ * the methods, setters, getters, and operators on Object.
+ * @description Check that it is a compile-time error to call a method, setter,
+ * getter or operator on an expression whose type is potentially nullable.
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+
+class C {
+  String m = "";
+  void foo() {}
+  int get g => 1;
+  void set s(int i) {}
+}
+
+main() {
+  C? c = new C();
+  c.m;             //# 01: compile-time error
+  c.foo();         //# 02: compile-time error
+  c.g;             //# 03: compile-time error
+  c.s = 2;         //# 04: compile-time error
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A01_t02.dart b/LanguageFeatures/nnbd/static_errors_A01_t02.dart
new file mode 100644
index 0000000..9d66e44
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A01_t02.dart
@@ -0,0 +1,34 @@
+/*
+ * 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 to call a method, setter, getter or operator on
+ * an expression whose type is potentially nullable and not dynamic, except for
+ * the methods, setters, getters, and operators on Object.
+ * @description Check that it is a compile-time error to call a method, setter,
+ * getter or operator on an expression whose type is potentially nullable
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+
+class C {
+  String m = "";
+  void foo() {}
+  int get g => 1;
+  void set s(int i) {}
+  bool operator ==(other) => true;
+}
+
+test(C? c) {
+c.m;             //# 01: compile-time error
+c.foo();         //# 02: compile-time error
+c.g;             //# 03: compile-time error
+c.s = 2;         //# 04: compile-time error
+c == new C();    //# 05: compile-time error
+}
+
+main() {
+  test(new C());
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A01_t03.dart b/LanguageFeatures/nnbd/static_errors_A01_t03.dart
new file mode 100644
index 0000000..a610cd1
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A01_t03.dart
@@ -0,0 +1,36 @@
+/*
+ * 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 to call a method, setter, getter or operator on
+ * an expression whose type is potentially nullable and not dynamic, except for
+ * the methods, setters, getters, and operators on Object.
+ * @description Check that it is no compile-time error to call a method, setter,
+ * getter or operator on an expression whose type is potentially nullable if
+ * they are  methods, setters, getters, and operators on Object
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+import "../../Utils/expect.dart";
+
+class C {
+}
+
+test(C? c) {
+Expect.isNotNull(c.hashCode);
+Expect.isNotNull(c.toString());
+Expect.isNotNull(c.runtimeType);
+Expect.isFalse(c == new C());
+}
+
+main() {
+  C? c = new C();
+  Expect.isNotNull(c.hashCode);
+  Expect.isNotNull(c.toString());
+  Expect.isNotNull(c.runtimeType);
+  Expect.isFalse(c == new C());
+
+  test(null);
+}
diff --git a/LanguageFeatures/nnbd/static_errors_A01_t04.dart b/LanguageFeatures/nnbd/static_errors_A01_t04.dart
new file mode 100644
index 0000000..04f69c7
--- /dev/null
+++ b/LanguageFeatures/nnbd/static_errors_A01_t04.dart
@@ -0,0 +1,34 @@
+/*
+ * 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 to call a method, setter, getter or operator on
+ * an expression whose type is potentially nullable and not dynamic, except for
+ * the methods, setters, getters, and operators on Object.
+ * @description Check that it is a compile-time error to call a method, setter,
+ * getter or operator on an expression whose type is potentially nullable. Test
+ * dynamic
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+
+class C {
+  String m = "";
+  void foo() {}
+  int get g => 1;
+  void set s(int i) {}
+}
+
+test(x) {
+  x.m;             //# 01: compile-time error
+  x.foo();         //# 02: compile-time error
+  x.g;             //# 03: compile-time error
+  x.s = 2;         //# 04: compile-time error
+}
+
+main() {
+  test(new C());
+  test(new C());
+}