blob: 7564e203ce2f59c2a9f244ea3bd6a4c4fab832a5 [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 final variable is a variable whose binding is fixed upon
/// initialization; a final variable v will always refer to the same object
/// after v has been initialized. The declaration of a final variable must
/// include the modifier final.
/// It is a static warning if a final instance variable that has been
/// initialized at its point of declaration is also initialized in a
/// constructor.
/// It is a compile-time error if a local variable v is final and v is not
/// initialized at its point of declaration.
/// @description Checks that it is a compile error to initialize final instance
/// variable both in initializing formal and initializer list
/// (Classes/Constructors/Generative Constructors)
/// @author rodionov
class C {
final v;
C(this.v) : v = 1 {}
// ^
// [analyzer] unspecified
// [cfe] unspecified
main() {
new C(1);