| // Copyright (c) 2011, 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. |
| // Check that initializers of static const fields are compile time constants. |
| |
| import "package:expect/expect.dart"; |
| |
| class Point { |
| final x_; |
| final y_; |
| const Point(x, y) |
| : x_ = x, |
| y_ = y; |
| } |
| |
| class ConstInitTest { |
| static const N = 1; |
| static const O = 1 + 3; |
| static const P = 2 * (O - N); |
| static const Q = const Point(0, 0); |
| |
| static const Q2 = const Point(0, 0); |
| static const P2 = 2 * (O - N); |
| static const O2 = 1 + 3; |
| static const N2 = 1; |
| |
| static testMain() { |
| Expect.equals(1, N); |
| Expect.equals(4, O); |
| Expect.equals(6, P); |
| Expect.equals(0, Q.x_); |
| Expect.equals(0, Q.y_); |
| } |
| } |
| |
| main() { |
| ConstInitTest.testMain(); |
| } |