Files
sdk/tests/language/compile_time_constant/d_test.dart
T
Robert Nystrom 959bf6e1c3 Migrate language_2/compile_time_constant to NNBD.
Change-Id: I6cbad15f7151a1a5e1ece71f91ddfb826dca5de5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141762
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-03-31 15:51:50 +00:00

49 lines
1.0 KiB
Dart

// 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.
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());
}