643fdb9dc8
The feature is enabled with the flag --initializing-formal-access. BUG=26655, 26656 R=regis@google.com Review URL: https://codereview.chromium.org/2051213005 .
27 lines
717 B
Dart
27 lines
717 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.
|
|
//
|
|
// DartOptions=--initializing-formal-access
|
|
// VMOptions=--initializing-formal-access
|
|
|
|
import "package:expect/expect.dart";
|
|
|
|
// Duplicate definition checks for `this.x` will check the scopes associated
|
|
// with the constructor, not all enclosing scopes; so this is not a conflict.
|
|
var x;
|
|
|
|
class A {
|
|
var x;
|
|
A(this.x) {
|
|
// In the body the field is in scope, not the initializing formal;
|
|
// so we can use the setter.
|
|
x += 1;
|
|
}
|
|
}
|
|
|
|
main() {
|
|
A a = new A(2);
|
|
Expect.equals(a.x, 3);
|
|
}
|