Files
sdk/tests/language/mixin/super_constructor_named_test.dart
T
Robert Nystrom d839eb7bf9 Migrate language_2/mixin to NNBD.
Change-Id: I4501e9a9d2d958cecf21460b628d2ac50a5135bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149492
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-06-03 00:05:18 +00:00

40 lines
848 B
Dart

// Copyright (c) 2013, 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 Base {
int? i, j;
Base.ctor(int? this.i
, {int? this.j: 10} // //# 01: ok
) {
if (j == null) {
j = 10;
}
}
}
abstract class M {
int? get i;
int? get j;
int k = 42;
foo() => i! + j!;
}
class C extends Base with M {
int l = 131;
C.foo() : super.ctor(1, j: 13); //# 01: continued
C.bar() : super.ctor(1);
}
main() {
C c1 = new C.foo(); // //# 01: continued
C c2 = new C.bar();
Expect.equals(1, c2.i);
Expect.equals(10, c2.j);
Expect.equals(11, c2.foo());
Expect.equals(42, c2.k);
Expect.equals(131, c2.l);
}