| // 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)
|
| * @compile-error
|
| * @author rodionov
|
| */
|
|
|
| class C {
|
| final v;
|
|
|
| C(this.v) : v = 1 {}
|
| }
|
|
|
| main() {
|
| new C(1);
|
| }
|