| // Copyright (c) 2012, 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. |
| |
| // @dart = 2.9 |
| |
| import "package:expect/expect.dart"; |
| |
| class A { |
| int foo; |
| A(this.foo); |
| |
| raw$foo() => foo; |
| this$foo() => this.foo; |
| } |
| |
| class B extends A { |
| int foo; |
| B.b1(x, this.foo) : super(x); |
| B.b2(x, y) |
| : this.foo = y, |
| super(x); |
| B.b3(x, y) |
| : this.foo = y, |
| super(x); |
| |
| super$foo() => super.foo; |
| sum() => foo + super.foo; |
| } |
| |
| test(b) { |
| Expect.equals(10, b.foo); |
| Expect.equals(10, b.raw$foo()); |
| Expect.equals(10, b.this$foo()); |
| Expect.equals(100, b.super$foo()); |
| Expect.equals(110, b.sum()); |
| } |
| |
| main() { |
| test(new B.b1(100, 10)); |
| test(new B.b2(100, 10)); |
| test(new B.b3(100, 10)); |
| } |