OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 // |
| 5 // DartOptions=--initializing-formal-access |
4 | 6 |
5 import "package:expect/expect.dart"; | 7 import "package:expect/expect.dart"; |
6 | 8 |
7 class A<T> {} | 9 class A { |
8 | 10 var x, y; |
9 class C<T> { | 11 A(this.x) : y = (() => x); |
10 a() { | |
11 return () => new A<T>(); | |
12 } | |
13 } | 12 } |
14 | 13 |
15 main() { | 14 main() { |
16 Expect.isTrue(new C<int>().a()() is A<int>); | 15 A a = new A(2); |
17 Expect.isFalse(new C<int>().a()() is A<String>); | 16 a.x = 3; |
| 17 Expect.equals(a.x, 3); |
| 18 Expect.equals(a.y(), 2); |
18 } | 19 } |
OLD | NEW |