| // Copyright (c) 2015, 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. | |
| // TODO(nshahan) Merge back into constructor12_test.dart along with the | |
| // expectation from constructor12_strong_test.dart after ending support for weak | |
| // mode. | |
| class B { | |
| final z; | |
| B(this.z); | |
| foo() => this.z; | |
| } | |
| class A<T> extends B { | |
| var captured, captured2; | |
| var typedList; | |
| // p must be inside a box (in dart2js). | |
| A(p) : captured = (() => p), super(p++) { | |
| // Make constructor body non-inlinable. | |
| try {} catch (e) {} | |
| captured2 = () => p++; | |
| // In the current implementation of dart2js makes the generic type an | |
| // argument to the body. | |
| typedList = <T>[]; | |
| } | |
| foo() => captured(); | |
| bar() => captured2(); | |
| } | |
| @pragma('dart2js:noInline') | |
| @pragma('dart2js:assumeDynamic') | |
| confuse(x) => x; |