Index: test/codegen/language/this_conditional_operator_test.dart |
diff --git a/test/codegen/language/this_conditional_operator_test.dart b/test/codegen/language/this_conditional_operator_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c45b7b6c945ad1b0a2f7c16c62aed22a3d4bf15e |
--- /dev/null |
+++ b/test/codegen/language/this_conditional_operator_test.dart |
@@ -0,0 +1,28 @@ |
+// Copyright (c) 2015, 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. |
+ |
+// Verify that the ?. operator cannot be used for forwarding "this" |
+// constructors. |
+ |
+class B { |
+ B(); |
+ B.namedConstructor(); |
+ var field = 1; |
+ method() => 1; |
+ |
+ B.forward() |
+ : this?.namedConstructor() /// 01: compile-time error |
+ ; |
+ |
+ test() { |
+ this?.field = 1; |
+ this?.field += 1; |
+ this?.field; |
+ this?.method(); |
+ } |
+} |
+ |
+main() { |
+ new B.forward().test(); |
+} |