blob: 1f4852152965ff6f69acba889009c23e039c63b8 [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 Let k be a generative constructor.
* Each final instance variable f declared in the immediately enclosing class
* must have an initializer in k's initializer list unless it has already been
* initialized by one of the following means:
* - Initialization at the declaration of f.
* - Initialization by means of an initializing formal of k.
* or a static warning occurs.
* @description Checks that no static warning occurs when all final variables
* are initialized either at the declaration, via constructor's initializing
* formal, or via an intializer in constructor's intializer list.
* @static-clean
* @author vasya
*/
class C {
C(this.val2) : val3 = null {}
final val1 = null;
final val2;
final val3;
}
main() {
new C("Initialization by means of an initializing formal of k");
}