Index: pkg/kernel/testcases/closures/contexts_in_super_initializers.dart |
diff --git a/pkg/kernel/testcases/closures/contexts_in_super_initializers.dart b/pkg/kernel/testcases/closures/contexts_in_super_initializers.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..528b76b4c0470e4d3f0a49b29096c4abeac5dafe |
--- /dev/null |
+++ b/pkg/kernel/testcases/closures/contexts_in_super_initializers.dart |
@@ -0,0 +1,26 @@ |
+// 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 super initializer. No |
+// contexts should be created either in the initializer list or in the |
+// constructor body. |
+ |
+class X {} |
+ |
+class Y {} |
+ |
+class A { |
+ X x; |
+ Y y; |
+ A(this.x, this.y); |
+} |
+ |
+class B extends A { |
+ B(X x, Y y) : super(x, y) {} |
+} |
+ |
+main() { |
+ B b = new B(new X(), new Y()); |
+} |