| // 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. |
| // Dart test for testing super setters and getters. |
| |
| // @dart = 2.9 |
| |
| import "package:expect/expect.dart"; |
| |
| class Base { |
| Base() {} |
| String value_; |
| |
| String get value { return value_; } |
| String //# 01: compile-time error |
| set value(String newValue) { |
| value_ = 'Base:$newValue'; |
| } |
| } |
| |
| |
| class Derived extends Base { |
| Derived() : super() {} |
| |
| String //# 02: compile-time error |
| set value(String newValue) { |
| super.value = 'Derived:$newValue'; |
| } |
| String get value { return super.value; } |
| } |
| |
| |
| class SuperSetterTest { |
| static void testMain() { |
| final b = new Derived(); |
| b.value = "foo"; |
| Expect.equals("Base:Derived:foo", b.value); |
| } |
| } |
| |
| main() { |
| SuperSetterTest.testMain(); |
| } |