7130dd4d3d
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>
25 lines
795 B
Dart
25 lines
795 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.
|
|
|
|
// Test that setters cannot have defined, non-void return types.
|
|
// Note: The language specification specifies the absence of a type means
|
|
// it is dynamic, however you cannot specify dynamic.
|
|
|
|
class A {
|
|
set foo(x) {}
|
|
void set bar(x) {}
|
|
dynamic set baz(x) {}
|
|
//^^^^^^^
|
|
// [analyzer] COMPILE_TIME_ERROR.NON_VOID_RETURN_FOR_SETTER
|
|
// [cfe] The return type of the setter must be 'void' or absent.
|
|
bool set bob(x) {}
|
|
//^^^^
|
|
// [analyzer] COMPILE_TIME_ERROR.NON_VOID_RETURN_FOR_SETTER
|
|
// [cfe] The return type of the setter must be 'void' or absent.
|
|
}
|
|
|
|
main() {
|
|
new A();
|
|
}
|