Index: tests/language/generic_sends_test.dart |
diff --git a/tests/language/generic_sends_test.dart b/tests/language/generic_sends_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f41946b12e058d09433092751607a8da95fe0b8d |
--- /dev/null |
+++ b/tests/language/generic_sends_test.dart |
@@ -0,0 +1,27 @@ |
+// Copyright (c) 2016, 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. |
+// |
+// DartOptions=--generic-method-syntax |
+// AnalyzerOptions=--options=./generic_sends_test.options |
+ |
+// Dart test verifying that the parser can handle certain cases where |
+// grammar ambiguity is resolved in favor of generic sends, not |
+// relational expressions. |
+ |
+f(arg1, [arg2]) => null; |
+g<X, Y>(arg) => null; |
+ |
+main() { |
+ // Generic invocations. |
+ f(g<int, String>(3)); |
+ f(g<int, List<String>>(3)); |
+ f(g<int, String>(3), 4); |
+ f(g<int, List<String>>(3), 4); |
+ |
+ // Relational expressions. |
+ int a = 0, b = 1, c = 2, d = 3; |
+ f(a < b, c > 3); |
+ f(a < b, c >> 3); |
+ f(a < b, c < d >> 3); |
+} |