blob: 5b1374246398d68732f51a64ec3540902fc67d9c [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.
/// @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");
}