| // Copyright (c) 2012, 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. |
| |
| // @dart = 2.9 |
| |
| import "package:expect/expect.dart"; |
| |
| class A { |
| final x; |
| final y; |
| final z; |
| final t; |
| |
| const A(this.z, tt) |
| : y = 499, |
| t = tt, |
| x = 3; |
| const A.named(z, this.t) |
| : y = 400 + z, |
| this.z = z, |
| x = 3; |
| const A.named2(t, z, y, x) |
| : x = t, |
| y = z, |
| z = y, |
| t = x; |
| |
| toString() => "A $x $y $z $t"; |
| } |
| |
| const a1 = const A(99, 100); |
| const a2 = const A.named(99, 100); |
| const a3 = const A.named2(1, 2, 3, 4); |
| |
| main() { |
| Expect.equals(3, a1.x); |
| Expect.equals(499, a1.y); |
| Expect.equals(99, a1.z); |
| Expect.equals(100, a1.t); |
| Expect.equals("A 3 499 99 100", a1.toString()); |
| |
| Expect.isTrue(identical(a1, a2)); |
| |
| Expect.equals(1, a3.x); |
| Expect.equals(2, a3.y); |
| Expect.equals(3, a3.z); |
| Expect.equals(4, a3.t); |
| Expect.equals("A 1 2 3 4", a3.toString()); |
| } |