blob: 03247ec683cea065374c8f44b266f413b1a99328 [file] [log] [blame]
// 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 Let e be a constant object expression of 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). It is a compile-time
/// error if ai, 1 < = i <= n + k, is not a compile-time constant expression.
/// @description Checks that it is a compile-time error if any optional
/// positional arguments of a constant object expression are not compile-time
/// constants.
/// @author ilya
class T {
const T(p1, [p2 , p3]);
}
main() {
int i = 14;
const T(1, i, [0, 1]);
// ^
// [analyzer] unspecified
// [cfe] unspecified
}