Index: pkg/kernel/testcases/closures/field.dart |
diff --git a/pkg/kernel/testcases/closures/field.dart b/pkg/kernel/testcases/closures/field.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..910a1283ca2147bced20b2b680084c5aa362a3aa |
--- /dev/null |
+++ b/pkg/kernel/testcases/closures/field.dart |
@@ -0,0 +1,25 @@ |
+// 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.md file. |
+ |
+var x = () => "x"; |
+ |
+class C<T> { |
+ var v = (x) => x is T; |
+ |
+ final y = () => "y"; |
+ |
+ static final z = () => "z"; |
+} |
+ |
+main() { |
+ if (!new C<String>().v("")) throw "C<String>.v false on String"; |
+ if (new C<String>().v(0)) throw "C<String>.v true on int"; |
+ if (new C<String>().v(null)) throw "C<String>.v true on null"; |
+ if (new C<int>().v("")) throw "C<int>.v true on String"; |
+ if (!new C<int>().v(0)) throw "C<int>.v false on int"; |
+ if (new C<int>().v(null)) throw "C<int>.v true on null"; |
+ if ("x" != x()) throw "x"; |
+ if ("y" != new C<String>().y()) throw "y"; |
+ if ("z" != C.z()) throw "z"; |
+} |