| Index: pkg/kernel/testcases/closures_initializers/initializers.dart
|
| diff --git a/pkg/kernel/testcases/closures_initializers/initializers.dart b/pkg/kernel/testcases/closures_initializers/initializers.dart
|
| index 82d9285e83d55774271d01ff47a3821ae94fd7e1..290fa986e342903b344a3542752d8f4be4e38e56 100644
|
| --- a/pkg/kernel/testcases/closures_initializers/initializers.dart
|
| +++ b/pkg/kernel/testcases/closures_initializers/initializers.dart
|
| @@ -4,11 +4,11 @@
|
|
|
| // The purpose of this test is to detect that closures in [LocalInitializer]s
|
| // and [FieldInitializer]s are properly converted. This test assumes that
|
| -// [ArgumentExtractionForRedirecting] transformer was run before closure
|
| -// conversion. It should introduce one [LocalInitializer] for each argument
|
| -// passed to the redirecting constructor. If such argument contains a closure,
|
| -// it would appear in a [LocalInitializer]. The [FieldInitializer] example
|
| -// requires no such elaboration.
|
| +// [ArgumentExtractionForTesting] transformer was run before closure conversion.
|
| +// It should introduce one [LocalInitializer] for each argument passed to a
|
| +// field initializer for a field ending in "_li". If such argument contains a
|
| +// closure, it would appear in a [LocalInitializer]. The [FieldInitializer]
|
| +// example requires no such elaboration.
|
|
|
| class X {}
|
|
|
| @@ -19,8 +19,21 @@ class A {
|
| A(X i) : foo = ((() => i)());
|
| }
|
|
|
| +// Closure in super initializer.
|
| +//
|
| +class S extends A {
|
| + S(X i) : super((() => i)());
|
| +}
|
| +
|
| // Closure in local initializer.
|
| //
|
| +class S2 {
|
| + X foo_li;
|
| + S2(X foo) : foo_li = (() => foo)();
|
| +}
|
| +
|
| +// Closure in redirecting initializer.
|
| +//
|
| class B {
|
| X foo;
|
| B.named(X foo) {}
|
| @@ -32,4 +45,8 @@ main() {
|
| a.foo; // To prevent dartanalyzer from marking [a] as unused.
|
| B b = new B(new X());
|
| b.foo;
|
| + S s = new S(new X());
|
| + s.foo;
|
| + S2 s2 = new S2(new X());
|
| + s2.foo_li;
|
| }
|
|
|