| Index: tests/language_strong/field_override6_test.dart
|
| diff --git a/tests/language_strong/field_override6_test.dart b/tests/language_strong/field_override6_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..937000d83c246dec753be42b657c2b908a990881
|
| --- /dev/null
|
| +++ b/tests/language_strong/field_override6_test.dart
|
| @@ -0,0 +1,126 @@
|
| +// Copyright (c) 2017, 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";
|
| +import "package:meta/meta.dart";
|
| +
|
| +abstract class A {
|
| + get x1;
|
| + get x3;
|
| + @virtual
|
| + var x5 = 1;
|
| + @virtual
|
| + var x6 = 1;
|
| + @virtual
|
| + var x8 = 1;
|
| + @virtual
|
| + var x9 = 1;
|
| +
|
| + @virtual
|
| + var xB = 1;
|
| + @virtual
|
| + var xC = 1;
|
| + @virtual
|
| + var xE = 1;
|
| + @virtual
|
| + var xF = 1;
|
| +}
|
| +
|
| +abstract class B extends A {
|
| + @virtual
|
| + var x1 = 2;
|
| + @virtual
|
| + var x3 = 2;
|
| +
|
| + get x5;
|
| + get x6;
|
| +
|
| + set x8(v);
|
| + set x9(v);
|
| +
|
| + get xB;
|
| + set xB(v) {
|
| + super.xB = v;
|
| + }
|
| +
|
| + get xC;
|
| + set xC(v) {
|
| + super.xC = v;
|
| + }
|
| +
|
| + get xE => super.xE;
|
| + set xE(v);
|
| + get xF => super.xF;
|
| + set xF(v);
|
| +}
|
| +
|
| +class C extends B {
|
| + var x1 = 3;
|
| + get x1_ => 3;
|
| +
|
| + get x2 => super.x1;
|
| + get x2_ => 2;
|
| +
|
| + get x3 => 3;
|
| + get x3_ => 3;
|
| +
|
| + get x4 => super.x3;
|
| + get x4_ => 2;
|
| +
|
| + get x5;
|
| + get x5_ => 1;
|
| +
|
| + get x6;
|
| + get x6_ => 1;
|
| +
|
| + get x7 => super.x6;
|
| + get x7_ => 1;
|
| +
|
| + get x8;
|
| + get x8_ => 1;
|
| +
|
| + get x9;
|
| + get x9_ => 1;
|
| +
|
| + get xA => super.x9;
|
| + get xA_ => 1;
|
| +
|
| + get xB;
|
| + get xB_ => 1;
|
| +
|
| + get xC;
|
| + get xC_ => 1;
|
| +
|
| + get xD => super.xC;
|
| + get xD_ => 1;
|
| +
|
| + get xE;
|
| + get xE_ => 1;
|
| +
|
| + get xF;
|
| + get xF_ => 1;
|
| +
|
| + get xG => super.xF;
|
| + get xG_ => 1;
|
| +}
|
| +
|
| +main() {
|
| + var c = new C();
|
| + Expect.equals(c.x1_, c.x1);
|
| + Expect.equals(c.x2_, c.x2);
|
| + Expect.equals(c.x3_, c.x3);
|
| + Expect.equals(c.x4_, c.x4);
|
| + Expect.equals(c.x5_, c.x5);
|
| + Expect.equals(c.x6_, c.x6);
|
| + Expect.equals(c.x7_, c.x7);
|
| + Expect.equals(c.x8_, c.x8);
|
| + Expect.equals(c.x9_, c.x9);
|
| + Expect.equals(c.xA_, c.xA);
|
| + Expect.equals(c.xB_, c.xB);
|
| + Expect.equals(c.xC_, c.xC);
|
| + Expect.equals(c.xD_, c.xD);
|
| + Expect.equals(c.xE_, c.xE);
|
| + Expect.equals(c.xF_, c.xF);
|
| + Expect.equals(c.xG_, c.xG);
|
| +}
|
|
|