blob: df2c29a138fcadd24e8e5fa21f4450629b404da3 [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 A constant expression is an expression whose value can never
/// change, and that can be evaluated entirely at compile time.
/// A constant expression is one of the following:
/// . . .
/// • A simple or qualified identifier denoting a top-level function or a static
/// method that is not qualified by a deferred prefix.
/// @description Checks that a simple or qualified identifier denoting a
/// top-level function or a static method can be assigned to a constant
/// variable.
/// @author ngl@unipro.ru
import '../../../Utils/expect.dart';
import 'constants_lib.dart' as clib;
void F() {}
class B {
static void M() {}
}
const a = F;
const b = B.M;
const c = clib.F;
const d = clib.B.M;
main() {
checkType(checkIs<Function>, true, a);
checkType(checkIs<Function>, true, b);
checkType(checkIs<Function>, true, c);
checkType(checkIs<Function>, true, d);
}