Files
sdk/tests/language_2/super/setter_test.dart
T
Johnni Winther 7130dd4d3d [cfe] Report error on non-void setter return type
This CL also adds fileUri/charOffset to all TypeBuilder's and renames
Void/FutureOr/Never/Dynamic/BuiltInTypeBuilder to *TypeDeclarationBuilder
so match their relation to TypeBuilder/TypeDeclarationBuilder.

Closes #42962

Change-Id: Iee5102134574d24f748103282a37bb9a85a0ac2d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/161165
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-09-02 12:43:12 +00:00

42 lines
903 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.
// Dart test for testing super setters and getters.
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();
}