Index: pkg/kernel/testcases/closures/contexts_in_field_initializers.dart |
diff --git a/pkg/kernel/testcases/closures/contexts_in_field_initializers.dart b/pkg/kernel/testcases/closures/contexts_in_field_initializers.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0be4a67f58fb604f86c809f5a92da9a2302a5398 |
--- /dev/null |
+++ b/pkg/kernel/testcases/closures/contexts_in_field_initializers.dart |
@@ -0,0 +1,19 @@ |
+// Copyright (c) 2017, 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. |
+ |
+// The purpose of this test is to detect that no unnecessary contexts are |
+// created when a constructor parameter is used in its field initializers. No |
+// contexts should be created either in the initializer or in the constructor |
+// body. |
+ |
+class X {} |
+ |
+class A { |
+ X x; |
+ A(this.x) {} |
+} |
+ |
+main() { |
+ A a = new A(new X()); |
+} |