d53c3e01ed
As a preparation for evaluating instance field initializers in classes with primary constructors, where you can reference formal parameters of these primary constructors. Change-Id: I8c1276ec9ae7b2f5950a1abefb7cb8492a736dfd Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/483843 Reviewed-by: Paul Berry <paulberry@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
24 lines
729 B
Dart
24 lines
729 B
Dart
// Copyright (c) 2016, 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.
|
|
|
|
// Dart2js regression test. Error in initializer might be report with the wrong
|
|
// current element.
|
|
|
|
class C {
|
|
const C();
|
|
// [error column 3, length 5]
|
|
// [analyzer] COMPILE_TIME_ERROR.CONST_CONSTRUCTOR_WITH_FIELD_INITIALIZED_BY_NON_CONST
|
|
|
|
final x = 1;
|
|
final y = x;
|
|
// ^
|
|
// [analyzer] COMPILE_TIME_ERROR.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER
|
|
// [analyzer] COMPILE_TIME_ERROR.INVALID_CONSTANT
|
|
// [cfe] Can't access 'this' in a field initializer to read 'x'.
|
|
}
|
|
|
|
main() {
|
|
const C().y;
|
|
}
|