mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 00:29:48 +00:00
c86af3c39b
Change-Id: I9ae6c17967c98770ed06dead200c8bd87ae7f2a9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/309829 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Kallen Tu <kallentu@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
50 lines
1.4 KiB
Dart
50 lines
1.4 KiB
Dart
// Copyright (c) 2013, 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.
|
|
|
|
// Test that constant local variables have constant initializers.
|
|
|
|
import "package:expect/expect.dart";
|
|
|
|
void main() {
|
|
const c1;
|
|
// ^^
|
|
// [analyzer] COMPILE_TIME_ERROR.CONST_NOT_INITIALIZED
|
|
// [cfe] The const variable 'c1' must be initialized.
|
|
const c2 = 0;
|
|
const c3 = field;
|
|
// ^^^^^
|
|
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
|
|
// [cfe] Constant evaluation error:
|
|
// [cfe] Not a constant expression.
|
|
const c4 = finalField;
|
|
// ^^^^^^^^^^
|
|
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
|
|
// [cfe] Constant evaluation error:
|
|
// [cfe] Not a constant expression.
|
|
const c5 = constField;
|
|
const c6 = method();
|
|
// ^^^^^^^^
|
|
// [analyzer] COMPILE_TIME_ERROR.CONST_EVAL_METHOD_INVOCATION
|
|
// [cfe] Method invocation is not a constant expression.
|
|
const c7 = new Class();
|
|
// ^^^^^^^^^^^
|
|
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
|
|
// [cfe] New expression is not a constant expression.
|
|
// ^
|
|
// [cfe] New expression is not a constant expression.
|
|
const c8 = const Class();
|
|
}
|
|
|
|
var field = 0;
|
|
|
|
final finalField = 0;
|
|
|
|
const constField = 0;
|
|
|
|
method() => 0;
|
|
|
|
class Class {
|
|
const Class();
|
|
}
|