| /* |
| * 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. |
| */ |
| /** |
| * @assertion The static type of a constant object expression of either the |
| * form const T.id(a1, ..., an, xn+1: an+1, ..., xn+k: an+k)or the form |
| * const T(a1, .., an, xn+1: an+1, ..., xn+k: an+k) is T. |
| * It is a static warning if the static type of ai, 1 <= i <= n+k may not be |
| * assigned to the type of the corresponding formal parameter of the |
| * constructor T.id (respectively T). |
| * @description Checks that the static type of a constant object expression |
| * is T. |
| * @static-clean |
| * @author msyabro |
| */ |
| |
| class A { |
| const A(p1): x = p1, y = 3; |
| final x; |
| final y; |
| } |
| |
| class B { |
| const B.name(); |
| } |
| |
| class C { |
| const C(p1, [p2]); |
| } |
| |
| |
| main() { |
| A a = const A(1); |
| B b = const B.name(); |
| C c = const C(1); |
| } |