dart-sdk/tests/language/instance/field_initializer_test.dart
Robert Nystrom d3ef98ea3b Migrate language_2/instance to NNBD.
Change-Id: I058f81e4af6e962b2620810dbfe75c7ac86b9d11
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148948
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-05-26 18:35:20 +00:00

35 lines
818 B
Dart

// 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.
import "package:expect/expect.dart";
class A {
int x = 1;
A() {}
A.reassign() : x = 2 {}
A.reassign2(this.x) {}
}
class B extends A {
B() : super() {}
B.reassign() : super.reassign() {}
B.reassign2() : super.reassign2(3) {}
}
class InstanceFieldInitializerTest {
static testMain() {
Expect.equals(1, new A().x);
Expect.equals(2, new A.reassign().x);
Expect.equals(3, new A.reassign2(3).x);
Expect.equals(1, new B().x);
Expect.equals(2, new B.reassign().x);
Expect.equals(3, new B.reassign2().x);
}
}
main() {
InstanceFieldInitializerTest.testMain();
}