blob: 78fe0c5a81d995377c4d681a7221b0797b569059 [file]
// Copyright (c) 2026, 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.
// A compile-time error occurs if an instance variable declaration has an
// initializing expression, and it is also initialized by an element in the
// initializer list of the body part, or by an initializing formal parameter
// of the primary constructor.
// SharedOptions=--enable-experiment=primary-constructors
class C1(this.x) {
// ^
// [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZED_IN_DECLARATION_AND_PARAMETER_OF_PRIMARY_CONSTRUCTOR
// [cfe] Fields can't be initialized in both the primary constructor parameter list and at their declaration.
int x = 1;
}
class C2() {
int x = 1;
this : x = 2;
// ^
// [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZED_IN_DECLARATION_AND_INITIALIZER_OF_PRIMARY_CONSTRUCTOR
// [cfe] Fields can't be initialized in both the primary constructor and at their declaration.
}
class C3(this.x) {
int x;
this : x = 2;
// ^
// [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZED_IN_PARAMETER_AND_INITIALIZER
// [cfe] 'x' was already initialized by this constructor.
}