// 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); | |
} |