#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());
+}