blob: be67cac6e77242da53d60c3f76162de4dd6906d4 [file]
// 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 compile-time error occurs if a final static or library variable
/// has no initializing expression, unless the variable declaration has the
/// modifier `late` or the modifier `external`.
///
/// @note There is no this statement in the specification, it is defined by the
/// grammar.
///
/// @description Checks that it is a compile error if a `final static` variable
/// is not initialized in its declaration.
/// @author rodionov
/// @issue #27510
class C {
static final v1;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final int v2;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final int? v3;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Null v4;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final void v5;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Object? v6;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final dynamic v7;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Never v8;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
}
mixin M {
static final v1;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final int v2;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final int? v3;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Null v4;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final void v5;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Object? v6;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final dynamic v7;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Never v8;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
}
enum E {
e0;
static final v1;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final int v2;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final int? v3;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Null v4;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final void v5;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Object? v6;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final dynamic v7;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Never v8;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
}
class A {}
extension Ext on A {
static final v1;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final int v2;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final int? v3;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Null v4;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final void v5;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Object? v6;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final dynamic v7;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Never v8;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
}
extension type ET(int _) {
static final v1;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final int v2;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final int? v3;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Null v4;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final void v5;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Object? v6;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final dynamic v7;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
static final Never v8;
// ^^
// [analyzer] unspecified
// [cfe] unspecified
}
main() {
print(C);
print(M);
print(E);
print(A);
print(ET);
}